IF.EAGER
检查条件,如果为 TRUE,则返回一个值,否则返回第二个值。 它使用 eager 执行计划,该计划将始终执行分支表达式,而不考虑条件表达式。
语法
IF.EAGER(<logical_test>, <value_if_true>[, <value_if_false>])
parameters
术语 | 定义 |
---|---|
logical_test | 计算结果可以是 TRUE 或 FALSE 的任何值或表达式。 |
value_if_true | 逻辑测试为 TRUE 时返回的值。 |
value_if_false | (可选)逻辑测试为 FALSE 时返回的值。 如果省略,则返回 BLANK。 |
返回值
为 value_if_truevalue_if_false 或为空 。
备注
如果 value_if_true 和 value_if_false 的数据类型不同,则 IF.EAGER 函数可返回可变数据类型;但如果 value_if_true 和 value_if_false 都是数值数据类型,则此函数会尝试返回单个数据类型 。 在后一种情况下,IF.EAGER 函数会隐式转换数据类型,以容纳这两个值。
例如,公式
IF.EAGER(<condition>, TRUE(), 0)
返回 TRUE 或 0,而公式IF.EAGER(<condition>, 1.0, 0)
则只返回十进制值,即使 value_if_false 是整数数据类型,也不例外。 若要详细了解隐式数据类型转换,请参阅数据类型。IF.EAGER 具有与 IF 函数相同的函数行为,但由于执行计划的不同,二者性能可能会有所不同。
IF.EAGER(<logical_test>, <value_if_true>, <value_if_false>)
与以下 DAX 表达式具有相同的执行计划:VAR _value_if_true = <value_if_true> VAR _value_if_false = <value_if_false> RETURN IF (<logical_test>, _value_if_true, _value_if_false)
注意:计算这两个分支表达式时不会考虑条件表达式。
示例
请参阅 IF 示例。