DATEADD関数で前年比、前月比の計算(日付の引き算)

PowerBI 前月比 前年比 昨年比 DATEADD DAX関数DAX関数
スポンサーリンク

PowerBIでグラフ管理をしていると、1年前との売上の差や2か月前との差など、期間別の比較をしたい場合があります。

そんな、前年比、前月比、前日比などを計算したい場合に便利なDATEADD関数を紹介します。

・DATEADD関数は日付の加算/減算ができるDAX関数
・DATEADD関数で前年比、前月比を計算する方法

DATEADD関数は2年前、3年前など過去を遡る計算でき汎用性が高いので、ぜひご参考下さい。

DATEADD関数の基礎編は下記をご参考ください!
▶DATEADD関数で指定した日数や月数を足し算、引き算

前年、前月の計算に必要なDAX関数

PowerBIで前年、前月、前日などの計算をさせるDAX関数はDATEADD関数を用います。

【DATEADD関数】構文
DATEADD(<dates>,<number_of_intervals>,<interval>)
=DATEADD(日付列,数値,間隔)

日付:カレンダーテーブルの日付列などを指定
数値:1年前を指定したい場合は「‐1」、2か月前なら「-2」
間隔:year、quarter、month、day などを指定

つまり、
日付から指定した数値を設定した間隔で引いたり足したりできる関数

参考:Microsoft Docs DATEADD関数

DATEADD関数はその名の通り、DATEである日付を、ADD(足したり引いたり)できる関数です。日付の足し算、引き算ができるDAX関数と覚えておきましょう!

構文だと理解しにくいですが、例えば、2年前を指定したい場合は、
=DATEADD(日付列,-2,YEAR)
先月を指定したい場合は、
=DATEADD(日付列,-1,MONTH)
先週、1週間前を指定したい場合は、
=DATEADD(日付列,-7,DAY)
とするだけです!

つまり、
DATEADD関数を使えば、1年前、1ヵ月前、2か月前など、過去のデータを計算させることができます。

ちなみに、
SAMEPERIODLASTYEAR関数だと昨年、つまり1年前
PREVIOUSMONTH関数だと先月、つまり1ヵ月前
を指定できますが、DATEADD関数の方が間隔をYear、Monthなどと変えるだけなので、汎用性が高いです。

【関連記事】
PowerBIやPowerQueryで日付を計算する方法をまとめています。
▶FORMAT関数で日付から年/月/日/曜日を抽出
▶パワークエリで関数を使わずに年/月/週/曜日、年度の抽出
▶DATEDIFF関数で日付間の差分を取得(在庫管理表の作成)
▶PowerBIでカレンダーテーブルの自動作成(テンプレ公開)

それでは、具体的にDATEADD関数の使い方を紹介します。

スポンサーリンク

DATEADD関数で前年比、前月比の計算

それでは、DATEADD関数で前年の売上合計を取得し前年比を計算します。

◆使用するデータ
データは下記の通り、製品や地域、年齢、売上、日付などの購入リストデータをインポートしている場合を想定します。

また、下記の通り日付テーブルを作成しており、
購入リストデータの日付とリレーションを組んでいる状態です。

PowerBI インポート リレーション

【関連記事】
▶カレンダーテーブルの作り方(CARENDAR関数)
▶リレーションでデータ連携する方法

◆DATEADD関数で前年売上合計をメジャーで追加

まずは、「新しいメジャー」をクリック

新しいメジャー PowerBI

次にDATEADD関数で1年前の売上合計を作成するメジャーを作成します。

メジャー名:売上前年
関数:CALCULATE関数、SUM関数、DATEADD関数
CALCULATE(式,フィルター)
SUM(列)
DATEADD(日付列,数値,間隔)
この3つの関数を組み合わせます。

DATEADD関数で1年前の条件を指定した、売上の合計をCALCULATE関数で計算
つまり、
売上前年 = CALCULATE(SUM(売上列),DATEADD(日付列,-1,YEAR))
コードで書くと、
売上前年 = CALCULATE(SUM(‘購入リスト'[売上]),DATEADD(‘日付テーブル'[Date],-1,YEAR))

DATEADD関数 前年比 1年前

=DATEADD(日付列,‐1,YEAR)で1年前の指定をしていることになります。それを、CALCULATE関数で囲って売上前年のメジャーを作成しています。

【参考記事】
▶CALCULATE関数で条件付きの合計や平均

スポンサーリンク

DATEADDの計算結果をレポート表示

◆レポート画面で前年比の計算とレポート表示

作成した「売上前年」メジャーをレポート画面で確認していきます。
下記の通り、日付データから年度のスライサーと、購入リストの生データから「製品」、「売上」のテーブルを作成している状態とします。

【参考記事】
▶PowerBIでスライサーの設定方法
▶PowerBIでテーブルの作成方法、条件付き書式の設定

このテーブルに先ほどDATEADD関数で作成した、「売上前年」メジャーを追加します。

前年比 DATEADD関数 PowerBI

前年の売上合計列を追加することができました!

次に、「前年比」を計算したいので、メジャーを追加して
この「売上」と「売上前年」の差を計算させます。

追加するメジャー☟ 引き算するだけですね!
前年比 = SUM(‘購入リスト'[売上])-‘購入リスト'[売上前年]

追加した「前年比」メジャーをテーブルに入れます。

前年比 DATEADD関数 PowerBI 昨年度 差

PowerBIで前年比売上の表を作成できました!
もちろん、スライサーの選択を変えれば、簡単に前年比結果が変わります!

スライサー PowerBI DATEADD

DATEADD(日付列,数値,間隔)

数値を‐1から‐2に変えれば、2年前に指定できます。
また間隔をYEAR→MONTHに変えれば前月の指定も可能です。
・例
 DATEADD(日付列,‐2,YEAR) :2年前
 DATEADD(日付列,‐1,MONTH):1ヵ月前
 DATEADD(日付列,‐1,DAY)  :前日、1日前

つまり、今回と同様にCALCULATE関数とSUM関数を組み合わせれば、2年前売上比、先月比、前日比などの計算が可能になります。

DATEADD関数は前年比、先月比などの計算において汎用性も高く便利です!

スポンサーリンク

PowerBIで前年比、前月比の計算方法まとめ

今回のまとめ
・DATEADD関数で前年、前月、前日などを指定できる
・年、四半期、月、日などを指定して計算できる
・CALCULATE関数とセットで前年、前月
売上などを計算

DATEADD関数は売上計算などの管理する場合に必須のDAX関数です。年/四半期/月/日などをどのくらいさかのぼるかを指定できるので、汎用性も高く非常に便利です!

下記でPowerBIの便利機能やDAX関数一覧をまとめています。ぜひご参考下さい!

【PowerBI】便利機能9選と学習方法まとめ

よく使うDAX関数まとめ

最後まで読んでいただきありがとうございました!

記事が良ければ☟クリック応援よろしくお願いします!!

にほんブログ村 サラリーマン日記ブログ IT系サラリーマンへ
にほんブログ村

コメント

タイトルとURLをコピーしました