檢查條件,並在 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。
言論
如果value_if_true和value_if_false屬於不同的數據類型,則 IF.EAGER 函式可以傳回 variant 數據類型,但如果
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 範例。