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>RETURNIF (<logical_test>, _value_if_true, _value_if_false)

    注意:计算这两个分支表达式时不会考虑条件表达式。

示例

请参阅 IF 示例

另请参阅

IF 函数
逻辑函数

results matching ""

    No results matching ""