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 示例

IF 函数
逻辑函数