IF.EAGER

适用于:计算列计算表Measure视觉计算

检查条件,and 在 TRUE时返回一个 value,否则返回 secondvalue。 它使用 预先 执行计划,无论条件表达式如何,它始终执行分支表达式。

语法

IF.EAGER(<logical_test>, <value_if_true>[, <value_if_false>])

参数

术语 定义
logical_test 可计算为 TRUEorFALSE的任何 valueor 表达式。
value_if_true 逻辑测试 if 返回的 valueTRUE
value_if_false (可选)逻辑测试 if 返回的 valueFALSE。 If 省略,将返回 BLANK

返回 value

value_if_truevalue_if_false、orBLANK

言论

  • IF.EAGER 函数可以返回变体数据类型,if value_if_true and value_if_false 数据类型不同,但函数尝试返回单个数据类型,if 两个 value_if_trueandvalue_if_false 都是数值数据类型。 在后一种情况下,IF.EAGER 函数将隐式 convert 数据类型以适应这两种 values。

    例如,公式 IF.EAGER(<condition>, TRUE(), 0) 返回 TRUEor 0,但公式 IF.EAGER(<condition>, 1.0, 0) 仅返回十进制 valueseven,尽管 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 示例

IF 函数逻辑函数