IF.EAGER
檢查條件,並在其為 TRUE 時傳回一個值,否則傳回第二個值。 其會使用 eager 執行計劃,無論條件運算式為何,一律會執行分支運算式。
語法
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。
備註
若 value_if_true 與 value_if_false 的資料類型不同,IF.EAGER 函數可以傳回 Variant 資料類型;但若 value_if_true 與 value_if_false 都是數值資料類型,則此函數會嘗試傳回單精確度資料類型。 在後者的情況下,IF.EAGER 函數將會隱含地轉換資料類型,以容納這兩個值。
例如,公式
IF.EAGER(<condition>, TRUE(), 0)
會傳回 TRUE 或 0,但即使 value_if_false 是整數資料類型,公式IF.EAGER(<condition>, 1.0, 0)
還是只會傳回十進位值。 若要深入了解隱含資料類型轉換,請參閱資料類型。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 範例。