なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

Power Query:行のグループ化 その1

名前だけでは分かりにくいけど、クエリ内で何かを集計したい時に使う機能。

Power Queryでよく使う機能といったら、「クエリのマージ」「列のピボット解除」「行のグループ化」「インデックス列の追加」「列のピボット」の5つ。今回はその3つ目。

Excelを使っている人がクエリに初挑戦して、まずとまどうのは「集計」に関する機能が見つからないことだろうと思う。まさか「グループ化」がそれだとは思うまい。

「列1」「列2」の2列のテーブルがあるとして、「列1」には区分に類する情報が入力されているものとする。今回は「列1」を指定してグループ化を実行する。


「列1」を選択した状態で右クリック[グループ化]

すると、グループ化ダイアログが表示されるので、まずは「列1」が表示されているのを確認する。もしグループ化する列を複数指定したい時は「グループ化の追加」をクリックすれば、順次追加できる。

「操作」は全部で8種類(+2種類※)ある。

操作の名前

合計(List.Sum): 列の合計を計算する。 平均(List.Average):列の平均値を計算する。 中央(List.Median):列の中央値を計算する。 最小(List.Min):列の最小値を計算する。 最大(List.Max):列の最大値を計算する。 行数のカウント(List.Count):行数を計算する。 個別の行のカウント(List.Count/List.Distinct):重複を除いた行数を計算する。 すべての行:集計せずにグループ化されたテーブルをそのまま出力する。

この中から実行したい操作を選択する。デフォルトでは「基本」が選択されているので、新しい列名の下に操作行は1つだけ表示されている。集計列を追加したい時は「詳細設定」を選択すればいくらでも増やせる。

※Power Query Onlineには、この他に「個別の値をカウントする」「パーセンタイル」がある。

合計~最大までの操作では集計対象の「列」を別途選択する必要がある。

操作の最後にある「すべての行」はテーブルを返すので、何もせずにそのまま読み込むと結果が何も表示されない。

なので、読み込む前には何らかの操作が必要になる。よく使われるのは「行のグループ化」→「グループ列にインデックス列を追加」→「列を展開」→「列のピボット」という流れ。この辺りの操作はマウス中心でやるなら多分必須になる。

nandemo-xl.hatenablog.com

nandemo-xl.hatenablog.com