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 SalesPriorYearSalesPriorYear変数には、変更されたコンテキストで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 ファイルを保存します。
 
ラボが完了しました
このラボでは必要ありませんが、Power BI レポートを保存することもできます。 次の演習では、事前に作成されたスターター ファイルを使用します。
- 左上隅の [ファイル] メニューに移動し、[名前を付けて保存] を選択します。
 - [このデバイスを参照する] を選択します。
 - ファイルを保存するフォルダーを選択し、わかりやすい名前を付けます。
 - [保存] ボタンを選択して、レポートを .pbix ファイルとして保存します。
 - 保留中のクエリの変更について適用を求めるダイアログ ボックスが表示された場合は、[適用] を選択します。
 - Power BI Desktop を閉じます。