タイム インテリジェンスを使用する

完了

すべてのデータ アナリストは時間を扱う必要があります。 日付は重要なので、日付のテーブルを作成またはインポートすることを強くお勧めします。 この方法を使用すると、DAX での日付と時刻の計算がはるかに簡単になります。

一部の時間の計算は DAX で簡単に実行できますが、他はより難しくなります。 たとえば、次のスクリーンショットは、累計を表示する場合の結果を示しています。

DAX の累計を示すスクリーンショット。

合計は月ごとに増加しますが、年が変わるとリセットされることがわかります。 他のプログラミング言語では、この結果はかなり複雑になる可能性があり、多くの場合、いくつかの変数とコードのループを伴います。 DAX では、次の例に示すように、この処理が非常にシンプルになります。

YTD Total Sales = TOTALYTD 
( 
    SUM('Sales OrderDetails'[Total Price]) 
    , Dates[Date]
)

YTD Total Sales メジャーでは、TOTALYTD と呼ばれる組み込みの DAX 関数が使用されます。 この関数は、計算の種類の引数を受け取ります。 このモジュールを通して行ってきたように、SUM 関数を使用して Total Price を取得できます。 操作する 2 番目の引数は、Dates フィールドです。 Dates テーブルを使用して、このメジャーを視覚エフェクトに追加すると、目的の累計の結果が得られます。 YTD、MTD、QTD では、同様の方法ですべての関数を使用できます。

時間を使用するもう 1 つの例は、現在の売上と前の期間の売上を比較することです。 たとえば、月の売上合計を前月の売上合計の横に表示する場合は、次の例に示すように、DAX メジャーの定義を入力します。

Total Sales Previous Month = CALCULATE
(
    sum('Sales OrderDetails'[Total Price])
    , PREVIOUSMONTH(Dates[Date])
)

このメジャーでは CALCULATE 関数が使用され、目的の方法でこの式を評価するためにコンテキストをオーバーライドすることが示されています。 このモジュール全体で行っているように、Total Price を合計しています。 2 番目の引数では、オーバーライド用に PREVIOUSMONTH を使用しています。これにより、どの月が既定値であるかに関係なく、前の月になるようにシステムでオーバーライドする必要があることが Power BI に指示されます。

次のスクリーンショットは、テーブルの視覚エフェクトの結果を示しています。

Sales と Previous Month Sales を示すスクリーンショット。

各月をサイドバイサイドで調べると、7 月の売上合計が 6 月の売上合計と比較されていることがわかります。