前へ 次へ

クラス BirtComp

BirtComp クラスには、値を比較する (例えば、ある値が他の値と等しい、他の値より大きい、または他の値より小さいなどをテストする) ための関数があります。すべての関数は、ブール値を返します。このクラスは静的です。アプリケーションでは、このクラスのインスタンスは作成できません。

BirtComp.anyOf

この関数は、1 つ以上の値をフィールドの内容と比較します。

構文

boolean BirtComp.anyOf( ソース, ターゲット 1, ..., ターゲット N )

パラメーター

ソース

比較に使用する内容の含まれているフィールド。

ターゲット

ソース内で検索する値。

戻り値

Boolean 型。ターゲットの値がソース内の値と一致する場合は TRUE、一致しない場合は FALSE を戻します。

以下の例は、Country フィールドの値がカナダ、メキシコ、または米国であるかをテストします。フィールドの値がいずれかの国である場合、関数は TRUE を戻します。

BirtComp.anyOf(dataSetRow["Country"], "Canada", "Mexico", "USA")

以下の例は、payDate フィールドの値が 2009 年 1 月 15 日または 2009 年 1 月 31 日であるかをテストします。

BirtComp.anyOf(dataSetRow["payDate"], "2009-01-15", "2009-01-31")

以下の例は、2 つの製品コードが productCode フィールド内の値であるかをテストします。いずれかの値がフィールドにある場合、ストリング Obsolete が表示されます。それ以外の場合、productCode の値がフィールドに表示されるとおりに表示されます。

if (BirtComp.anyOf(dataSetRow["PRODUCTCODE"], "S18_1749", "S18_2248" )){
  displayString = "Obsolete"
}else{
  dataSetRow["PRODUCTCODE"]
}

BirtComp.between

この関数は、ある値が指定した 2 つの値の間にあるかをテストします。

構文

boolean BirtComp.between( ソース, ターゲット 1, ターゲット 2 )

パラメーター

ソース

テストする値。

ターゲット 1

比較対象の値の範囲にある最初の値。

ターゲット 2

比較対象の値の範囲にある 2 番目の値。

戻り値

ソースの値がターゲット 1 の値とターゲット 2 の値の間にある場合は TRUE、間にない場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値の範囲内にあるかをテストします。

BirtComp.between( row["SalesTotal"], 10000, 20000 )
BirtComp.between( row["CustomerName"], "A", "M" )
BirtComp.between( row["OrderDate"], "2009-01-01", "2009-01-31" )

以下の例は、出荷日を計算します。OrderDate の値が 2008 年 12 月 (2008 年 12 月 1 日から 2008 年 12 月 31 日まで) の場合は、OrderDate の値に 5 日加算します。OrderDate の値が 12 月以外の月の場合は、OrderDate の値に 3 日加算します。

if (BirtComp.between(row["OrderDate"], "2008-12-01", "2008-12-31" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }

BirtComp.compareString

この関数は、文字列値が特定の条件において別の文字列値と一致するかをテストします。

構文

boolean BirtComp.compareString( ソース 1, ソース 2, ignoreCase, トリム )

パラメーター

ソース 1

比較で使用する最初の文字列値。

ソース 2

比較で使用する 2 番目の文字列値。

ignoreCase

大/小文字を区別しない比較を実行する場合は TRUE を指定します。大/小文字を区別する比較を実行する場合は FALSE を指定します。

トリム

2 つの値を比較する前に先頭または末尾ブランクを削除する場合は TRUE を指定します。文字列の中間にあるブランクは削除されません。先頭または末尾ブランクを比較に含める場合は FALSE を指定します。

戻り値

ソース 1 の値がソース 2 の値と一致している場合は TRUE、一致しない場合は FALSE を戻します。

以下の式は、異なる条件を指定して文字列を比較しています。

BirtComp.compareString( "Jackson", "Jackson", false, false ) // returns true
BirtComp.compareString( "Jackson", "jackson", false, true ) // returns false
BirtComp.compareString( "Jackson", "jackson", true, false ) // returns true
BirtComp.compareString( "Jackson ", "jackson", true, false ) // returns false
BirtComp.compareString( "Jackson ", "jackson", true, true ) // returns true

BirtComp.equalTo

この関数は、ある値が他の値と等しいかをテストします。

構文

boolean BirtComp.equalTo( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値と一致している場合は TRUE、一致しない場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値と等しいかをテストします。

BirtComp.equalTo( row["SalesTotal"], 10000 )
BirtComp.equalTo( row["Country"], "France" )
BirtComp.equalTo( row["OrderDate"], "2009-02-15" )

BirtComp.greaterOrEqual

この関数は、ある値が他の値より大または等しいかをテストします。

構文

boolean BirtComp.greaterOrEqual( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値より大または等しい場合は TRUE、小さい場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値より大または等しいかをテストします。

BirtComp.greaterOrEqual( row["SalesTotal"], 10000 )
BirtComp.greaterOrEqual( row["ProductCode"], "S50_4000" )
BirtComp.greaterOrEqual( row["OrderDate"], "2009-02-15" )

BirtComp.greaterThan

この関数は、ある値が他の値より大きいかをテストします。

構文

boolean BirtComp.greaterThan( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値より大きい場合は TRUE、大きくない場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値より大きいかをテストします。

BirtComp.greaterThan( row["SalesTotal"], 10000 )
BirtComp.greaterThan( row["CustomerName"], "M" )
BirtComp.greaterThan( row["OrderDate"], "2009-02-15" )

BirtComp.lessOrEqual

この関数は、ある値が他の値より小または等しいかをテストします。

構文

boolean BirtComp.lessOrEqual( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値より小または等しい場合は TRUE、大きい場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値より小または等しいかをテストします。

BirtComp.lessOrEqual( row["SalesTotal"], 10000 )
BirtComp.lessOrEqual( row["ProductCode"], "S18_4000" )
BirtComp.lessOrEqual( row["OrderDate"], "2009-02-15" )

BirtComp.lessThan

この関数は、ある値が他の値より小さいかをテストします。

構文

boolean BirtComp.lessThan( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値より小さい場合は TRUE、小さくない場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値より小さいかをテストします。

BirtComp.lessThan( row["SalesTotal"], 10000 )
BirtComp.lessThan( row["CustomerName"], "M" )
BirtComp.lessThan( row["OrderDate"], "2009-02-15" )

BirtComp.like

この関数は、文字列値がパターンと一致するかをテストします。パターンには、SQL のパターン・マッチング構文を使用する必要があります。

構文

boolean BirtComp.like( ソース, ターゲット )

パラメーター

ソース

評価する文字列値。

ターゲット

マッチング対象の文字列パターン。パターンは二重引用符 ("") で囲む必要があります。マッチング対象の文字列を入力するときには、大/小文字を正しく使用します。パターンには以下の特殊文字を使用できます。

*
*

リテラルのパーセント (%) または下線 (_) 文字と一致させるには、それぞれの文字の前に 2 つの円記号 (¥¥) を付けます。例えば、「S_10」と一致させるには以下のパターンを使用します。

S¥¥_10

「50%」と一致させるには、以下のパターンを使用します。

50¥¥%

戻り値

ソースの値がターゲットの値と一致している場合は TRUE、一致しない場合は FALSE を戻します。

以下の例は、productCode フィールド内の S18 で始まる値に TRUE を戻します。

BirtComp.like( row["productCode"], "S18%" )

以下の例は、単一文字に続きサブストリング「Ford」を含む productName の値に TRUE を戻します。

BirtComp.like( row["productName"], "_Ford%" )

BirtComp.match

この関数は、文字列値がパターンと一致するかをテストします。パターンには、JavaScript の正規表現構文を使用する必要があります。

構文

boolean BirtComp.match( ソース, ターゲット )

パラメーター

ソース

評価する文字列値。

ターゲット

マッチング対象の文字列パターン。JavaScript の正規表現構文では、スラッシュ (/) 文字で囲んでパターンを指定します。以下のような、JavaScript の正規表現でサポートされているすべての特殊文字を使用できます。

*
*
*
*
*

特殊文字自体を一致させるには、特殊文字の前に円記号 (¥) 文字を付けます。例えば、「S*10」と一致させるには以下のパターンを使用します。

/S¥*10/

戻り値

ソースの値がターゲットの値と一致している場合は TRUE、一致しない場合は FALSE を戻します。

以下の例は、productCode フィールド内の S18 で始まる値に TRUE を戻します。

BirtComp.match( row["productCode"], /^S18/ )

以下の例は、サブストリング「Ford」を含む productName の値に TRUE を戻します。

BirtComp.match( row["productName"], /Ford/ )

BirtComp.notBetween

この関数は、ある値が指定した 2 つの値の間にないかをテストします。

構文

boolean BirtComp.notBetween( ソース, ターゲット 1, ターゲット 2 )

パラメーター

ソース

テストする値。

ターゲット 1

比較対象の値の範囲にある最初の値。

ターゲット 2

比較対象の値の範囲にある 2 番目の値。

戻り値

ソースの値がターゲット 1 の値とターゲット 2 の値の間にない場合は TRUE、間にある場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値の範囲外にあるかをテストします。

BirtComp.notBetween( row["SalesTotal"], 10000, 20000 )
BirtComp.notBetween( row["CustomerName"], "A", "M" )
BirtComp.notBetween( row["OrderDate"], "2009-01-01", "2009-01-31" )

以下の例は、出荷日を計算します。OrderDate の値が 2008 年 12 月 (2008 年 12 月 1 日から 2008 年 12 月 31 日まで) でない場合は、OrderDate の値に 3 日加算します。OrderDate の値が 12 月の場合は、OrderDate の値に 5 日加算します。

if (BirtComp.notBetween(row["OrderDate"], "2008-12-01", "2008-12-31" )){
  shipDate = BirtDateTime.addDay( row["OrderDate"], 3 )
  }
else{
  ShipDate = BirtDateTime.addDay( row["OrderDate"], 5 )
  }

BirtComp.notEqual

この関数は、ある値が他の値と等しくないかをテストします。

構文

boolean BirtComp.notEqual( ソース, ターゲット )

パラメーター

ソース

比較で使用する最初の値。

ターゲット

比較で使用する 2 番目の値。

戻り値

ソースの値がターゲットの値と等しくない場合は TRUE、等しい場合は FALSE を戻します。

以下の式は、フィールドの値が指定した値と等しくないかをテストします。

BirtComp.notEqual( row["SalesTotal"], 10000 )
BirtComp.notEqual( row["Country"], "France" )
BirtComp.notEqual( row["OrderDate"], "2009-02-15" )

BirtComp.notLike

この関数は、文字列値がパターンに一致しないかどうかをテストします。 パターンには、SQL のパターン・マッチング構文を使用する必要があります。

構文

boolean BirtComp.notLike( ソース, ターゲット )

パラメーター

ソース

評価する文字列値。

ターゲット

比較するストリング・パターン。パターンは二重引用符 ("") で囲む必要があります。マッチング対象の文字列を入力するときには、大/小文字を正しく使用します。パターンには以下の特殊文字を使用できます。

*
*

リテラルのパーセント (%) または下線 (_) 文字と一致させるには、それぞれの文字の前に 2 つの円記号 (¥¥) を付けます。例えば、「S_10」と一致させるには以下のパターンを使用します。

S¥¥_10

「50%」と一致させるには、以下のパターンを使用します。

50¥¥%

戻り値

ソースの値がターゲットの値と一致しない場合は TRUE、一致する場合は FALSE を戻します。

以下の例は、productCode フィールド内の S18 で始まる値に FALSE を戻します。

BirtComp.notLike( row["productCode"], "S18%" )

以下の例は、単一文字に続きサブストリング「Ford」を含む productName の値に FALSE を戻します。

BirtComp.notLike( row["productName"], "_Ford%" )

(c) Copyright Actuate Corporation 2013