次の方法で共有


VAR

式の結果を名前付き変数として格納し、他のメジャー式に引数として渡すことができます。 変数式に対して結果の値が計算されると、変数が別の式で参照されている場合でも、それらの値は変更されません。

構文

VAR <name> = <expression>

パラメーター

用語 定義
name 変数の名前 (識別子)。
区切り記号はサポートされていません。 たとえば、'varName' または [varName] はエラーになります。
サポートされている文字セット: a から z、A から Z、0 から 9。
0 から 9 は最初の文字として有効ではありません。
__ (二重アンダースコア) は、識別子名のプレフィックスとして使用できます。
その他の特殊文字はサポートされていません。
予約済みキーワードは使用できません。
既存のテーブルの名前は使用できません。
空のスペースは使用できません。
expression スカラー値またはテーブル値を返す DAX 式。

戻り値

式引数の結果を含む名前付き変数。

備考

  • VAR に引数として渡される式には、別の VAR 宣言を含めることができます。

  • 変数を参照する場合:

    • メジャーは、メジャー式の外部で定義されている変数を参照することはできませんが、式内で定義されている関数スコープ変数を参照できます。
    • 変数はメジャーを参照できます。
    • 変数は、以前に定義された変数を参照できます。
    • TableName[ColumnName] 構文を使用してテーブル変数内の列を参照することはできません。
  • VARを使用する場合のベスト プラクティスについては、「変数を使用して DAX 数式を改善する」を参照してください。

  • VAR クエリ内での DAX の使用方法の詳細については、「DAX クエリの」を参照してください。

変数を使用せずに前年比の増加率を計算するには、3 つの個別のメジャーを作成できます。 この最初のメジャーでは、売上金額の合計が計算されます。

Sum of SalesAmount = SUM(SalesTable[SalesAmount])

2 番目のメジャーでは、前年の売上金額が計算されます。

SalesAmount PreviousYear =
    CALCULATE([Sum of SalesAmount],
    SAMEPERIODLASTYEAR(Calendar[Date])
    )

その後、他の 2 つのメジャーを組み合わせて増加率を計算する 3 番目のメジャーを作成できます。 SalesAmount メジャーの合計が 2 つの場所で使用されていることに注意してください。最初に販売があるかどうかを判断し、次にもう一度パーセンテージを計算します。

Sum of SalesAmount YoY%: = 
    IF([Sum of SalesAmount] ,
        DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
    )

変数を使用すると、同じ結果を計算する 1 つのメジャーを作成できます。

YoY% =
  VAR Sales = 
      SUM(SalesTable[SalesAmount])
  VAR SalesLastYear =
      CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

  return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))

変数を使用すると、同じ結果を得ることができますが、読みやすい方法で取得できます。 また、式の結果は変数に格納されるため、メジャーを使用するたびに再計算する必要がないため、メジャーのパフォーマンスが大幅に向上する可能性があります。

変数を使用して、クエリ 数式を改善する