カレンダーテーブルをPower BIで作成する時のメリットにお気づきでしょうか。
簡単にまとめると、
- それぞれのテーブルに入っている日付項目を使ってカレンダーテーブルに情報を集約できる
- 日付が隙間なくつくられるので、基本的にすべてのデータが紐づく
- レポートを開いたときに生成されるので、基本的にメンテナンスがいらない
今回はレポートでの出現頻度が非常に高いカレンダーテーブルの生成までを書いていきます。カレンダーテーブルの改造については、また次回ということで、今回はカレンダーテーブルをつくる意味と、実際につくるところまでを説明します。
目次
Power BI ハンズオンセミナー(応用編)
カレンダーテーブルをPower BIで作る理由とは?
私たちがPowerBIで分析をしよう!と考えたとき、売上と目標、売上と活動など、異なる意味合いを持つデータを並べて比較分析をするということから始めることが多いのではないでしょうか。
上記のようなPower BIにおけるデータの組合せでは、ある月の売り上げとある月の目標を比較したり、日々の活動がどのように売上に貢献しているかを可視化しようとしたりと、日付がキーとなることが非常に多いのです。
Power BIでレポートを作成するときの鍵は、異なるテーブル間で共通の項目が存在する場合には親となるテーブルをつくることです。したがって、日付について親となるテーブルを作成することがPower BIでは非常に重要な意味を持ちます。
では、具体的にカレンダーテーブルをPower BIで作る際には、どのようなプロセスやポイントが必要になるのか解説していきたいと思います。
カレンダーテーブルをPower BIで作ってみましょう!
カレンダーテーブルをPower BIで使うポイント①:
Dax関数のCALENDARを使ってカレンダーテーブルを作ろう
下記では、売上と広告費に関するバランスに注目してください。データに関しては完全に乱数で作っているので違和感があるという突っ込みはなしでお願いします。
カレンダーテーブルをPower BIで使うポイント②:
黄色のマークに注目する
カレンダーテーブルをPower BIのポイントで重要となるのは、売上にも広告費にもそれぞれDateという項目に日付が入っていますので、それぞれをカレンダーテーブルでまとめ上げるということです。
図は売上のDateとAmount、広告費のAmountを並べた状態。売上の日付と広告費は関連がないので、うまくフィルタリングできていないことがわかります。
カレンダーテーブルをPower BIで使うポイント③:
新しいテーブルという機能を使う
モデリングタブに移動すると、新しいテーブルという機能がありますのでこれをクリックします。
Dax式を使ってテーブルをつくるという、使いこなせれば非常に良い機能です。
カレンダーテーブルをPower BIで使うポイント④:
CALENDAR関数を使ってテーブルを生成する
CALENDAR(#最も古い日付,#最も新しい日付)
最も古い日付に入った値から最も新しい日付に入った日付までの全ての日付を生成するという関数です。詳しくはマイクロソフト社のリファレンスをご確認ください。
今回は売上と広告費とで、最小の日付が小さい方を最も古い日付、最大の日付が大きい方が最も新しい日付となるように設定しています。
ちなみに、重複なしのデータを生成するにはVALUES関数もありますが、これはあくまで含まれているデータの中から重複を消すということしかしてくれませんので、テーブルの中に欠けている日付があればそれが生成されなくなってしまいます。
今回のようなケースでは複数のテーブルをまとめ上げるため、一つでも欠けている日付があると他のテーブルにあるデータがうまく紐づかなくなってしまうことが考えられます。
カレンダーテーブルをPower BIで使うポイント⑤:
完成イメージ
あとは、売上のDateと広告費のDateに対してリレーションを設定すれば完了です。
先ほどの表も、Dateをカレンダーテーブルのものに差し替えれば、日付ベースで売上と広告費を並べることができているのがわかります。
リレーションがうまく機能していないときは、それぞれのテーブルの日付項目が日付/時刻項目になっていて、見えていない部分(時間)にずれがあることが原因かと思われます。そういった場合は、クエリの編集で各項目を日付項目に変えるか、全て00:00:000の日付/時刻の項目をつくるか、リレーション用のテキスト項目をつくるかといった工夫が必要になります。
一工夫は別の機会に
実は、このカレンダーテーブルを生成した時には定番となる作業があります。月を00月の形式で表示する列を追加したり、週を持たせたり、会計年度を持たせたり。そこまでやってしまうと非常に長くなってしまうので、今回はなぜカレンダーテーブルが必要なのか、そして、その作り方を解説しました。
今回のpbixファイルがきになる!という方は、弊社Webサイトのお問い合わせフォームから、本記事名[カレンダーテーブルはPower BIで必須かも]をお問い合わせ内容にご記入の上送信いただければ元ファイルをお送りいたします。
Power BIハンズオンセミナーやデータ分析支援について
弊社ではPower BI ハンズオンセミナーやデータ分析支援を行っております。詳しくは下記リンクをチェックしてください。
Power BI ハンズオンセミナー(入門編)
Power BI ハンズオンセミナー(応用編)
データ分析支援
この記事を読んだ方の多くは以下の記事も読まれています。