この記事はMicrosoft Power Automate Advent Calendar 2025の19日目の記事です。
内容
佐賀県の和服小売業で情シスをしています。私の勤務先では月の決められた日に「身の回りの整理整頓、ドキュメントの整理、駐車場掃除等」を社員全員が行うクリーンデーを行っており、クリーンデー当日は担当者が始業開始前にチャットにて連絡するルールがあります。
担当者がクリーンデーの連絡を忘れてしまいお局様からお叱りがあり、自動でクリーンデーを通知する仕組みを考えることとなりました。
クリーンデーの条件
基本は毎月15日ですが土日祝の場合には15日より前の平日をクリーンデーとしています。
事例がないか調べてみる
営業日に通知を行うクラウドフローの事例があるか調べたところ、様々な事例の記載があったがフローが複雑になったり、条件式が面倒そうだったので他の方法を考えてみる。
カレンダーテーブルから取得
Power BIのカレンダーテーブルには、今期の組織カレンダー情報(年月日、曜日等)を持っているため、Power Automateからカレンダーテーブルを参照しクリーンデーを通知できないかを考えてみました。
フローについて
現在日を取得し、Power BIコネクタを使用して発信日を取得、発信日が現在日と一緒であればチャットに通知するフローとなっています。
Power BIコネクタ
現在の日付を取得、発信するメッセージ内容を変数に設定しPower BIのコネクタから「データセットに対してクエリを実行する」を選択します。
パラメーターの設定
Power BIサービスのワークスペース名とセマンティックモデル(データセット)を選択します。
DAXクエリを記述します。
クエリテキストには、DAXクエリにてクリーンデーを通知する日を記述します。
現年月もDAXにて計算して、クリーンデーに該当する日を計算するDAXクエリを作成します。
//クリーンデーの日を計算するDAXクエリ
DEFINE
VAR __MAX_DATE = [最終売上日] //売上の最終取得日(昨日の日付)を取得
VAR __MAX = CALCULATE
( MAXX('日付テーブル','日付テーブル'[年月]),
'日付テーブル'[日付] = __MAX_DATE ) //日付から現年月を取得
VAR CLEAN_DAY =
//先頭行のみを表示
ROW( "発信日", CALCULATE(
MAX( '日付テーブル'[日] ) ,
'日付テーブル'[年月] = __MAX, //発信月
'日付テーブル'[日] <= 15 // 15日以前
,'日付テーブル'[曜日] < 5 // 土日を除く(月曜が0)
,'日付テーブル'[祝日] = 0 // 祝日を除く
))
EVALUATE
CLEAN_DAY //クリーンデー発信日を表示
クエリがあっているかの確認
DAXクエリビューにて、2025年6月の発信日を試しに実行してみたところ、休日を考慮して発信日が計算されていることを確認できます。
結果
クリーンデー当日に通知が来るようになりお局様からのお叱りもなくなりましが、決まった時間に決まった内容が送信されるため、生成AIで文章に季節要素を加えて通知するのもありだと感じました。
まとめ
営業日を判断したフローがある場合、Power BIのカレンダーテーブルを使うことで複雑なフローを作成しなくても指定日に通知を出すことができました。
ただこの方法はPower Automateのスキル以外にもPower BIのスキルも必要となるので逆に難しいかなと感じました。




