次の方法で共有


IF.EAGER

適用対象:計算列計算テーブルメジャービジュアル計算

条件をチェックし、TRUE の場合は 1 つの値を返します。それ以外の場合は、2 つめの値を返します。 ここでは、条件式に関係なく、常に分岐式を実行する eager 実行プランが使用されます。

構文

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

パラメーター

用語 定義
logical_test TRUE または FALSE に評価できる値または式。
value_if_true 論理テストが TRUE の場合に返される値。
value_if_false (省略可能) 論理テストが FALSE の場合に返される値。 省略した場合は、空白が返されます。

戻り値

value_if_truevalue_if_false、または空白のいずれかです。

解説

  • value_if_true と value_if_false が異なるデータ型の場合は、IF.EAGER 関数からバリアント データ型が返される可能性がありますが、value_if_truevalue_if_false の両方が数値データ型の場合、関数は 1 つのデータ型を返そうとします。 後者の場合、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)
    

    注: 2 つの分岐式は、条件式に関係なく評価されます。

IF の例に関する記事を参照してください。

IF 関数
論理関数