[Power BI] SUMMARIZE関数の機能と使い方・使用例

このページでは、SUMMARIZE関数の機能と使い方を解説します。サマリーテーブルの作成や、データの要約方法を紹介します。
・使用する関数:SUMMARIZE関数

目次

関数の概要と使用データの紹介

SUMMARIZE関数は、テーブルの中から列データを選択し、選択する列を基準としたデータテーブルを作成することができるテーブル操作関数です。

=SUMMARIZE(テーブル名、グループ化する列、名前、計算列、)
グループ化する列、名前、計算列は複数選択することができます。また、名前、計算列は省略が可能です。
グループ化する列は集計の基準となる列です。

この記事では、MIcrosoftからダウンロードできる財務サンプルデータを使用してSUMMARIZE関数を使用してみます。
ページ内の直接ダウンロードするからダウンロードすることができます。

ダウンロードしたExcelブックは、月ごとにSegment、Country、Product、Discount Band、Profitなどの財務関係のデータが入っています。テーブル名はfinancialsとします。

財務サンプルデータの抜粋。

関数の基本的な使い方

SUMMARIZE関数はテーブル操作関数なので、レポートビューのモデリングタブ、新しいテーブルを選択します。
DAX式を入力することで、新しくサマリーテーブルの作成やデータの要約ができます。

SUMMARIZE関数の引数の紹介。

サマリーテーブルとは、元のデータから集計、要約されたデータのセットのことで、大量のデータを効率的に扱うためのテーブルのことです。

financialsテーブルに対して、SUMMARIZE関数を使用してみます。

グループ化する列(第2引数)だけを選択した場合

グループ化する列が1つの場合。

SUMMARIZE_financial = 
SUMMARIZE(
    financials,
    financials[Country]
)

グループ化する列の引数に[Country]だけを選択することで、financialsテーブルの中にCountry列にあるデータだけを抽出することができます。このとき、データは重複しません。

グループ化する列の引数に[Country]だけを選択した場合の結果。

グループ化する列が2つの場合。

SUMMARIZE_financial = 
SUMMARIZE(
    financials,
    financials[Country],
    financials[Product]
)

グループ化する列の引数に[Country]と[Product]を選択しました。
financialsテーブルの中からCountry列とProduc列を抽出し、新しいテーブルを作成することが可能です。

グループ化する列の引数に[Country]と[Product]を選択した結果のテーブル。

グループ化する列は、リレーションシップの関係がある別のテーブルの列を引用することができます。

名前、計算列(第3,4引数)の使い方

第3,4引数を使用して、グループ化したテーブル計算列を追加することができます。
計算結果は、グループ化した列に応じた行コンテキストが反映されています。

SUMMARIZE_financial = 
SUMMARIZE(
    financials,
    financials[Country],
    "SUM Sales",SUM(financials[ Sales]),
    "SUM Unit Sold",SUM(financials[Units Sold])
)

グループ化したCountryに対して、Salesの合計と、Unit Soldの合計を計算し、新しい列で表示しました。

グループ化したCountryに対して、Salesの合計と、Unit Soldの合計を追加したテーブル。

このように、SUMMARIZE関数を使用すること、大規模なデータから、任意の項目だけで構成されるサマリーテーブルを作成することが簡単にできます。

SUMMARIZE関数の使用例

financialsテーブルから、Countryデータを抽出し、日本語で記載された国名列を追加してみます。

国名 = 
SUMMARIZE(
    financials,
    financials[Country],
    "国名",SWITCH(TRUE(),
    [Country]="Canada","カナダ",
    [Country]="France","フランス",
    [Country]="Germany","ドイツ",
    [Country]="Mexico","メキシコ",
    [Country]="United States of America","アメリカ"
    )
)
抽出したCountryデータに対して、日本語の国名を追加したテーブル。

作成した国名テーブルはCounrtryを基準にfinancialsテーブルとリレーションシップを作成します。

国名テーブルとfinancialsテーブルのリレーションシップの関係。


financialsテーブルを使用した、サマリーテーブルの作成例を表示してみます。
ここでは、2014年のみとデータを抽出し、別のテーブルのデータである日本語の国名も列データとして加えます。

SUMMARIZE_financial_2014 = 
SUMMARIZE(
    FILTER(financials,[Year]=2014),
    financials[Country],
    financials[Product],
    '国名'[国名],
    "SUM Sales",SUM(financials[ Sales]),
    "SUM Profit",SUM(financials[Profit])
)
サマリーテーブルの作成例の結果。

まとめ

  • SUMMARIZE関数を使用することで、サマリーテーブルやデータを要約することが可能。
  • リレーションシップの関係にあるデータを引用することができる。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

技術系職社会人:業務でPowerBI を活用/データ分析/インドア派/趣味:ゲーム、カプセルトイ収集/[III]Mosnterが好き/勉強中:Blender/日々習得した内容をアウトプットしていきます!

目次