はじめに
この記事は、Microsoft Power BI Advent Calendar 2023 の8日目の記事です。
Power Pivot でタイム インテリジェンス 関数を使い時系列でのデータの集計や比較ができた時、「わー!すごく便利!」と、とても感激しました。
そこで、よく使ういくつかのタイム インテリジェンス 関数について、書きとめておきたいと思います。
まずは、本記事の SAMEPERIODLASTYEAR関数 です。
SAMEPERIODLASTYEAR関数 とは
現在のコンテキストで、指定された dates 列の日付から 1 年前にシフトした日付の列を含むテーブルを返します。
SAMEPERIODLASTYEAR関数 を使ってやりたいこと
ここでは、ある商品の売上データを合計し、前年の売上と比較したいと思います。
Excel の Power Pivot を使います。
👇こんな風に「売上合計」と「前年度売上合計」「売上前年対比」を並べて表示させたいと思います。
準備
■売上データ(ファクトテーブル)
2021年から2023年の売上データを用意します。
列「日付」と列「売上金額」のシンプルなデータです。
日付 | 売上金額 |
---|---|
2021/1/2 | 61,500 |
2021/1/9 | 86,600 |
: | : |
: | : |
: | : |
■カレンダーテーブル
ファクトテーブルの売上データの日付に合わせてカレンダーテーブルは、2021年から2023年の3年間の日付で作成します。
日付 | 年 | 月番号 | 月 | 年月 |
---|---|---|---|---|
2021/01/01 | 2021 | 1 | 1月 | 2021年1月 |
2021/01/02 | 2021 | 1 | 1月 | 2021年1月 |
: | : | : | : | : |
: | : | : | : | : |
2023/12/31 | 2023 | 12 | 12月 | 2023年12月 |
データモデル
日付をキーにして、「カレンダーテーブル」と「売上テーブル」間に1対多のリレーションシップを作成します。
メジャーを作成する
■メジャー「売上合計」をつくる
まず、SUM関数を使ってメジャー「売上合計」を作ります。
合計金額:
=SUM([売上金額])
■メジャー「前年度売上合計」をつくる
次に、CALCULATE関数とSAMEPERIODLASTYEAR関数を使ってメジャー「前年度売上合計」を作ります。
前年度売上合計
=CALCULATE(
[売上合計],
SAMEPERIODLASTYEAR('カレンダー'[日付])
)
■メージャー「売上前年対比」をつくる
最後に、メージャー「売上前年対比」を作ります。
「売上合計」を「前年度売上合計」で割れば「売上前年対比」が算出できるので、DIVIDE関数を使います。
売上前年対比
=DIVIDE([売上合計],[前年度売上合計])
うまくいきました!
👇1年前の売上合計と前年度売上合計金額が同じであることが確認できます。
また、売上前年対比も正しく表示されています。
ちなみに
メジャー「前年度売上合計」はDATEADD関数を使って作ることもできます。
前年度売上合計
=CALCULATE(
[売上合計],
DATEADD('カレンダー'[日付],-1,YEAR)
)
次回は、DATEADD関数を使って2年前や1月前など任意の期間との比較をしてみたいと思います。
おわりに
Power BI勉強会のおかげで、2023年も楽しく学習を続けることができました。
いつも優しくアドバイスしてくださる勉強会の皆さん💕本当にありがとうございます