上一頁 下一頁

BirtComp 類別

BirtComp 類別提供函數來比較值,例如,測試該值是否等於、大於或小於另一值。所有函數都會傳回布林值。這個類別是靜態的。 應用程式無法建立這個類別的實例。

BirtComp.anyOf

這個函數會將一或多個值與欄位的內容進行比較。

語法

boolean BirtComp.anyOf( source, target1, ..., targetN )

參數

source

包含要進行比較之內容的欄位。

target

要在 source 中尋找的一或多個值。

傳回

Boolean。如果 target 值符合 source 中的值,則為 true;否則就傳回 false。

範例

下列範例測試 Canada、Mexico 或 USA 是否為 Country 欄位中的值。只要欄位中有這些國家中的任何一個,函數就會傳回 true。

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

下列範例測試 Jan 15, 2009 或 Jan 31, 2009 是否為 payDate 欄位中的值:

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

下列範例測試兩個特定的產品型號是否為 productCode 欄位中的值。只要欄位中出現其中一值,就會顯示 Obsolete 字串;否則,就會顯示 productCode 出現在欄位中的值。

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

BirtComp.between

這個函數測試某值是否落在兩個指定值之間。

語法

boolean BirtComp.between( source, target1, target2 )

參數

source

要測試的值。

target1

要比較之值範圍中的第一個值。

target2

要比較之值範圍中的第二個值。

傳回

如果 source 值落在 target1 與 target 值之間,則為 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 月(12/01/08 至 12/31/08 之間),就在 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( source1, source2, ignoreCase, trim )

參數

source1

比較中使用的第一個字串值。

source2

比較中使用的第二個字串值。

ignoreCase

指定 true,則執行不區分大小寫比較。指定 false,則執行區分大小寫比較。

trim

指定 true,則會在比較兩個值之前,先移除任何的前導或尾端空白。位於字串中間的空白則不會移除。如果您希望包含前導或尾端空白的比較,請指定 false。

傳回

如果 source1 值符合 source2 值,則為 true;否則就傳回 false。

範例

下列表示式會根據不同的指定條件,來比較字串:

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

BirtComp.equalTo

這個函數測試某值是否等於另一值。

語法

boolean BirtComp.equalTo( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值等於 target 值,則為 true;否則就傳回 false。

範例

下列表示式是測試欄位值,查看它們是否等於指定的值:

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

BirtComp.greaterOrEqual

這個函數測試某值是否大於或等於另一值。

語法

boolean BirtComp.greaterOrEqual( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值大於或等於 target 值,則為 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( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值大於 target 值,則為 true;否則就傳回 false。

範例

下列表示式是測試欄位值,查看它們是否大於指定的值:

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

BirtComp.lessOrEqual

這個函數測試某值是否小於或等於另一值。

語法

boolean BirtComp.lessOrEqual( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值小於或等於 target 值,則為 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( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值小於 target 值,則為 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( source, target )

參數

source

要評估的字串值。

target

要符合的字串型樣。您必須用雙引號 (" ") 括住型樣。當您輸入要符合的字元時,請使用正確的大小寫。您可以在型樣中使用下列的特殊字元:

*
*

如果希望符合文字百分比 (%) 或底線 (_) 字元,請在這些字元前面加上兩個反斜線 (\\) 字元。例如,如果希望符合 S_10,請使用下列型樣:

S\\_10

如果希望符合 50%,請使用下列型樣:

50\\%

傳回

如果 source 值符合 target 值,則為 true;否則就傳回 false。

範例

在下列範例中,如果 productCode 欄位含有開頭為 S18 的值,就傳回 true:

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

在下列範例中,如果 productName 值含有 Ford 子字串,且該子字串前有單一字元,則會傳回 true:

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

BirtComp.match

這個函數測試字串值是否符合型樣。型樣必須使用 JavaScript 正規表示式語法。

語法

boolean BirtComp.match( source, target )

參數

source

要評估的字串值。

target

要符合的字串型樣。在 JavaScript 正規表示式語法中,您指定的型樣需括在一對正斜線 (/) 字元中。您可以使用 JavaScript 正規表示式支援的任何特殊字元,諸如以下:

*
*
*
*
*

如果希望符合字面上的特殊字元,請在特殊字元前面加上一個反斜線 (\) 字元。例如,如果希望符合 S*10,請使用下列型樣:

/S\*10/

傳回

如果 source 值符合 target 值,則為 true;否則就傳回 false。

範例

在下列範例中,如果 productCode 欄位含有開頭為 S18 的值,就傳回 true:

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

在下列範例中,如果 productName 值含有 Ford 子字串,則會傳回 true:

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

BirtComp.notBetween

這個函數測試某值是否不是落在兩個指定值之間。

語法

boolean BirtComp.notBetween( source, target1, target2 )

參數

source

要測試的值。

target1

要比較之值範圍中的第一個值。

target2

要比較之值範圍中的第二個值。

傳回

如果 source 值落在 target1 與 target 值之間,則為 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 月(不是在 12/01/08 至 12/31/08 之間),就在 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( source, target )

參數

source

比較中使用的第一個值。

target

比較中使用的第二個值。

傳回

如果 source 值不等於 target 值,則為 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( source, target )

參數

source

要評估的字串值。

target

要比較的字串型樣。您必須用雙引號 (" ") 括住型樣。當您輸入要符合的字元時,請使用正確的大小寫。您可以在型樣中使用下列的特殊字元:

*
*

如果希望符合文字百分比 (%) 或底線 (_) 字元,請在這些字元前面加上兩個反斜線 (\\) 字元。例如,如果希望符合 S_10,請使用下列型樣:

S\\_10

如果希望符合 50%,請使用下列型樣:

50\\%

傳回

如果 source 值不符合 target 值,則為 true;否則就傳回 false。

範例

在下列範例中,如果 productCode 欄位含有開頭為 S18 的值,就傳回 false:

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

在下列範例中,如果 productName 值含有 Ford 子字串,且該子字串前有單一字元,則會傳回 false:

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

© Copyright Actuate Corporation 2013