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

このページでは、ADDCOLUMNS関数の機能と使い方を紹介。テーブルに列を追加する方法を記載します。
・使用する関数:ADDCOLUMNS

目次

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

ADDCOLUMNS関数はテーブルに計算列を追加して新しいテーブルを作成することが可能なテーブル操作関数です。複数の列を追加することができます。

=ADDCOLUMNS(“テーブル”,”列名1”,”計算式1”,(”列名2”,”計算式2”,,,,))
複数の列を追記にするには、列名と計算式を追記していきます。

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

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

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

関数の基本的な使い方

ADDCOLUMNS関数はテーブル操作関数なので、レポートビューのモデリングタブ、新しいテーブルを選択します。
DAX式を入力することで、新しい列を追加したテーブルを新規作成することができます。

新しいテーブルの位置
ADDCOLUMNS関数の引数候補

ADDCOLUMNS関数を使用してfinancialsテーブルの割引率(Discount rate)を計算してみます。
割引率の計算式は[Discounts] / [Gross Sales] *100 で計算しています。

テーブル名はfinancials2とします。

financials2 = ADDCOLUMNS(
    financials,
    "Discount rate",DIVIDE([Discounts],[Gross Sales])*100
    )
ADDCOLUMNS関数で作成したテーブル。

financialsテーブルにDiscount rateという新しい列が追加されたfinancials2というテーブルを作成することができました。

補足:
financialsテーブルにもともとあったDiscount Bandと、計算したDiscount rateの関係。
0-4%がLow,5-9%はMedium,10-15%がHighとして登録されているようです。

Discount Bandと、計算したDiscount rateの関係を表示したグラフ。

上記の方法は、すでに存在するテーブルに対して、列を追加しているだけです。
あえて、ADDCOLUMNS関数を使用して新しいテーブルを作成する必要はないかもしれません。
新しい列の追加でも同様のことは可能です。

実践的な使い方

実際に使用する場合、参照するテーブルは実際に存在するテーブルではなく、テーブルを返す関数別のテーブル操作関数に対して列を追加し、新しいテーブルを作成することが多いと思います。

=ADDCOLUMNS(“テーブル“,”列名1”,”計算式1”,(”列名2”,”計算式2”,,,,))

例えば下記のDAX式では、FILTER関数と組み合わせることで、[Country]がドイツ(Germany)のみのデータを抽出、そこに新しい列を追加した新しいテーブルを作成しています。

financials_Germany = ADDCOLUMNS(
    FILTER(financials,[Country]="Germany"),
    "Discount rate",DIVIDE([Discounts],[Gross Sales])*100
)

また、SUMMARIZE関数と組み合わせることで、グループ化したテーブルに対して計算列を追加することもできます。

financials_smm = ADDCOLUMNS(
    SUMMARIZE(
        financials,
        financials[Country],
        financials[Discount Band]
        ),
    "Gross sales",CALCULATE(
        SUM(financials[Gross Sales]),
        ALLEXCEPT(financials,financials[Country],financials[Discount Band])),
    "Discount",CALCULATE(
        SUM(financials[Discounts]),
        ALLEXCEPT(financials,financials[Country],financials[Discount Band]))
)
SUMMARIZE関数と組み合わせてテーブルを作成した結果。

計算式で使用したALLEXCEPT関数の解説は下記を参照してみてください。

カレンダーテーブルを作成する際も、広く使われていることが多いです。
CALENDAR関数と組み合わせてカレンダーテーブルを作成する方法は下記の記事で紹介しています。

まとめ

  • ADDCOLUMNS関数はテーブルに新しい列を追加して新規テーブルを作成。
  • テーブルを返す関数や別のテーブル操作関数に対して列を追加し、新しいテーブルを作成することが一般的。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

目次