今回は「グループ化」というコマンドの使い方を紹介していこう。このコマンドは、指定した列でデータを区分して「合計」や「平均」などを自動集計してくれる機能となる。区分別の集計表(クロス集計表)を作成する場合などに活用できるので、ぜひ使い方を覚えておくとよい。
区分別の合計を自動算出する
まずは、例として使用する“データ取得元のフォルダー”から紹介していこう。今回は、あるハンバーガー店の売上データを使って操作手順を解説していく。データ取得元のフォルダーは以下の図のようになっており、現時点では4月1日~4月3日の売上データを記録した3つのExcelファイルが保存されている。
それぞれのExcelファイルには、各日に販売した「数量」と「売上」が提供方法(店内飲食/テイクアウト)や分類(バーガー類/サイドメニューなど)に分けて記録されている。これらのExcelファイルを結合して「Power Query エディター」に取得し、データ表を整理すると、以下の図のようになる。これまでに何回も利用している例なので見覚えがある方もいるだろう。
このデータ表を「グループ化」コマンドで集計してみよう。「変換」タブにある「グループ化」をクリックする。
すると、以下の図のような設定画面が表示されるので、最初に「どの列を基準にデータを区分するか?」を指定する。今回は“バーガー類”や“サイドメニュー”などの「分類」で区分した集計結果を求めてみよう。区分用の列に「分類」を選択する。
続いて、集計結果を表示する列の「列名」を入力する。今回は「売上合計」という名前を指定した。
最後に、データの集計方法を指定する。今回の例では「売上」の合計を集計するので、集計方法に「合計」、集計する列に「売上」指定する。
以上で「グループ化」の設定は完了だ。「OK」ボタンをクリックすると……、
「分類」で区分した「売上」の合計が表示される。つまり、バーガー類/サイドメニュー/ソフトドリンク/アルコールに区分して、それぞれの「売上の合計」を集計できたことになる。
このように「グループ化」を使用すると、区分別の合計などを手軽に集計することが可能となる。
「グループ化」の設定変更
先ほどの例では「分類」の列を基準にデータを区分したが、他の列を基準にデータを集計することも可能だ。今度は「日付」で区分した「売上」の合計を求めてみよう。
「グループ化」コマンドで実行した処理は、「グループ化された行」という名前でステップに記録されている。このステップにある「歯車」のアイコンをクリックする。
「グループ化」の設定画面が再表示されるので、区分用の列を「分類」から「日付」に変更する。集計方法は「売上」の「合計」のままでよい。
「OK」ボタンをクリックすると、先ほどの集計結果が「日付」で区分した「売上」の合計に置き換わる。これで“毎日の売上”を一目で確認できるようになる。もちろん、この集計結果をExcelに出力することも可能だ。この操作手順は、通常のデータ表を出力する場合と同じ。「ホーム」タブにある「閉じて読み込む」をクリックすればよい。
先ほどの集計表が“テーブル”としてExcelに出力される。あとは、各列に適当な「表示形式」を指定するだけ。これで以下の図のような集計表を作成できる。
このように、集計表の作成にパワークエリを活用することも可能である。もちろん、パワークエリの魅力のひとつである“データの更新”にも対応している。続いては、データ取得元のフォルダーに“新しいExcelファイル”を追加した例を見ていこう。
クエリの更新と集計結果
以下の図は、データ取得元のフォルダーに「4月4日の売上」と「4月5日の売上」のExcelファイルを追加した例だ。
パワークエリの利点を理解している方なら、以降の操作は容易に想像できるだろう。先ほど集計表を出力したExcelファイルを開き、「データ」タブにある「すべて更新」をクリックする。
すると、クエリに記録されている処理が再実行され、
(1)フォルダー内にあるExcelファイルを結合してデータを取得する (2)処理手順に従ってデータ表を加工する(集計表を作成する) (3)加工したデータ表(集計表)をExcelに出力する
といった一連の処理が自動的に行われる。その結果、4月4日と4月5日の「売上合計」を追加した集計表に更新することが可能となる。
4月6日以降についても同様だ。各日の売上データを記録したExcelファイルをフォルダーに追加し、「すべて更新」をクリックするだけで“最新の集計表”を作成できるようになる。
このように“データ表の加工”ではなく、“集計表の作成”にパワークエリが活用されるケースもある。その際に威力を発揮するのが「グループ化」というコマンドだ。この機会に、ぜひ使い方を覚えておくとよいだろう。
グループ化の詳細設定
「グループ化」コマンドには、複数の列を基準にデータを自動集計する機能も用意されている。この場合は、「グループ化」の設定画面で「詳細設定」を選択すればよい。続いて、1番目の「区分用の列」を指定し、「グループ化の追加」ボタンをクリックする。
すると、2番目の「区分用の列」を指定できるようになる。以下の図は、「提供方法」で区分し、さらに「分類」で区分するように指定した例だ。
続いて、データの集計方法を指定する。今回の例では「数量」の「平均」を集計してみよう。さらに、別の集計方法を追加することも可能だ。この場合は、「集計の追加」をクリックすればよい。
2番目の集計方法を指定できるようになる。今回の例では「売上」の「平均」を集計するように指定した。この設定で「OK」ボタンをクリックすると……、
「提供方法」→「分類」で区分した「数量」と「売上」の平均を自動集計できる。あとは「閉じて読み込む」をクリックしてExcelに出力するだけだ。
これで「提供方法」と「分類」に区分した形で、「数量」と「売上」の平均を求めることができる。たとえば、「店内飲食」の「バーガー類」の場合、1日あたり83個売れており、その平均売上は75,580円になる、ということを把握できる。
このように、より詳細に区分した集計表も作成できる。もちろん、フォルダーに“新しいExcelファイル”を追加して「すべて更新」をクリックすると、最新データを含めた形で集計結果を計算しなおすことが可能だ。
ただし、「平均」を求めるときは「どのようにデータが平均されているか?」に注意しておく必要がある。ということで、次回は集計方法に「平均」を指定するときの注意点と対処方法を紹介していこう。