Power BIのデータに列を追加するにはいくつかの方法があります。
①クエリエディター上で「カスタム列の追加」
②データテーブルで「新しい列」
③マージで列を追加
この3つ、列を作成するという点は同じでも、後に残る結果が大きく違います。
違いを見ていきましょう
今回は、以前使った「全国の川で釣れた魚(?)」データと、都道府県マスタの2つを使って、都道府県コードでリレーションを結んだ状態で見ていきます。

①カスタム列の追加
カスタム列の追加はクエリエディター上で行います
都道府県コードが01の時は北海道、02は青森県…のように条件指定をしたカスタム列を作成してみました。
47条件あってさすがに面倒なので今回はIF式を使って詳細エディタで作成しました。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(中略)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(普通はこんな事せずにマージ1発ですが、今回は検証のためにわざとです)
出来上がり

カスタム列作成の特徴は、
- クエリエディタで行う
- クエリで新しく列が表示される
- 詳細エディタで編集ができる
- ステップで作業記録が残る
- ステップを追加するので、クエリ更新に負荷が少しかかる
- 関数はM言語を使用する
ところでしょうか
②データテーブルで「新しい列」を追加
Power BI Desktopの「データ」フィールドで行います。クエリエディタの起動はしません

「ホーム」タブ > 新しい列を選択すると、数式フィールドに入力を求められます。
今回は、DAXのRERATED関数を使用して、リレーションのある都道府県コードを引数にして都道府県テーブルから都道府県名の列を呼び出します。
エクセルのVLOOKUPのようなものです。

こんな感じで出来上がります
「新しい列」での作成の特徴は、
- 直にデータテーブルに列を作成する
- クエリ編集をしないため、クエリに作業履歴が残らない
- ステップに作業が残らないので詳細エディタで編集ができない
- クエリに作成されないのでクエリ更新の負荷が少し減る?
- 関数はDAXを使用する
ところ。
③「マージ」で作成
クエリエディタで作成。キーになるカラムに対応する別テーブルの列を呼び出して列を追加します
マージして都道県列だけ展開しました。
「マージ」での作成の特徴は、
- どちらかのテーブルが一意の値を持っていないとそもそもできない
- クエリエディタで行う
- クエリで新しい列が表示される
- 詳細エディタで編集ができる
- ステップで「マージ」と「列展開」の作業記録が2つ必ず残る
- ステップ的にクエリ更新の負荷が少し重い
- 関数は(たぶん)使わない
- 手順と結合ルールなどがいろいろめんどくさい
- 結合を間違えるとNull発生や値の倍化が起こったりする
ところ。
列の追加作成方法の比較
比較したところ、個人的な意見では
- クライアントへの納品物なら作業履歴がのこるクエリ編集のほうがいいかも
- クエリ更新が遅くなるのが嫌な人は「新しい列」がいいかも(計算列の追加扱いなので、webでの表示時に少し負荷があります)
- マージは複数列追加の時に使用すべし
- 履歴がはっきり残って後で手直ししやすいので「カスタム列の追加」は便利
お好みで。
参考リンク
Power BI Desktop でカスタム列を追加する | Microsoft Power BI
Power BI Desktop の計算列 | Microsoft Power BI
Power BI Desktop でのデータの整形と結合 | Microsoft Power BI