参考信息:布尔值表达式
布尔表达式是计算结果为“真”或“假”的表达式。您可以使用 Prism 表达式语言在中编写布尔表达式:
- 筛选表达式。配置数据集“筛选”阶段时,请使用高级模式。
- 自定义示例规则表达式为数据集自定义示例配置规则时,请使用“高级”模式。
- Prism 计算字段示例:在 CASE 函数中使用布尔值表达式。
布尔值表达式的典型格式如下:
field_namecomparison_operatorcomparison_value
比较值的字段类型必须与表达式中的字段相同。
您还可以使用逻辑运算符(例如“与”和“或”)或算术运算符(例如“+”或“/”)来定义更复杂的表达式。
当字段名称包含空格或特殊字符时,请将字段名称用方括号括起来:
[ticker symbol]
。如果比较值用于“文本”字段类型,请用双引号 ("") 将值括起来。示例:
[Zip Code] = "94111-5224"
表达式中的备注
您可以在 Prism 表达式内的任何位置插入单行或多行备注。Workday 将介于以下字符之间的所有文本都视为备注:/* */
如果您将这些字符和备注用双引号括起来,则 Workday 不会将数据值视为备注。
文本字段示例
[movie title] LIKE ("* and the*") [contingent workers] IN ("Larry", "Curly", "Moe") schedule NOT IN ("Saturday", "Sunday") status IS NOT NULL
数值和币种字段示例
TO_STRING([zip code]) LIKE("94*") [sale price] < 50.00 age >= 21 ((EXTRACT_AMOUNT([Total Sales]) > 1000) AND (EXTRACT_CODE_TEXT([Total Sales]) == "USD"))
日期字段示例
[purchase date] BETWEEN 2019-06-01T00:00:00.000Z AND 2019-07-31T00:00:00.000Z [graduation] >= 1990-01-01
实例和多实例字段示例
INSTANCE_IS_SUPERSET_OF([Cost Center - Manager], [Cost Center]) [Cost Center] IS EMPTY [Journal Lines] IS NOT NULL [Cost Center 1] != [Cost Center 2] NOT INSTANCE_EQUALS([Cost Center 1], [Cost Center 2]) INSTANCE_CONTAINS_ANY([Regions], "070b0d082eee44e1928c808cc739b35f", "f4c49debb3dc483baa8707dfe683503c")
日期类型字段的布尔值表达式
日期类型字段中的布尔表达式必须采用以下任一格式:
yyyy-MM-ddTHH:mm:ss:SSSZyyyy-MM-dd
请勿将日期字段的比较值用引号引起来,或使用任何其他标点符号。
指定日期范围时,请始终先写入较早的日期。
如果布尔表达式是完整格式的缩短版本,系统将为未包含的任何值指定零 (0)。示例:表达式
BETWEEN 2019-06-01 AND 2019-07-31
等价于以下表达式:BETWEEN 2019-06-01T00:00:00.000Z AND 2019-07-31T00:00:00.000Z
以上表达式不包含 2019 年 7 月 31 日之后的任何值。要包括 2019 年 7 月 31 日的值,请使用
BETWEEN 2019-06-01 AND 2019-08-01
。币种类型字段的布尔值表达式
布尔值表达式中的币种类型字段必须采用 Workday 可识别的格式。如果币种字段包含任何不符合这些要求的值,Workday 会将该值视为空。
您可以使用多个币种代码。示例:
((EXTRACT_CODE_TEXT([Annual Salary]) == "EUR") AND (EXTRACT_AMOUNT([Annual Salary]) >= 90000)) OR ((EXTRACT_CODE_TEXT([Annual Salary]) == "USD") AND (EXTRACT_AMOUNT([Annual Salary]) >= 100000))