見出し画像

Power BI DesktopでRELATED関数やPower Queryエディターを使いカテゴリ別売上集計


2つのテーブルのリレーション設定

ある商品群の売上をグループ分けして集計します。
今回は商品をカラー(色)単位で分けました。

  • 方法1:リレーション設定

  • 方法2:リレーション設定 & RELATED関数

  • 方法3:Power Queryエディター & グループ化

  • 方法4:フィールドパラメータ

使ったデータはMicrosohtが提供しているサンプルデータ「AdventureWorks Sales.xlsx」です。
そのExcelファイルの中の商品別売上データ(Sales Data)と、台帳に相当する商品マスター(Product Data)を使います。

売上データ
商品マスター

「Power BI Desktop」で読み込んで、これら2つのデータを「ProductKey」で関係づけ(リレーション設定)をします。

モデルビュー(左側に縦に並んでいる3つのアイコンの一番下)でリレーション設定。「ProductKey」同士を関連づける

リレーション利用し通常通りテーブル作成

カラー別の売上表を作成します。
まずは通例通りテーブルを作成します。
テーブルのビジュアルを選択し、Prodct(マスター)テーブルの「Color」フィールドとSalesテーブルの「Sales Amount」(売上)フィールドをドラッグします。

テーブルに使うフィールドを配置

RELATED関数で別のテーブルの値利用

次はカスタマイズ列を利用します。
データビューでSalesテーブルをクリックした後に「新しい列」を選びます、

データビュー(左側に縦に並んでいる3つのアイコンの真ん中)で「新しい列」を選ぶ

「RELATED」関数を使い、「Product」テーブルの「Color」フィールドを返すように設定します。

Color2 = RELATED('Product'[Color]) 

Salesテーブルに「Color2」列が追加されます。

DAXを使ったカスタマイズ列(新しい列)が作成される

通常の手順でカラー別売上表を作成できます。

カスタマイズ列を栄養したカラー別売上表作成

Power Queryエディターで加工

グラフや表などを作成するレポート画面に進む前の、「Power Queryエディター」で加工する方法も試しました。
テーブル(クエリ)を複製して「Sales_copy」という名称にしました。

テーブル(クエリ)を複製

「クエリのマージ」を行い、「Sales_copy」クエリと「Product」クエリを「ProductKey」をキーに連結します。

「Sales_copy」クエリと「Product」クエリを「ProductKey」をキーにマージ

「Product.Color」列だけ展開して「Sales_copy」の一番最後に追加します。

「Product.Color」列だけ展開

「グループ化」機能を使い、「Product.Color」の項目ごとに「Sales Amount」を集計し、その集計値を「Sales Amoun_G」列に収納します。

グループ化」機能を使い、「Product.Color」の項目ごとに「Sales Amount」を集計

カラーごとの売上のテーブル(クエリ)が出来上がります。

カラーごとの売上のテーブル(クエリ)

レポートビューで表(テーブル)を作成します。

レポートビューでテーブル作成

上記のようにテーブルを使うと合計値が表示されませんでした。
「マトリックス」を使うと合計を表示できました。

マトリックスで表示

フィールドパラメータを利用した場合

「フィールドパラメータ」を利用し、「列単位」でフィルターさせてみました。
「フィールドパラメータ」を作成します。
「モデリング」→「新しいパラメータ」を選びます。
パラメーターとして「Category」「Subcategory」「Color」列を使います。

パラメーターとして「Category」「Subcategory」「Color」列を使用

「パラメーター」という項目が追加され、それを利用すると「スライサー」(下の画面左)を使って、表示を「Category」「Subcategory」「Color」ごとの売上表と、切り替えられるようになります。

「パラメーター」を利用すると「スライサー」を使って、表示を「Category」「Subcategory」「Color」ごとに切り替えられる

いいなと思ったら応援しよう!