- 売上げ推移のグラフに「クイックメジャー」を使い別のグラフを追加
- その変化の要因を確認するために「ドリルスルー」を使用
- さらに深掘りをするために下の階層に展開
といった流れを練習しています。
「カテゴリごとの平均」を使う
「クイックメジャー」は、 よく使う「DAX(Data Analysis Expressions) 」コマンド式を、レポートに合わせて生成する機能です。
いまいち使いこなせていないので、メニューの先頭にある「カテゴリごとの平均」を練習しました。
以下のグラフを使います。
サンプルとして提供されている小売データ(AdventureWorks Sales.xlsx)を使った、月別の売上の推移です(日毎のデータを月ごとに集計しています)。
このグラフに別のディメンジョン(右側Y軸)の推移を加えるために、「クイックメジャー」を使います。

Y軸フィールド横(左図)のドロップダウンメニューから、「新しいクイックメジャー」を選択します(右図)。


「カテゴリごとの平均」を選びます。

「Order Quantity」(注文数量)の平均値を算出する式を設定します。
OKボタン(下記の画面に表示されていませんが下の方にあります)をクリックすると、Y軸フィールドに設定した値を使った式が配置されます。
(式の名称はデフォルトのままにしており、「日 ごとの Order Quantity の平均」となっています)

「日 ごとの Order Quantity の平均」を第2Y軸にドラッグして移動します。

月ごとの日毎平均発注数の推移が追加されました。

「ドリルスルー」を使う
最後のプロットの「2020年6月」を見ると他の月と違い、発注数量が増加しているので売上げが減少しています。
その要因を調べやすいように、別のグラフと「ドリスルー」で連携してみようと考えました。
連携先のグラフが以下です。
「カテゴリー(Category)」ごとの「売上げ推移」(棒グラフ)と「平均発注数量推移」(折れ線)です。
「カテゴリーと平均Unit Price(単価)のマトリクス表」も併記しています。
(平均Unit Priceは、ある期間に売れた商品の平均値となっています)

棒グラフと折れ線グラフに使ったフィールドが左側、マトリクス表に使用したフィールドが右側です。
このグラフを描いたシートの名称を「AdventureWorks2」とします。


右側のパネルの下側にある「ドリルスルー」フィールドに「月」を配置します。
これで準備完了です。

最初に作成したグラフに戻り、「2020年6月」のプロットにマウスカーソルを持っていき、右クリックします。
表示されたメニューから「ドリルスルー」を選び、「AdventureWorks2」シートを選択します。

「AdventureWorks2」シートに移り、グラフと表ともに「2020年6月」の数値に変わりました。

同様に「2020年5月」の表示に切り替えます。

「2022年6月」と比べると同月は「Clothing」(衣料)カテゴリの発注数量が多くなっています。
表から「Clothing」の平均単価が小さいこともわかります。
平均単価の低い「Clothing」が他の月より売れたことが、「発注数量が増加しているものの全体としては売上げが減少となった要因」の1つのようです。
階層内1レベル下をすべて展開
もう少し調べてみます。
「2022年6月」の「Clothing」の棒グラフをクリックして選択した状態にし、右上の「階層内1レベル下をすべて展開します」を選びます。

最も数量が多く売れているのは「Jerseys」(ジャージー)でした。

おそらく「Category」→「Subcategory」→「Product」(商品)と辿るとより詳細に調べられると思います。
例えば「Bike」カテゴリを各サブカテゴリ→「Product」と展開すると、6月には「Bike」の中でも単価の低い商品が数多く売れていたりするかもしれません。
ひとまず「クイックメジャー」と「ドリルスルー」の練習はここまでとしました。
(メモ)フィールドの集計方式「平均」とは違う
「Power BI Desktop」ではフィールドに配置する数値データの集計方法を、「集計しない」「合計」「平均」「最小値」「最大値」「カウント」「標準偏差」など複数の種類から選択できます。
この場合の「Order Quantity」(発注数量)の「平均」はクイックメジャーの「カテゴリの平均」と異なります(ということが今回の練習でわかりました)。
以下では、「表」ビジュアルのフィールドの一番下に「Order Quantity」をそのままドラッグ。
フィールドの右側をクリックし、「平均」を選んでいます。


生成した表です。
「日ごとのOrder Quantityの平均」が最初の方で作成したクイックメジャー、「Order Quantityの平均」が上記で設定したフィールドです。
「日ごとのOrder Quantityの平均」は、1日あたりの平均なので、「日ごとのOrder Quantityの合計」と同じ値です。
一方、「Order Quantityの平均」は算出式が異なります。
わかりやすいように「インデックスの合計」列を追加しました。
この列は、「YYYY年MM月DD日」の行の数をカウントしています。
例えば先頭の「2017年7月1日」は9行、「2017年7月2日」は19行です。
「Order Quantityの平均」は、「Order Quantityの合計 / インデックスの合計(行数)」で算出されます。
「2017年7月1日」であれば、「9 / 9 = 1.00」
「2017年7月2日」であれば、「33 / 19 = 1.73684・・・ 」
となります。
