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