2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerBI:日付テーブルの重要性について

Posted at

はじめに

PowerBIでデータの可視化を行うにあたり、月ごとや年度ごとの集計、前年前月比などを正確に可視化するためには、「日付テーブル」が非常に重要になってきます。

今回はPower BIにおける日付テーブルの重要性について述べています。

目次

日付テーブルとは
暗黙的な日付テーブルについて
日付テーブル作成することで得られるメリット
日付テーブルの作り方
まとめ

日付テーブルとは

まず日付テーブルは、以下のような特徴を持っています。

  • 集計対象となる期間の日付を全て含み、連続した日付の列を持つテーブル
  • 「年」「四半期」「月」などの時系列の階層を持つ
  • 年・月・日などの単位は日付に関連するようにそれぞれの列を持つ(年、月、日、曜日などの値が入った列)
  • 日付をキーに他データと紐づけることで、時系列の様々な集計やレポート表現を実現することができる

暗黙的な日付テーブルについて

暗黙的な日付テーブルとは何かというと、PowerBIには、自分で日付テーブルを作成しなくとも、日付列のあるデータを用いてグラフを作成すると、PowerBI側で自動的に日付テーブルを作成する機能がある。PowerBIが裏側で作成している日付テーブルのことを暗黙的な日付テーブルと呼ぶ。

しかし、暗黙的な日付テーブルには以下のようなデメリットがある。

暗黙的に作成された日付テーブルを日付階層やクイックメジャーなどで使用した場合、自分が意図した結果を得られない可能性がある。

例えば、週の曜日の始まりを月曜単位で集計したいのに日曜始まりになってしまっていたり、曜日や月の表記を英語ではなく日本語で表示したい場合など。

そのため、明示的に日付テーブルを作成することで、自分の意図した結果をえられるようにする。

日付テーブル作成することで得られるメリット

例えば、ECサイトなどの購入履歴データ(購入日が1月1日から1月31日)を可視化する際に、購入履歴の無い日付がある場合、明示的な日付テーブルを作成していないと、その日付がグラフに反映されないことがある。折れ線グラフなどで履歴の無い日付の箇所で線が途切れてしまうイメージだ。
そのため、1月1日~31日までの連続した日付データを持つ日付テーブルを作成し、購入履歴データと繋げることで購入履歴の無い日付は0としてグラフに反映させることができるようになる。

日付テーブルは日付列の他に年や月、四半期などの列も追加して作成すると時系列操作に以下のような柔軟性を持たせることができる。

  • 四半期>月>週など任意の階層で表示する
  • 相対的に直近期間を常に表示する
  • スライダー機能で表示期間を可変にする(○月~○月までなど期間で絞り込みできる)
  • 「2024年6月26日(水)」など任意の形式で表示する

また、タイムインテリジェンス関数使い、以下の集計が可能となる。

  • 相対的にずらした期間の値(昨年値・昨月値など)を出す
  • 期間ごとの差分や比率(昨年対比・昨月比など)を出す
  • 期間ごとの累計値(月別累計、日別累計など)を出す
  • 移動平均を出す

日付テーブルの作り方

日付テーブルの作り方については下記の記事が非常にわかりやすいので参考にしてみてください。

まとめ

今回はPowerBIにおける日付テーブルの重要性についての記事でした。
日付テーブルを作成することで、集計や可視化が容易になり、効率的にダッシュボードを構築することができるようになります。
また、複数のテーブルを使用したダッシュボードにおいて、正確性を担保することもできます。

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

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?