![見出し画像](https://assets.st-note.com/production/uploads/images/139758995/rectangle_large_type_2_8ad80a5958788fcb203502e2641e8c3d.png?width=1200)
Power BI Desktopで移動平均クイックメジャーを使って困ったこと
DAXを利用した移動平均式を生成
「Power BI Desktop」では、「新しいクイックメジャー」機能を使用し、移動平均の「DAX」(Data Analysis Expressions)式を生成できます。
今回使用したデータは、厚生労働省のサイト「データからわかる-新型コロナウイルス感染症情報-」から「新規陽性者数の推移」を取得しています。
![](https://assets.st-note.com/img/1709561074-H9Pli6BNj2.png?width=1200)
「移動平均」を選びます。
![](https://assets.st-note.com/img/1709561075-XjqbFqIcyi.png?width=1200)
クイックメジャーに使うフィールドを配置すれば、計算式を生成してくれます。
下記の画面では、7日間移動平均を計算しています。
「前の期間」を「6」とすることで「7日目とその前の6日間 = 7日間」となるようです。
![](https://assets.st-note.com/img/1709561076-8OLv2IIrgq.png?width=1200)
生成されたDAX式が以下です。
Newly confirmed cases 移動平均 =
IF(
ISFILTERED('calender'[Date]),
ERROR("タイム インテリジェンスのクイック メジャーは、Power BI が指定する日付階層またはプライマリの日付列でのみグループ化またはフィルターできます。"),
VAR __LAST_DATE = LASTDATE('calender'[Date].[Date])
RETURN
AVERAGEX(
DATESBETWEEN(
'calender'[Date].[Date],
DATEADD(__LAST_DATE, -6, DAY),
__LAST_DATE
),
CALCULATE(SUM('pcr_positive_daily'[Newly confirmed cases]))
)
)
グラフを作成すると6日分余計に
DAX式をY軸に配置し、移動平均のグラフを作成します。
元データは県別の値が取得できます。
県から地方を参照できるテーブルを別途用意し、地方別のグラフにしています
![](https://assets.st-note.com/img/1709561077-Fm5i4LPQAK.png?width=1200)
ただ、上記のグラフは、6日先までプロットしています。
日付を降順に並べたのが下の表です。
最新の日付は「2023年1月31日」です。
一方、グラフの先端は「2023年2月6日」になっています
「2023年1月31日」を視点とした7日間移動平均の値までを描くようです。
![](https://assets.st-note.com/img/1709561078-VBXseWh3Qm.png?width=1200)
今回は「ヒント」を使って修正
グラフを「2023年1月31日」までにしようと、スライサーやフィルターを使いましたが、コントロールできませんでした。
※コントロールできないのは、日付=DATEが「年」「四半期」「月」「日」の階層構造になっていることが関係してるようです。
ただ、今回のクイックメジャーでは階層型のデータを使う必要があるので、ここは変えられませんでした。
他に効率の良い方法があるかもしれませんが、今回は「ヒント」フィールドを利用しました。
「ヒント」にX軸に使った時間要素を配置します。
グラフの上にマウスオーバーすると表示される要素を追加したい場合、「ヒント」を使えます。
「最も古い・・・」という表記になりますが、このまま進めます。
![](https://assets.st-note.com/img/1709561080-W4ll4vSajP.png?width=1200)
「フィルター」を使って、「最も古いDate」に対し「空白でない」という条件を加えます。
こうすることで、「存在するDateの値のみX軸として表示」と設定できます。
![](https://assets.st-note.com/img/1709561081-jCmz9u82ue.png?width=1200)
上記条件を反映したグラフです。
![](https://assets.st-note.com/img/1709561082-6UiRcksIcv.png?width=1200)
終点が「2023年1月31日」になっています。
![](https://assets.st-note.com/img/1709561083-omzYxsgr9Q.png?width=1200)