Power BI で、3か月の移動平均を出す方法(DATESINPERIOD と AVERAGEX)
濵口 翔長崎で、Power BI のつまずきを記録しています確認日2026年10月23日。
Power BI Desktop(日本語版、 2.159.883.0)で、 ダミーの データを 使って 確かめました。 確認できていない ことは、 末尾に まとめました。
月ごとの
結論
(30秒版)
AVERAGEX(DATESINPERIOD('月次売上'[月], MAX('月次売上'[月]), -3, MONTH), CALCULATE(SUM('月次売上'[売上])))で、その 月と、 その前の 2か月の 平均が 出ました。 - 最初の
2か月は、 、3か 月そろわないまま 1か 月分・2か 月分の 平均に なりました (1月は、 1月だけの 値)。 - 3か
月そろった 月だけ出したい ときは、 COUNTROWSで、期間の 月の 数を 数えて、 足りなければ BLANK()にしました。
前提
ダミーの
この
月次売上 =
SELECTCOLUMNS (
GENERATESERIES ( 1, 12, 1 ),
"月", DATE ( 2025, [Value], 1 ),
"売上", 3000 + MOD ( [Value] * 700, 1900 )
)
売上は、
手順
「新しい
3か月移動平均 =
AVERAGEX (
DATESINPERIOD ( '月次売上'[月], MAX ( '月次売上'[月] ), -3, MONTH ),
CALCULATE ( SUM ( '月次売上'[売上] ) )
)
MAX('月次売上'[月])は、いま見ている 月(表の 行の 月)です。 DATESINPERIOD(…, -3, MONTH)は、その 月から、 3か 月さかの ぼった 期間の 日付です。 AVERAGEXは、その 日付の 1つ 1つで、 売上の 合計を 出して、 平均します。
表の
結果の読み方
3月は、
売上は
最初の
- 1月: 3,700.00(1月だけの
値) - 2月: 4,050.00(1月と
2月の 平均)
これは、
移動平均3か月そろう月だけ =
VAR n =
COUNTROWS (
DATESINPERIOD ( '月次売上'[月], MAX ( '月次売上'[月] ), -3, MONTH )
)
RETURN
IF ( n < 3, BLANK (), [3か月移動平均] )
表に

合計の行に注意
表のMAX('月次売上'[月]) が、
公式の記載との照合
Microsoft Learn(日本語版ではなく、
- 戻り値: 日付の
列を 渡した ときは、 日付が 1列の 表を 返す、 と 書かれています。 メジャーの 中で、 AVERAGEX や COUNTROWS に 渡せた、 私の 観察と 合っています。 - 列に
ある : 戻り値の日付だけ 表には、 渡した 列に 入っている 日付だけが 入る、と 書かれています。 この ため、 毎月 1日だけの 列では、 期間の 中の 日付(月の 数)が、 1、 2、 3 と 数えられた、と 私は 読んでいます。 - 日付テーブル: 公式では、
一番 よく ある 使い方は、 「日付テーブルと して マークした 表」の 日付の 列を 渡す ことだ、 と 書かれています。 この 記事では、 マークしていない 列で 動きましたが、 実際の 仕事では、 日付テーブルを 使う ほうが、 公式の 使い方に 近いです。
この記事で確認できたこと・できていないこと
確認日: 2026年10月23日。
確認できた
- 上の
メジャーで、 3か月の 移動平均が 出た こと (3月と 4月は、 手計算と 一致) - 最初の
2か 月が、 1か 月分・2か 月分の 平均に なる こと COUNTROWSを使う メジャーで、 1月と 2月が 空白に なる こと - 合計の
行が、 12月の 値と 同じに なる こと
確認できていない
- 日付テーブルと
つないだ場合(日付テーブルを マークして、 日付の 列に 毎日の 行が ある 場合)の 動き。 その 場合、 期間の 日付の 数え方が 変わるので、 COUNTROWSの式は、 そのままでは 使えないと 考えられます - 毎日の
データで、 移動平均を 出す場合 - 月が
1つ抜けている データでの 動き - 折れ線グラフに
載せた ときの 見え方 - Power BI サービスでの
動作、 英語版での 名称
参考
- DATESINPERIOD(Microsoft Learn、
英語版) 。確認日 2026年10月23日。
この記事で使った用語
- Power BI Desktop
- Windows で動く、レポートを作るためのアプリです。データの取り込みとモデルの作成、レポートの作成に向いています。