Power BIで列を追加作成|おすすめの方法とベストプラクティスを分かりやすく解説
目次
Power BIを活用するうえで、「データに新しい列を追加したい」と感じたことはありませんか?
たとえば、国ごとに地域名を付ける、数値に応じてランクを付ける、他のテーブルと組み合わせて情報を増やすなど、列追加はあらゆる分析の第一歩となる操作です。
この記事では、Power BIで列を追加する代表的な4つの方法と、それぞれの特徴・ベストな使い分け方をご紹介します。
関連記事もぜひ参考にしてみてください
◆Power BI基礎編 初心者が知っておきたい列とメジャーの違い
使用データと追加する列について
今回使用するのは、Power BIのサンプルデータである「financials」テーブルです。
Microsoftが提供するサンプル「Financial Sample.xlsx」は、以下のリンクから直接ダウンロードできます。
Download the Financial Sample Excel workbook for Power BI – Power BI | Microsoft Learn
※ ダウンロード方法:
- 上記リンクを開く
- 右上の「Download」アイコンをクリック(またはページ右上の「Raw」→右クリックで保存)
このテーブルには「国」列が含まれており、ここに「国グループ」という新しい列を追加する想定で進めます。
このfinanacialsテーブルにて保持している国の列に対し、「国のグループ」列を追加しましょう。
条件は以下の通りとします。
- 国名が「Germanay」「France」であれば「EU」と表示
- 国名が「Canada」「Unites States of America」であれば「北米」と表示
- 国名が「Mexico」であれば、「南米」と表示
方法①:Power Queryで「カスタム列」を追加する
まず最初にご紹介するのは、Power Queryエディターを使って新しい列を追加する方法です。
Power BIでデータを読み込んだあと、特定の条件に基づいて分類やラベル付けをしたい場合、この方法がとても役立ちます。たとえば、「国」列の値によって「地域グループ」列を追加するようなケースにぴったりです。
手順
- Power BIの「ホーム」タブ →「データの変換」をクリックして Power Query を開きます
- 「列の追加」タブ →「条件列」を選択
- 条件に応じた出力を設定(例:「国」=”Germany” → “EU”)
- 必要に応じて「その他の場合」の設定も追加
特徴とメリット
- クエリエディタ上で条件ごとに細かい分岐が可能
- ステップ履歴が残るため、変更内容の追跡が容易
- 柔軟な編集が可能
注意点
- ステップが増えると、更新時のパフォーマンスに影響が出る場合があります
方法②データビューで「新しい列」を作成する(DAX)
続いてご紹介するのは、Power BIの「データ」ビューから直接列を追加する方法です。この方法は、Power Queryエディターを使わず、DAX関数を使って柔軟に列を追加したいときに便利です。
ユーザーインターフェースから手軽に操作できるため、Power BIに慣れてきた方にとって使いやすい選択肢の一つです。
手順
- Power BI Desktopの左側メニューで「データ」ビューを選択
- 「ホーム」タブ →「新しい列」をクリック
- 数式バーにDAX関数を記述(例:国グループ = IF(financials[国] = “Germany”, “EU”, …))
特徴とメリット
- モデル上に直接列が追加されるため、直感的に扱える
- クエリエディタを開かずに手軽に作成可能
- 複雑なロジックでもDAXで柔軟に記述できる
注意点
- クエリ側には影響を与えないので、後から追跡しにくい
- Power Queryでは編集できない(M言語とDAXは別)
方法③:別テーブルを「マージ」して列を追加する
最後にご紹介するのは、別テーブルと結合して列を追加する「マージ」機能の使い方です。たとえば、「国名」に紐づいた「国グループ」情報を別テーブルで持っている場合、リレーションを設定してその情報を取り込むことができます。複数のデータソースを組み合わせて活用したいシーンでは、この方法が非常に有効です。
手順
「国グループ」一覧を記載した別テーブル(例:国名とグループの2列)を準備
モデルでリレーション(国名)を設定
※リレーションについては別記事をご参照ください。
Power Query で「マージ」操作 →「展開」で必要な列を取り出す
特徴とメリット
- 外部データとの参照・結合に適している
- マスタ管理しやすく、メンテナンス性が高い
注意点
- リレーションやキー列の不一致でNULLが発生しやすい
- 手順が多く、誤ると重複や不正データの原因になる
方法④:RELATED関数で他テーブルの列を参照する方法
別テーブルの情報を元テーブルに追加したい場合、「マージ」以外にも RELATED 関数を使って列を作成する方法があります。
これは、あらかじめリレーション(テーブル同士のつながり)が設定されている状態で使えるDAX関数で、対象テーブルの値を直接引っ張ってくることができます。
使い方の例
- 「国マスタ」テーブルを用意し、「国」「国グループ」の2列を作成
- financials テーブルと「国マスタ」テーブルを「国」列でリレーション設定(1対多)
- 「financials」テーブルに新しい列を追加し、以下のDAX式を記載:
これにより、マスタ側の情報を簡単に引き込むことができます。
RELATED関数の特徴
- シンプルな構文で扱いやすく、処理も高速
- 複雑な設定不要。1対多リレーションさえあれば使える
- テーブル結合が不要なので、クエリが重くなりにくい
活用例
- 担当者マスタから「部門名」を追加する
- 商品マスタから「カテゴリ名」を追加する
- 地域コードから「エリア名」を表示する
💡補足:LOOKUPVALUE関数
RELATED関数やLOOKUPVALUE関数で他テーブルを参照する方法
Power BIでは、RELATED関数に加えて、リレーション設定なしで
キーを指定して値を取得できるLOOKUPVALUE関数も用意されています。
複数条件での参照や1対多リレーションがない場合などに活用できる便利な関数です。
詳しい使い方は以下の記事をご覧ください。
◆Power BIでVLOOKUP的な処理を実現する方法|LOOKUPVALUE 入門
使いどころ
- 「1対多」のリレーションが設定されていない場合や、複数のキー条件で絞り込みたいとき
- たとえば、複数の条件(国コード+年度など)を組み合わせてマスタから値を引っ張るケース
メリット
- リレーション不要で柔軟に参照できる
- 複合キー(複数列)の指定にも対応可能
まとめ|どの方法が最適?目的別おすすめの使い分け方
Power BIでは、列追加の目的やデータ構造によって、最適な方法を選ぶことが大切です。特に、RELATED関数は「1対多」のリレーションが前提ですが、処理が軽くメンテナンス性も高いため、マスタ参照には最もおすすめの方法です。
<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら
<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら
<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら