Power BIでデータ分析を行う際、カレンダーテーブルは欠かせません。これにより時間軸での分析がスムーズになるだけでなく、祝日や営業日、週末の考慮も可能になります。今回は、 祝日を含むカレンダーテーブルに「営業日カウント(WorkDay)」を追加する方法 を解説します。実務では「営業日ベースのカウント」が必要になることがよくあり、例えば月初から何営業日目かを算出し、営業日ごとの進捗を可視化する といったシナリオです。月初から週末・祝日を除いて「WorkDay1」から番号を振る方法 をDAXで実装する方法を説明します。
なぜ営業日カウントが必要なのか?
カレンダーテーブルに営業日カウントがあると次のような分析が簡単に出来るようになります。
✅ 月初からの営業日数を計算(例:営業5日目の売上を比較する)
✅ 週末や祝日を考慮した日数計算(例:「月内の営業日ベースで進捗を管理」など)
✅ 業務日ベースでのKPI計算(例:「納期まであと何営業日?」など)
DAXで営業日カウント列を作成する方法
(1) まずはカレンダーテーブルの準備
基本カレンダーテーブルの作成方法はこちらの記事を参照して下さい。 作成したカレンダーテーブルには、以下の列があります:
Date
(日付)Year
(年)Month
(YYYY-MM 形式)Weekday
(曜日名)IsWeekend
(土日フラグ)Holiday
(祝日名)
ここに「営業日カウント」列を追加していきます。
(2) 営業日カウント列(WorkDay)の追加
以下のDAX式をカレンダーテーブルに新しいカラムとして追加します:
WorkDay =
VAR CurrentDate = CalendarTable[Date]
VAR FirstDayOfMonth = STARTOFMONTH(CalendarTable[Date])
RETURN
IF(
CalendarTable[IsWeekend] = FALSE && ISBLANK(CalendarTable[Holiday]),
COUNTROWS(
FILTER(
CalendarTable,
CalendarTable[Date] >= FirstDayOfMonth &&
CalendarTable[Date] <= CurrentDate &&
CalendarTable[IsWeekend] = FALSE &&
ISBLANK(CalendarTable[Holiday])
)
),
BLANK()
)

✅ IF
を使い、週末 (IsWeekend = TRUE
) や祝日 (Holiday
が BLANK()
でない) を除外
✅ COUNTROWS(FILTER(...))
を使い、月初からの営業日数をカウント
✅ 営業日のみ WorkDay 番号を振り、週末や祝日は BLANK()
にする
このDAX式により、月初から数えた「営業日」番号(WorkDay1, WorkDay2, …) が追加されます!
まとめ:営業日カウントを活用しよう!
カレンダーテーブルに営業日カウント列を追加することで、ビジネスでの実務的な分析がよりスムーズになります。 例えば、以下のような使い方が可能です:
✅ 営業日ごとの売上進捗を可視化(「営業日10日目時点での売上額」など)
✅ 月初からの営業活動を追跡(営業日ベースのKPI管理)
✅ 業務フローの最適化(営業日基準のタスク管理)
Power BIのカレンダーテーブルを活用し、より精度の高いデータ分析を実現しましょう! 🚀
コメント