Power PlatformでDX推進を目指すプロぺリアDX支援のメインビジュアル プロぺリアDX支援

即使える!Power Platform技術紹介

「なるべく短時間で」「効果の高い本質的な知識を」「煩わしい広告なしに」獲得!

Power BIで日付テーブルを簡単に作成する方法 ~ Calendar関数 ~

本記事でわかること

日付テーブルを作る意味と利点

Power BIでは、売上や契約データなどの時系列分析を行う際に日付テーブルが必須です。 単にカレンダーを作るだけでなく、「年度」「四半期」「年月」「曜日」などの列を追加しておくことで、 スライサーやビジュアルで柔軟に集計・比較できるようになります。

Point! 日付テーブルは モデル全体の分析軸。必ず独立したテーブルを作成し、リレーションを張りましょう。

CALENDAR関数とCALENDARAUTO関数の書き方

Power BIには日付範囲を自動生成する便利な関数が用意されています。

関数 書き方 特徴
CALENDAR
CALENDAR(DATE(2020,1,1), DATE(2030,12,31))
CALENDAR(MIN('部品テーブル'[納品日]), MAX('出荷テーブル'[出荷日]))
明示的に開始日・終了日を指定
※式による指定も可能
CALENDARAUTO
CALENDARAUTO()
モデルに含まれる日付列の最小値〜最大値を自動検出

迷ったらまず CALENDARAUTO() を使うのがおすすめです。 ただし範囲を制御したい場合は CALENDAR を使いましょう。

汎用日付テーブルの完成形スクリプト

いちいち列を追加するのが面倒…という方は、以下のスクリプトを新しいテーブルに定義すれば大体の分析に対応できます。
現場でよく使われている分析内容を網羅していますので、ぜひコピペで活用してください!

準備①:画面左のテーブルマークを押下し、テーブルビュー(テーブル一覧やそのデータが見れる画面)に移動

準備②:画面上部「ホーム」タブの「新しいテーブル」を押下

準備③:式を記載するエリアにカーソルが当たり、「テーブル =」と出てくるので、それを消して以下の式をそのままコピペし、Enter

日付テーブル =
ADDCOLUMNS(
  CALENDARAUTO(),
  "yyyymmdd", FORMAT([Date], "yyyy年mm月dd日"),
  "日付", DATE(YEAR([Date]), MONTH([Date]), DAY([Date])),
  "年", YEAR([Date]),
  "月", MONTH([Date]),
  "MM月", FORMAT([Date], "MM月"),
  "数値", DAY([Date]),
  "DD日", FORMAT([Date], "DD日"),
  "年月", VALUE(FORMAT([Date], "yyyyMM")),
  "yy/MM", FORMAT([Date], "yy/MM"),
  "週", WEEKNUM([Date], 1),
  "第00週", FORMAT(WEEKNUM([Date], 1), "第00週"),
  "曜日", FORMAT([Date], "aaa"),
  "日曜日", FORMAT([Date], "DDaaa"),
  "年度", IF(MONTH([Date]) > 3, YEAR([Date]), YEAR([Date]) - 1),
  "年度_数値", FORMAT(IF(MONTH([Date]) > 3, YEAR([Date]), YEAR([Date]) - 1), "0年度"),
  "会計年度", IF(MONTH([Date]) < 4, YEAR([Date]) - 1, YEAR([Date])),
  "年度四半期", IF(MONTH([Date]) < 4, 4, IF(MONTH([Date]) < 7, 1, IF(MONTH([Date]) < 10, 2, 3))),
  "年度四半期_Q", IF(MONTH([Date]) < 4, "4Q", IF(MONTH([Date]) < 7, "1Q", IF(MONTH([Date]) < 10, "2Q", "3Q"))),
  "年四半期_Q", IF(MONTH([Date]) < 4, "1Q", IF(MONTH([Date]) < 7, "2Q", IF(MONTH([Date]) < 10, "3Q", "4Q")))
)

よく使う日付列をまとめた日付テーブルが完成!

日付テーブルの画像
Point! 列を多めに用意しておいて損はありません!式自体が参考になることもあるので、ぜひ活用しましょう。

まとめ

  • 日付テーブルは分析の軸になるため必須
  • CALENDAR / CALENDARAUTO で簡単に生成可能
  • 汎用スクリプトを使えば実務で即利用できる
📊 Power BIでのモデリングに困ったら
DAX設計やモデル最適化の相談もお気軽にどうぞ。

あなたの仕事にも、変化を。

無料相談から、DXの第一歩を踏み出しませんか?

お問い合わせ ブログ一覧