Power BIで2年前同期間を表示する方法 Dateadd関数でフィルター!
Power BIで時系列分析を行う際、昨年のデータを表示するなら「Sameperiodlastyear」関数を使えば一発で表示できますが、同期間の2年前のデータを表示できないかと調べてみました。
というのも、特に昨年は新型コロナウイルスによるロックダウンによって、需要が突発的に減少した影響もあり、昨年の実績値が参考にならず、2年前や3年前の実績値と比較する必要が出来てからです。
色々方法はあるかもしれないですが、以下参考まで。
なお、前年度分にフィルターする方法に関しては、Power BIのタイムインテリジェンス 前月度や前年度の実績値を計算するを見て下さい。
2年前のデータを表示する方法
ざっと調べたところ、方法としては以下2通り見つけました。
1.Parallelperiod関数を利用する
個数(2年前)=
Calculate(メジャー, Parallelperiod(‘Date Data'[Date], -2, Year))
※こちらのやり方はPower BIのコミュニティサイトにも載っていました。
2.Dateadd関数を利用する
個数(2年前)=
Calculate(メジャー, DATEADD(‘Date Data'[Date], -2, Year))
※-2の部分を、-3や-4等遡りたい年数を指定することで期間を指定できます。
2つともCalcukate関数を使うのですが、2年前に日付をフィルターするために使っているDAX関数が異なります。
1.の場合はParallelperiod関数を使っていて、2.の場合はDateadd関数を使っています。
そして一見同じ関数のように見えるこれら2つの関数ですが、実は若干意味合いが異なります故、下記の通り結果も異なります。
1.Parallelperiod関数を利用する
2.Dateadd関数を利用する
Parallelperiod関数を利用すると、画像の通り、2年前の実績値を表示してくれるのですが、1年間(又は引数を変えれば1か月間も可能)を通算した結果が表示されてしまいます。
一方、Dateadd関数を利用すると、添付画像の通り日単位(または月単位でも可能)での結果を表示できます。Parallelperiod関数では、日単位での表現ができないのが難点ですね。
この違いは結構大きく、例えば月内の累積値(積み上げ折れ線グラフを利用して)を出す場合なんかでは、日単位での実績値を積み上げていく必要があるので、Parallelperiod関数は不都合だなと。
結論、、、個人的にはDateadd関数推し!
もちろん用途次第ですが、、、。
では。
コメントを残す