VAR
式の結果を名前付き変数として格納し、他の measure 式に引数として渡すことができます。 結果として得られる values が変数式に対して計算されると、変数が別の式で参照 valuesnot、変更 evenif。
構文
VAR <name> = <expression>
パラメーター
用語 | 定義 |
---|---|
name |
変数の名前 (識別子)。 区切り記号 not サポートされています。 たとえば、[varName] or 'varName' は errorになります。 サポートされている文字セット: a から z、A から Z、0 から 9。 0 から 9 は not 文字として有効 first。 __ (二重アンダースコア) は、識別子名のプレフィックスとして使用できます。 その他の特殊文字はサポートされていません。 予約済みキーワード not 許可されます。 既存のテーブルの名前は許可 not。 空のスペースは許可 not。 |
expression |
スカラー DAX テーブル orを返す value 式。 |
value を返す
式引数の結果を含む名前付き変数。
備考
VAR に引数として渡される式には、別の VAR 宣言を含めることができます。
変数を参照する場合:
- メジャーは、measure 式の外部で定義された変数を参照することはできませんが、式内で定義された関数スコープ変数を参照できます。
- 変数はメジャーを参照できます。
- 変数は、以前に定義された変数を参照できます。
- TableName[ColumnName] 構文を使用してテーブル変数内の列を参照することはできません。
VARを使用する場合のベスト プラクティスについては、「変数を使用して DAX 数式を改善する」を参照してください。
VAR クエリ内での DAX の使用方法の詳細については、「DAX クエリの」を参照してください。
例
変数を使用せずに calculate-over-year 増加の割合を year するには、3 つのメジャーを作成できます。 この firstmeasure では、販売金額の Sum が計算されます。
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
second measure は、previousyearの売上金額を計算します。
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
その後、他の 2 つのメジャーを組み合わせて増加率を measure する 3 番目の calculate を作成できます。 SalesAmount Sum の measure が 2 か所で使用されていることに注意してください。first 販売がある if を判断し、再びパーセンテージを calculate します。
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
変数を使用すると、同じ結果を計算する 1 つの measure を作成できます。
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
変数を使用すると、同じ結果を得ることができますが、読みやすい方法で取得できます。 And 式の結果が変数に格納されるため、measureのパフォーマンスが大幅に向上する可能性があります。これは、使用される各 time を再計算する必要がないためです。