Power BIで時系列データを分析するなら、カレンダーテーブルを作るのは必須

BIツールの1つのメリットは、分析したいデータを、ドリルダウンやドリルアップなどいろんな観点から自在に確認できることでしょう。

例えば時系列データであれば、最初に年次単位で大きなトレンドを確認し、気になるところがあれば四半期単位や月次単位で確認する、といった具合です。

ただし、時系列データをドリルダウン分析するためには、1つのテクニックが必要になります。それが「カレンダーテーブル」を作っておくことです。

 

カレンダーテーブルを作る目的

時系列データを分析したいときに、元データには日付単位のものがあるとしましょう。日次の売上データなどをイメージすれば良いです。

 

グルーピングしたい単位を予め自由に定義できる

四半期毎や年単位、あるいは会計年度などでグルーピングしたい場合、それらの時系列のグルーピングを、まとめて定義するのがカレンダーテーブルです。

また、会計年度の定義にも便利です。企業によって決算月は異なりますし、集計単位を変えたい場合もあるでしょう。その場合に、カレンダーテーブルで定義しておけば、決算年度ごとに集計することが簡単にできるようになります。

 

複数のデータでも共通の時系列単位を定義できる

カレンダーテーブルを作っておくことで、各データごとに日付のグルーピングをする必要がなくなります(売上データ、仕入データなどの複数データを、共通の時系列単位で分析できる)。カレンダーテーブルと、各データの日付データとのリレーションを構築するだけでOKです。

 

カレンダーテーブルの作り方

基本的には、Microsoftが紹介しているこちらのリンクを見ていただければと思いますが、

[Power BI] DAX入門(2) カレンダーテーブルの作成 – Microsoft Japan Data Platform Tech Sales Team Blog

主要なものだけ示しておきます。

カレンダーの作り方
カレンダー = CALENDAR(“2015/1/1″, TODAY())


年 = YEAR([Date])

月番号
月番号 = MONTH([Date])

四半期
四半期 = IF([月番号]<4,”Q4″,IF([月番号]<7,”Q1″,IF([月番号]<10,”Q2″,”Q3”)))

会計年度
会計年度 = IF([月番号]<4,[年]-1,[年])

 

あとは、作成したカレンダーテーブルと、分析したいデータの日付カラムを、リレーションで結んでおきます。リレーションの構築方法は、こちらの記事をご覧ください。

Power BI Desktop でのリレーションシップの作成と管理 – Power BI | Microsoft Docs

 

手頃な日次データとして、日銀の統計データからドル円レートの推移を使います。

主要時系列統計データ表

データを読み込んで、カレンダーテーブルを作ります。そのあとは、忘れずに日銀データとカレンダーテーブルで、日付カラムのリレーションを構築しておきましょう。

そして、実際にグラフを表示してみましょう。

軸には日付を設定するのですが、このときにカレンダーテーブルの項目を設定することと、階層ごとに順番に設定することが肝です。

年単位でグラフ化したのがこちら。

このうち、どこかの年を選択してドリルダウンを行うと、月単位のグラフに変化します。

さらに月を選択してドリルダウンを行うと、日単位のグラフに変化します。

ドリルアップを選べば、上の階層に戻すこともできます。

 

このように、カレンダーテーブルを作っておけば、自由に時系列データの階層をいったりきたりすることができるのです。時系列データを分析するには必須といえるでしょう。