膨大な生データから、要約テーブルを作成できるDAX関数であるサマライズ関数を紹介します。
【本記事で得られること】
・SUMMARIZE関数の使い方が分かる
・複数テーブルを一つにまとめて要約できる
SUMMARIZE関数は、数値計算した要約テーブルの作成や、複数データを統合した要約テーブルの作成などができる、超便利なDAX関数です。データ要約や集計に幅広く活用できるので、ぜひご参考ください!
SUMMARIZE関数の構文
SUMMARIZE関数の構文と、できることを解説します。
【SUMMARIZE関数 構文】
指定されたデータから新しい要約テーブルを作成できる
=SUMMARIZE(<table>, <group_by_column1>, <group_by_column2>, …, <aggregate_expression1>, <aggregate_expression2>, …)
分かりにくいので、簡単に言い換えると、
=SUMMARIZE(①表, ②グループ化する列, ③列の名前, ④計算式)
①表:要約したい元のデータテーブル
②グループ化する列:要約列、重複削除された項目で表示できる
③列の名前:任意の名前を””で囲む
④計算式:SUMやAVERAGEなど
※②③④は複数の列を繰り返し使用できる
◆できること、本日のゴール
今回は事例紹介として、元データである購入リストから「商品分類別の売上合計、売上平均の要約テーブル」、「月別の売上合計、売上平均の要約テーブル」の作成方法を解説します。
【結論】SUMMARIZE関数は、グループ化する列、列の名前、計算式を設定することで、要約テーブルを作成できる!
今回は複数の商品が入った購入データから、SUMMARIZE関数を使って要約テーブルを作成する方法を具体的に解説します。PowerBIやPowerQueryで活用頻度の高いDAX関数なので、ぜひマスターしてください!
SUMMARIZE関数で要約テーブルの作成
それでは、SUMMARIZE関数で要約テーブルを作成していきましょう。
元データは、下記の商品名や商品分類、購入地域などが複数入った購入リストです。事例説明として、PowerBIに取り込み、要約テーブルを作成していきます。
商品分類別の売上合計、売上平均のテーブルを作成して!
要約テーブルを作成したいので、PowerBIのデータビュー画面で「ホーム」→「新しいテーブル」からSUMMARIZE関数を使って、新しい要約テーブルを作成していきます。
=SUMMARIZE(①表, ②グループ化する列, ③列の名前, ④計算式)
サマライズ(商品分類) = SUMMARIZE(
'購入リスト','購入リスト'[商品分類],
"売上合計",SUM('購入リスト'[売上]),"売上平均",AVERAGE('購入リスト'[売上]))
①表:購入リスト
②グループ化する列:商品分類の列
③列の名前:”売上合計”
④計算式:SUM(売上列)
③’列の名前:”売上平均”
④’計算式:AVERAGE(売上列)
要約したい列、追加したい列の名前と計算式を指定すればOKです。
SUMMARIZE関数の構文に沿って、商品分類別の要約テーブルの作成ができました!
▶(参考記事)DAXにてSUM、SUMX関数の使い方
▶(参考記事)DAXにてAVERAGE、AVERAGEX関数の使い方
▶(参考記事)メジャー、新しい列の違い、データ加工方法
基準の列は、要約された状態、つまり重複削除された状態になるので、簡単に集計表が作成できますね!
【結論】SUMMARIZE関数で任意の列や計算式を指定すれば要約テーブルが作成できる!
複数のデータから要約テーブルの作成
次に、複数データを統合して要約テーブルを作成する方法を紹介します。
複数のデータテーブルから、一つの要約テーブルを作成するには、データがリレーションで連携してあることが前提条件です。リレーション設定がされていれば、先ほどと同様に簡単に要約テーブルを作成できます。
今回は先ほどの購入リストのデータと日付テーブルをリレーションで連携している状態を想定します。日付テーブルはカレンダー関数で作成しています。
▶(参考記事)カレンダー関数を用いて日付テーブルを一瞬で作成、テンプレあり
この日付テーブルのDate(日付)列と、購入リストの日付列がリレーションで連携している状態です。
▶(参考記事)PowerBIのリレーション設定の方法
次は、”各月”の売上合計、売上平均の要約テーブルを作成して!
各月の情報は日付テーブルにしかないので、そちらから取得します。他の売上データは購入リストから取得します。つまり、複数のデータテーブルから一つの要約テーブルを作成していることになります。
先ほどと同様にSUMMARIZE関数でそれぞれ取得すればOKです。
=SUMMARIZE(①表, ②グループ化する列, ③列の名前, ④計算式)
サマライズ月 = SUMMARIZE(
'購入リスト','日付テーブル'[年月_yy/MM],
"売上合計",SUM('購入リスト'[売上]),"売上平均",AVERAGE('購入リスト'[売上]))
①表:購入リスト
②グループ化する列:日付テーブルの年月列
③列の名前:”売上合計”
④計算式:SUM(売上列)
③’列の名前:”売上平均”
④’計算式:AVERAGE(売上列)
②のみ日付テーブルの情報を取得し、他は購入リストのデータから取得しています。
複数テーブルを統合した、要約テーブルの作成ができました!
【結論】リレーション設定をしておけば、SUMMARIZE関数で複数データを統合した要約テーブルの作成ができる!
SUMMARIZE関数で要約テーブルの作成まとめ
今回紹介したSUMMARIZE関数についてのポイントは下記です。
・SUMMARIZE関数で列や計算式を指定すれば
要約テーブルが簡単に作成できる!
・リレーション設定しておけば、SUMMARIZE関数で
複数データを統合した要約テーブルの作成ができる!
SUMMARIZE関数を使った応用として、PowerBIでパレート図を作成する手順を解説しています。合わせてご参考ください!
▶(参考記事)PowerBIでパレートの作成、SUMMARIZE関数の応用
SUMMARIZE関数は、データ要約や集計に幅広く活用できるDAX関数なので、ぜひご参考ください!
下記でPowerBIの便利機能とDAX関数をまとめています!
▶PowerBIの便利機能、DAX関数まとめ
最後まで読んでいただき、ありがとうございました!
良かったら↓クリック応援をよろしくお願いします!!
コメント