次の方法で共有


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 Sales Amount =
SUM ( Sales[Sales Amount] )

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

Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )

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

Sum of SalesAmount YoY%: =
IF (
    [Sum of Sales Amount] && [Sales Amount PreviousYear],
    DIVIDE (
        ( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
        [Sales Amount PreviousYear]
    )
)

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

YoY% =
VAR Sales =
    SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
    CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
    IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )

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

変数を使用して DAX 数式を改善

クエリ を する