Power BI で DAX タイム インテリジェンス関数を使用する
ラボのストーリー
このラボでは、タイム インテリジェンスを含む DAX 式を使用してメジャーを作成します。
このラボでは、次の方法について説明します。
- さまざまなタイム インテリジェンス関数を使用して、日付に関係する特定のフィルター コンテキストを操作する。
このラボには約 15 分かかります。
作業の開始
この演習を完了するには、まず Web ブラウザーを開き、次の URL を入力して zip ファイルをダウンロードします。
https://github.com/MicrosoftLearning/PL-300-Microsoft-Power-BI-Data-Analyst/raw/Main/Allfiles/Labs/06-use-dax-time-intelligence/06-time-intelligence.zip
ファイルを C:\Users\Student\Downloads\06-time-intelligence フォルダーに展開します。
06-Starter-Sales Analysis.pbix ファイルを開きます。
注:[キャンセル] を選択すると、サインインを閉じることができます。他のすべての情報ウィンドウを閉じます。変更の適用を求めるメッセージが表示されたら、[後で適用] を選択します。
YTD メジャーを作成する
このタスクでは、タイム インテリジェンス関数を使用して、売上の年度累計 (YTD) メジャーを作成します。
-
Power BI Desktop のレポート ビューの [ページ 2] で、行にグループ化された年と月を含むさまざまなメジャーを表示するマトリックスの視覚エフェクトに注目します。
-
次の式に基づいて、
Sales
テーブルにメジャーを追加します。小数点以下 0 桁に書式設定します。Sales YTD = TOTALYTD( SUM(Sales[Sales]), 'Date'[Date], "6-30" )
TOTALYTD
関数では、指定した日付列に対して式 (この場合はSales
列の合計) が評価されます。日付列は、日付テーブルとしてマークされている日付テーブルに属している必要があります。“この関数には、年度の最後の日付を表す、省略可能な 3 番目の引数を指定することもできます。この日付を指定しない場合は、12 月 31 日が年度の最後の日付になります。Adventure Works では、6 月が年度の最後の月なので、”6-30” が使用されます。
-
マトリックスの視覚エフェクトに
Sales
フィールドとSales YTD
メジャーを追加します。 -
年内の売上の値が累積されていることがわかります。
TOTALYTD
関数によって、フィルター操作 (具体的には、時間フィルター操作) が実行されます。たとえば、2017 年 9 月 (会計年度の 3 番目の月) の YTD 売上を計算する場合は、Date
テーブルのすべてのフィルターが削除され、年度の開始日 (2017 年 7 月 1 日) に始まりコンテキスト内の日付期間の最後の日付 (2017 年 9 月 30 日) まで続く日付の新しいフィルターに置き換えられます。一般的な時間フィルター操作をサポートするために、多くのタイム インテリジェンス関数を DAX で使用できます。__
YoY 成長メジャーを作成する
このタスクでは、変数を使用して売上の YoY 成長メジャーを作成します。
変数は、数式を簡略化するのに役立ち、数式内でロジックを複数回使用する場合の効率が向上します。 変数は一意の名前で宣言されます。その後、メジャー式を
RETURN
キーワードの後の出力にする必要があります。 他のコーディング言語の変数とは異なり、DAX 変数は単一の数式内でのみ使用できます。_
-
次の式に基づいて、
Sales
テーブルに別のメジャーを追加します。Sales YoY Growth = VAR SalesPriorYear = CALCULATE( SUM(Sales[Sales]), PARALLELPERIOD( 'Date'[Date], -12, MONTH ) ) RETURN SalesPriorYear
SalesPriorYear
変数には、変更されたコンテキストでSales
列の合計を計算する式が割り当てられます。__ このコンテキストでは、PARALLELPERIOD
関数を使用して、フィルター コンテキストの各日付から 12 か月前に戻します。 -
マトリックスの視覚エフェクトに
Sales YoY Growth
メジャーを追加します。 -
新しいメジャーは、最初の 12 か月間は
BLANK
を返します (会計年度の 2017 年以前には売上が記録されていないため)。 -
“2018 年 7 月” に対する
Sales YoY Growth
メジャーの値が、”2017 年 7 月” の sales の値であることに注目してください。__これで数式の “難しい部分” をテストできたので、成長の結果を計算する最終的な数式で、メジャーを上書きすることができます。__
-
メジャーを完成させるには、次の数式で
Sales YoY Growth
を上書きして、小数点以下 2 桁のパーセンテージとして書式設定します。Sales YoY Growth = VAR SalesPriorYear = CALCULATE( SUM(Sales[Sales]), PARALLELPERIOD( 'Date'[Date], -12, MONTH ) ) RETURN DIVIDE( (SUM(Sales[Sales]) - SalesPriorYear), SalesPriorYear )
-
この数式の
RETURN
句では、変数が 2 回参照されていることに注目してください。 -
“2018 年 7 月” の YoY 成長が 392.83% であることを確認します。__
YoY 成長率メジャーは、前年の同じ期間の売上がほぼ 400% (つまり、4 倍) 増加していることを示します。__
-
モデル ビューで、2 つの新しいメジャーを Time intelligence という名前の表示フォルダーに配置します。
-
Power BI Desktop ファイルを保存します。