ブログ

なぜカレンダーテーブルはPower BIで必須なのか?理由やポイント、完成図と共にご紹介

#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月の形式で表示する列を追加したり、週を持たせたり、会計年度を持たせたり。そこまでやってしまうと非常に長くなってしまうので、今回はなぜカレンダーテーブルが必要なのか、そして、その作り方を解説しました。

>>カレンダーテーブルを生成した時に定番となる作業【Power BIのデータに列を追加作成方法】はこちらの記事で紹介しています。

今回のpbixファイルが気になる!という方は、下記お問い合わせフォームよりお気軽にお問い合わせください。

<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら

<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ