エクセル2016でパワークエリやってみる備忘録19メジャー(DAX)sumもDAXにするとスゴイ(いろんなレベルの合計)

こちらは素人です。

エクセル2016でパワークエリ、ピボットテーブルを使います。
office2016スタンダードなので、パワーピボットタブ出ません。
(「開発」タブのCOMアドインにパワーピボットがない)


前回、分からないことをメモで書いたが、それ以前につまづくところ。基礎。


合計(sum)について

 

(1)下記のテーブルがあるとします。
(列名ずれてます)

ID    種類    名称    月日    販売単価    数量    売上    原価    利益
A001    飲料    お茶    2021/4/1    120    10    1200    60    600
A002    飲料    白ワイン    2021/4/1    1000    5    5000    500    2500
A003    飲料    赤ワイン    2021/4/1    1500    3    4500    800    2100
A004    デザート    プリン    2021/4/1    100    8    800    80    160
A005    デザート    ゼリー    2021/4/1    130    5    650    100    150

 

中の数式は
「売上」列は、販売単価*数量
「利益」列は、売上-(数量*原価)

です。

 

(2)これをパワークエリに読み込みます。(データモデルに追加もします)

 

(列名ずれてます)

ID    種類    名称    月日    販売単価    数量    売上    原価    利益    利益率(クエリ)
P001    飲料    お茶    2021/4/1    120    10    1200    60    600    50.00%
P002    飲料    白ワイン    2021/4/1    1000    5    5000    500    2500    50.00%
P003    飲料    赤ワイン    2021/4/1    1500    3    4500    800    2100    46.67%
P004    デザート    プリン    2021/4/1    100    8    800    80    160    20.00%
P005    デザート    ゼリー    2021/4/1    130    5    650    100    150    23.08%

 

上記表は、カスタム列の追加で、
利益率(クエリ)=[利益]/[売上]
列を追加し、パーセンテージにしてます。

 

(3)ピボットテーブルを作成します。(白いセルでピボットテーブル起動。データモデル利用)

(行ラベルずれてます)
行ラベル    合計 / 売上    合計 / 利益    合計 / 利益率(クエリ)
デザート    1450    310    43.08%
 ゼリー    650    150    23.08%
 プリン    800    160    20.00%
飲料    10700    5200    146.67%
 お茶    1200    600    50.00%
 赤ワイン    4500    2100    46.67%
 白ワイン    5000    2500    50.00%
総計    12150    5510    189.74%

 

こんな感じで配置してます。
行・・・「種類」「名称」
値・・・「合計/売上」「合計/利益」「合計/利益率(クエリ)」

 

(考察:)
単純に「合計/利益率(クエリ)」各商品の利益率は合っていますが、(商品)種類は、違ってます。(総計も利益率189.74%って・・・)
各商品の利益率を単純に足しています。


野球選手の打率と考えると分かりやすいのですが、チーム打率(種類)を出すのに、各選手(各商品)の打率を合算しているのでおかしなことになります。


(4)ピボットテーブルにメジャー(DAX)追加。
売上合計=sum([売上])
利益合計=sum([利益])
利益率(ピボットテーブル)=DIVIDE([利益合計],[売上合計])

この3つを配置します。

 

(行ラベルずれてます)
行ラベル    合計 / 売上    合計 / 利益    合計 / 利益率(クエリ)    売上合計    利益合計    利益率(ピボットテーブル)
デザート    1450    310    43.08%    1450    310    21.38%
 ゼリー    650    150    23.08%    650    150    23.08%
 プリン    800    160    20.00%    800    160    20.00%
飲料    10700    5200    146.67%    10700    5200    48.60%
 お茶    1200    600    50.00%    1200    600    50.00%
 赤ワイン    4500    2100    46.67%    4500    2100    46.67%
 白ワイン    5000    2500    50.00%    5000    2500    50.00%
総計    12150    5510    189.74%    12150    5510    45.35%

こんな感じで上位レベルの「種類」でも利益率が計算されます。
(チーム打率が計算できるイメージ)


おそらくポイントとしては、
・上位レベルのあるもので上位でもきちんと計算させるには、

<計算に使用する各項目(アイテム)をメジャー(DAX)にしておく必要あり>

ということではないでしょうか。(素人です)


参考:「Excelパワーピボットで7つのステップでデータ集計・・・」
この本は詳細に書いてあるので、自分の気になるところを今回整理しました。
この本はsumx(イテレータ関数)までは書いていないのですが、使い方が分かれば、
ただのsumでもいろんなことができそうです。