活动
如果。渴望
检查条件,并在 TRUE
时返回一个值,否则返回第二个值。 它使用 预先 执行计划,无论条件表达式如何,它始终执行分支表达式。
IF.EAGER(<logical_test>, <value_if_true>[, <value_if_false>])
术语 | 定义 |
---|---|
logical_test |
可计算为 TRUE 或 FALSE 的任何值或表达式。 |
value_if_true |
如果逻辑测试 TRUE ,则返回的值。 |
value_if_false |
(可选)如果逻辑测试 FALSE ,则返回的值。 如果省略,则返回 BLANK 。 |
value_if_true
、value_if_false
或 BLANK
。
IF。如果value_if_true和value_if_false是不同的数据类型,则 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
是整数数据类型。 若要详细了解隐式数据类型转换,请参阅 数据类型。如果。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 示例。