クイックメジャー「フィルターされた値」
「Power BI Desktop」が備える、計算式を使ったカスタム列(正式には「列」と呼ばないそうです)作成機能を試しました。
ひな形を使って作成できる「新しいクイックメジャー」機能で、「フィルターされた値」「フィルターされた値との差異」「フィルターされた値に対する差異の比率」を使いました。
データはNHKのサイトで提供されているオープンデータを使いました。
以下のような県別の数値が収録されています。
「Power BI Desktop」に取り込んだ直後のデータは以下のようなスタイルです。
この後、「県」をキーにフィルターします。
可視化画面右側のパネルで取り込んだフィールドを右クリックし、「新しいクイックメジャー」→「フィルターされた値」を選びます。
「基準値」に日毎の計測値、「フィルター」に「都道府県」を配置します。
「基準値」と「フィルター」を設定
「都道府県」では、今回、取り込んだデータをもとに自動的に収集された県のリストから「北海道」を選びます。
作成されたクイックメジャーフィールドをy軸、日付をx軸に設定することで、棒グラフを作成しました。
「北海道」だけの推移となります。
通常フィルタリングする場合、全県のデータを含むグラフを作成し、「フィルター」機能で県を選ぶなどします。
県を指定することになりますが、クイックメジャーで同様のことができました。
生成されたクイックメジャーの式(DAX)は以下のようになります。
北海道 の 各地の感染者数_1日ごとの発表数 =
CALCULATE(
SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数]),
'nhk_news_covid19_prefectures_daily_data'[都道府県名] IN { "北海道" }
)
「nhk_news_covid19_prefectures_daily_data」テーブルの「各地の感染者数_1日ごとの発表数」の合計を、次のフィルタ条件で算出、という内容になります。
フィルタ条件が「[都道府県名] IN { "北海道" }」で指定されており、見た通り都道府県名が「北海道」という設定になっています。
クイックメジャー「フィルターされた値との差異」
次に、「フィルターされた値との差異」を選びます。
「基準値」、「フィルター」は先ほど同様に日毎の計測値と「都道府県」→「北海道」を設定します。
作成したグラフです。
今回のデータの場合、都道府県全体の数値と北海道の数値との差を表しています。
生成されたクイックメジャーの式(DAX)は以下のようになります。
北海道 との 各地の感染者数_1日ごとの発表数 の差異 =
VAR __BASELINE_VALUE =
CALCULATE(
SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数]),
'nhk_news_covid19_prefectures_daily_data'[都道府県名] IN { "北海道" }
)
VAR __MEASURE_VALUE = SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数])
RETURN
__MEASURE_VALUE - __BASELINE_VALUE
「差異の比率」ではDAX式を小変更
クイックメジャー「フィルターされた値に対する差異の比率」を選びます。
生成された式は以下のようになります。
(計測値‐基準値)/基準値と、どれだけ上昇したか、下降したかを算出する式になっています。
業績の数値を解析するのに向いた式なので、今回のデータでは、「計測値/基準値」と変更します。
都道府県全体の何パーセントが北海道、という推移を表現するように変えます。
北海道 との 各地の感染者数_1日ごとの発表数 % の差異 =
VAR __BASELINE_VALUE =
CALCULATE(
SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数]),
'nhk_news_covid19_prefectures_daily_data'[都道府県名] IN { "北海道" }
)
VAR __MEASURE_VALUE = SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数])
RETURN
DIVIDE(__MEASURE_VALUE - __BASELINE_VALUE, __BASELINE_VALUE)
最後の行だけ変えて、以下のように変更(コピペ)しました。
北海道 との 各地の感染者数_1日ごとの発表数 % の差異 =
VAR __BASELINE_VALUE =
CALCULATE(
SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数]),
'nhk_news_covid19_prefectures_daily_data'[都道府県名] IN { "北海道" }
)
VAR __MEASURE_VALUE = SUM('nhk_news_covid19_prefectures_daily_data'[各地の感染者数_1日ごとの発表数])
RETURN
DIVIDE(__BASELINE_VALUE, __MEASURE_VALUE)
上記のクイックメジャーを使ったグラフが以下になります。
これまで作った3つのグラフと、確認のために作成した「都道府県全体」と「北海道」の折れ線グラフも作成しました。
了