ブログ

Power BIのデータに列を追加作成方法について

#Power BI #カラム #列 #方法 #追加

積極採用中
セミナー情報

今回は、Power BIのデータに列を追加する方法をご紹介します。

列の追加は、読み込み済みのデータに対し、条件式を追加する際に必須スキルとなります。今回は下記、3つの方法をご紹介します。

  1. クエリエディター上で「カスタム列の追加」をする方法
  2. データテーブルで「新しい列」を追加する方法
  3. マージで列を追加する方法

既存のテーブルに列が追加されるという点では、3つともおなじですが、列の追加方法とそれぞれの特徴を確認してみましょう。

 関連記事もぜひ参考にしてみてください
    ◆Power BI基礎編 初心者が知っておきたい列とメジャーの違い

使用データと追加する列について

今回は、Power BIのサンプルデータとして提供されているfinancialsテーブルを使用します。

このfinanacialsテーブルにて保持している国の列に対し、「国のグループ」列を追加しましょう。
条件は以下の通りとします。

  • 国名が「Germanay」「France」であれば「EU」と表示
  • 国名が「Canada」「Unites States of America」であれば「北米」と表示
  • 国名が「Mexico」であれば、「南米」と表示

クエリエディター上で「カスタム列の追加」する方法

まずは、Power Query上にて条件列を追加する方法です。

Power Queryを開き、リボンより列の追加タブから、条件列を選択します。

すると下記のように、条件列を入力することができますので、指定の条件を入力します。
今回は、国名が「Germany」と等しければ、「EU」と出力するといった条件を入力しています。演算子のリストには複数種類があり、対象の列が「10以上であれば~」という条件や「○○を含む場合は~」といった条件も選択可能です。作成する列の内容に合わせて、選択してみてください。

 

作成された列はクエリから確認が可能です。下記の画像からもわかるように、指定した条件の通り、グループ名が表示されています。

 

カスタム列作成の特徴

カスタム列作成の特徴には、下記が挙げられます。

  • クエリエディタで編集を行う。
  • クエリで新しい列を表示することができる。
  • 詳細エディタで編集ができる。
  • ステップで作業記録が残るため、履歴を追いやすい。
  • ステップを追加するので、クエリ更新に負荷が少しかかる。
  • 関数はM言語を使用する。

データテーブルから「新しい列」を追加する方法

続いて、データテーブルから「新しい列」を追加する方法をご紹介します。今回は、Power BI Desktopの「データ」フィールドで行いますので、クエリエディタは起動しません。

まずは「ホーム」タブから、新しい列を選択します。

 
すると、列が一行追加され、数式フィールドが生成されますので、そこにDAX関数を記載します。今回は、下記のようにIF関数を使用し、国の列が「Germany」であれば「EU」と出力するといった式を記入しました。

☑マークを選択すると、financialsテーブルに「国グループ」という新しい列が生成されます。

「新しい列」で列を作成した際の特徴

「新しい列」での作成の特徴は、下記が挙げられます。

  • データテーブルに直接列を作成することができる。
  • クエリ編集をしないため、クエリに作業履歴が残らず、履歴を追いにくい。
  • ステップに作業が残らないので詳細エディタでの編集ができない。
  • クエリに作成されないのでクエリ更新の負荷が少し減る。
  • 関数はDAXを使用する。

マージで列を追加する方法

最後にご紹介する方法は、キーになるカラムに対応する別テーブルの列を呼び出して列を追加する方法です。この方法では、キー項目から別テーブルを呼び出すため、2つのテーブルが必要となります。

最初に下記のような国グループを記載した「国テーブル」を追加します。

2つのテーブルは、リレーションの設定が必要となります。今回は、国名がキー項目ですので、国名にてリレーションを作成しています。

テーブル同士のリレーションを作成後、クエリエディタよりマージを行います。クエリエディタを開き、列の追加タブから、列のマージを選択。すると下記のようなエディタが表示されるので、テーブルを結合するキーとなる項目と結合の種類を選択します。

 
既存テーブルであるfinancialsテーブルに、国テーブルがそのまま追加されます。展開するカラム名を選択し、マージ完了です。今回は、グループ名のみを取得したかったので「国グループ」にのみ☑を入れました。


 
クエリエディタにて確認すると、下記画像のようにtableがそのまま追加されていることが分かります。

 
尚、マージする方法では、クエリから追加された列の中身を確認することができません。ですので、実際に表などのビジュアルにて該当のカラムを選択し、データを確認する必要があります。

[マージ」での作成の特徴

マージで列を追加する際の特徴は、以下が挙げられます。

  • どちらかのテーブルが一意の値を持っていないとそもそもマージすることができない。
  • クエリエディタで設定を行う。
  • クエリで新しい列が表示される。
  • 詳細エディタで編集ができる。
  • ステップで「マージ」と「列展開」の作業記録が2つ必ず残る。
  • ステップ的にクエリ更新の負荷が少し重い。
  • 関数は(たぶん)使わない。
  • 手順と結合ルールなど設定が多い。
  • 結合を間違えるとNull発生や値の倍化が発生する場合がある。

まとめ

 
いかがでしたでしょうか。

列を追加する3つの方法と、それぞれの特徴をご理解いただけましたでしょうか。
もちろん、元データであるExcel等に列を追加し、再度読み込むことも可能ですが、すでに作成した内容が壊れることもあります。計算式の追加であればクエリから対応できると非常に便利かと思いいます。

<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら

<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ