こちらは素人です。
エクセル2016でパワークエリ、ピボットテーブルを使います。
office2016スタンダードなので、パワーピボットタブ出ません。
(「開発」タブのCOMアドインにパワーピボットがない)
前の備忘録で、例えとして「打率」を出しました。
ピボットテーブルのレベル別の合計は、選手の打率から、チーム打率を出そうとするのに似ていると。
(商品の利益率だとしっくりこない。さすが素人)
それをパワークエリとピボットテーブルでやってみました。
(1)こんなテーブルを用意
(列ずれてます)
チーム 名前 番号 打席数 安打
ジャイアンツ 山田 1 120 40
ジャイアンツ 川崎 2 100 25
ジャイアンツ 坂田 3 50 7
ライオンズ 西田 1 100 45
ライオンズ 山田 2 130 55
(2)パワークエリで読み込みます(データモデルに追加)面倒なので接続専用
(列ずれてます)
チーム 名前 番号 打席数 安打
ジャイアンツ 山田 1 120 40
ジャイアンツ 川崎 2 100 25
ジャイアンツ 坂田 3 50 7
ライオンズ 西田 1 100 45
ライオンズ 山田 2 130 55
(3)比較用にクエリ上で打率作成
カスタム列を追加し、安打/打席数で打率を作成。
Table.AddColumn(変更された型, "打率(クエリ)", each [安打]/[打席数])
(4)空白セルでピボット作成(データモデルを使用)
(行ラベルずれてます)
行ラベル 合計 / 安打 合計 / 打席数 合計 / 打率(クエリ)
ジャイアンツ 72 270 0.723333333
坂田 7 50 0.14
山田 40 120 0.333333333
川崎 25 100 0.25
ライオンズ 100 230 0.873076923
山田 55 130 0.423076923
西田 45 100 0.45
総計 172 500 1.596410256
行にチーム、名前
値に、安打、打席数、打率(クエリで作成)を配置(合計で表示)
チーム打率が7割越えたりしてます。選手の打率の合計になっている。
(5)ピボットテーブルでメジャーDAXを作成(3つ作成)
打席数合計=sum('テーブル1'[打席数])
安打合計=sum('テーブル1'[安打])
打率=DIVIDE([安打合計],[打席数合計])
(打率はパーセントにしてます。)
(行ラベルずれてます)
行ラベル 合計 / 安打 合計 / 打席数 合計 / 打率(クエリ) 打率
ジャイアンツ 72 270 0.723333333 26.67%
坂田 7 50 0.14 14.00%
山田 40 120 0.333333333 33.33%
川崎 25 100 0.25 25.00%
ライオンズ 100 230 0.873076923 43.48%
山田 55 130 0.423076923 42.31%
西田 45 100 0.45 45.00%
総計 172 500 1.596410256 34.40%
値に打率を入れるとこうなります。