上一页 下一页

BirtComp

BirtComp 类提供了一些函数来比较值,例如,用来测试一个值是等于、大于还是小于另一个值。所有函数都将返回布尔值。此类是静态类。应用程序无法创建此类的实例。

BirtComp.anyOf

此函数会将一个或多个值与字段的内容进行比较。

语法

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

参数

source

具有要用于比较的内容的字段。

target

要在源中查找的一个或多个值。

返回

布尔值。如果目标值与源中的值相匹配,那么将返回 true;否则将返回 false。

示例

以下示例将测试“加拿大”(Canada)、“墨西哥”(Mexico)或“美国”(USA) 是否是 Country 字段中的值。如果此字段中包含上述任何一个国家或地区,那么此函数将返回 true。

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

以下示例将测试“2009 年 1 月 15 日”(2009-01-15) 或“2009 年 1 月 31 日”(2009-01-31) 是否是 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

要与之比较的值范围内的第二个值。

返回

如果源值在 target1 与目标值之间,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值等于目标值,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值大于或等于目标值,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值大于目标值,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值小于或等于目标值,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值小于目标值,那么将返回 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\\%

返回

如果源值与目标值相匹配,那么将返回 true;否则将返回 false。

示例

对于 productCode 字段中以 S18 开头的值,以下示例将返回 true:

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

对于包含子串 Ford、并且在此子串前面添加了单个字符的 productName 值,以下示例将返回 true:

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

BirtComp.match

此函数用于测试某个字符串值是否与某个模式相匹配。该模式必须使用 JavaScript 正则表达式语法。

语法

boolean BirtComp.match( source, target )

参数

source

要对其求值的字符串值。

target

要匹配的字符串模式。在 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

此函数用于测试某个值是否不介于所指定的两个值之间。

语法

boolean BirtComp.notBetween( source, target1, target2 )

参数

source

要测试的值。

target1

要与之比较的值范围内的第一个值。

target2

要与之比较的值范围内的第二个值。

返回

如果源值不在 target1 与目标值之间,那么将返回 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

要在比较中使用的第二个值。

返回

如果源值不等于目标值,那么将返回 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\\%

返回

如果源值与目标值不匹配,那么将返回 true;否则将返回 false。

示例

对于 productCode 字段中以 S18 开头的值,以下示例将返回 false:

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

对于包含子串 Ford、并且在此子串前面添加了单个字符的 productName 值,以下示例将返回 false:

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

© Copyright Actuate Corporation 2013