Power BIで実現する文字列結合の活用術:DAXとPower Queryを用いた具体的テクニック

データ分析を行う際、数値の集計や可視化だけでなく、文字列をどのように扱うかも重要です。顧客名や製品名、地域名など、文字列データを集約・整形することでレポートが見やすくなり、分析作業の効率化につながります。Power BIでは、DAX関数とPower Queryエディターの両方で文字列を結合できます。そこで本記事では、Power BI環境で文字列を結合するための具体的な手順や活用方法をわかりやすく解説します。


1. 文字列結合の基本的な考え方

文字列の結合とは、複数の文字列データをまとめて一つの文字列にする操作を指します。たとえば「東京」「支店」「売上」を一つにまとめて「東京支店売上」という文字列にしたり、顧客の氏名とメールアドレスをあわせて「○○様 (xxx@example.com)」のような表現にまとめたりといったケースがあります。

Power BIでは、DAXによるメジャーや計算列の作成、あるいはPower Queryエディター内でのステップ(M言語)を使った操作によって、自由に文字列を結合できます。どの方法を使うかは、結合の目的や運用体制に応じて柔軟に選択するとよいでしょう。


2. DAXを使った文字列結合

2-1. 計算列での文字列結合

DAXを使用する場合、まずは計算列での方法を紹介します。計算列を使うと、テーブルの各行に対して列同士を結合した文字列を作り出すことができます。

  1. 対象テーブルの選択
    Power BI Desktopの「データ」ビューで、結合したい列が含まれるテーブルを選択します。

  2. 新しい列の追加
    リボンから「列の追加」をクリックし、DAX式を入力するテキストボックスを表示させます。

  3. DAX式の入力
    たとえば、「[FirstName]」「[LastName]」という列があるとします。これらをスペースで区切って結合したい場合、以下のように入力します。

    DAX
    FullName = [FirstName] & " " & [LastName]

    ここでは & 演算子を使って文字列を連結し、間に半角スペースを挟んでいます。

  4. 結果の確認
    作成した「FullName」列に、すべての行で結合された文字列が表示されます。

2-2. メジャーでの文字列結合

メジャーを使った文字列結合は、集計結果やコンテキスト(フィルターの状況)によって生成される文字列が変わるという点で、計算列とは異なります。直接テーブルの行ごとに値が入るわけではなく、ビジュアルなどにおける「動的な表示用」として活用する場合に有効です。

  1. メジャーの追加
    「モデリング」タブから「新しいメジャー」を選択します。

  2. DAX式の入力
    たとえば、特定の製品カテゴリごとに製品名をまとめた文字列を作りたい場合には、CONCATENATEX 関数を利用します。

    DAX
    ProductList =
    CONCATENATEX(
    'Products',
    'Products'[ProductName],
    ", "
    )

    第3引数の「, 」は区切り文字です。これにより、複数行の製品名がコンマ区切りで連結されます。

  3. ビジュアルへの配置
    作成したメジャーをテーブルやカードなどのビジュアルに配置すると、コンテキストに応じた文字列のリストが表示されます。たとえばスライサーで製品カテゴリを選べば、そのカテゴリに属する製品名のみを連結する形で表示可能です。

2-3. メジャーか計算列かの使い分け

  • 計算列
    行ごとに固定された文字列を持たせたいときに適しています。たとえば「姓 + 名」などのフォーマットを常にテーブルに持たせたい場合に有用です。

  • メジャー
    フィルターコンテキストによって異なる文字列を動的に生成したい場合に適しています。可変的な集計や分割を行う必要がある状況ではメジャーが便利です。


3. Power Queryエディターを使った文字列結合

3-1. 基本操作の流れ

Power Queryエディター(クエリエディター)では、M言語を使って列を操作できます。DAXとの大きな違いは、データの「取得・変換」を行う段階で列を整形する点です。データソースから取り込むタイミングで文字列結合を済ませておきたい場合に有用です。

  1. クエリエディターの起動
    Power BI Desktopでレポートを開いた状態で、「データの変換」→「データの変換」をクリックします。

  2. 列の追加
    クエリ一覧から対象となるクエリを選択し、「追加列」タブから「カスタム列」を選択します。

  3. カスタム列の式入力
    ポップアップで表示される「カスタム列」ダイアログにて、以下のようにM言語の式を入力します。たとえば「[FirstName]」「[LastName]」を結合する場合は次のようになります。

    M
    [FirstName] & " " & [LastName]

    クエリエディターでも & 演算子で文字列をつなぎます。

  4. 結果の確認と適用
    列が正しく結合されていれば「OK」をクリックし、クエリエディターの画面を「閉じて適用」すると、Power BI Desktopのモデルに反映されます。

3-2. 条件付きでの文字列結合

Power Queryでは「条件付き列」の機能を使うと、特定の条件によって文字列の結合パターンを変えられます。たとえば、顧客区分が「法人」なら会社名+担当者名を結合し、「個人」なら氏名を結合するといった柔軟な処理が可能です。

  • 条件付き列の追加
    「列の追加」タブ→「条件付き列」を選択し、条件に応じた結合処理を定義します。

  • 複雑な条件
    ANDやORを使った複数条件も設定でき、さらに複雑な結合ロジックを組み込むことが可能です。

3-3. クエリ段階での結合メリット

  • レポートパフォーマンスの向上
    必要な文字列結合をあらかじめデータ取得段階で実行するため、Power BIがレポート表示のたびに計算を行う負荷を減らすことができます。

  • データクレンジングと合わせて活用
    Power Queryは、文字列置換や余分なスペースの削除、Nullの扱いなどを一括して設定できます。結合の前に不要な文字を取り除くことで、整合性の高いデータを持った列が出来上がります。


4. 典型的な文字列結合のパターン

4-1. 複数列の結合と区切り文字

例えば、「住所」「市区町村」「番地」の列を結合して、完全な住所を作成したいケースがあります。DAXでもPower Queryでも、下記のように区切り文字を明示して結合可能です。

DAX
FullAddress = [住所] & ", " & [市区町村] & ", " & [番地]

これにより、見やすいフォーマットで1つの列にまとめられます。

4-2. Nullや空文字列の扱い

いずれかの列がNullの場合、結合結果が想定外となることがあります。例えばDAXでNullを扱うときは、IF 関数や COALESCE 関数を使って空文字列に置き換える方法があります。

DAX
SafeName =
[FirstName] & " " & COALESCE([MiddleName], "") & " " & [LastName]

MiddleNameがNullであっても空文字列で代替されるため、全体の結合が壊れません。

4-3. 単語の切り捨てや文字列の長さ制限

長いテキストを途中で切り捨てたい場合はDAXの LEFT 関数やPower Queryの Text.Start 関数を利用します。結合前後に適用することで、最大文字数を調整できます。


5. 実運用におけるポイント

5-1. レポート編集者間のルール設定

文字列結合の命名規則や書式は人によって異なる場合があります。例えば「姓と名の間にスペースを入れる/入れない」など細かい点をチームで共有し、データの整合性を保つようにしましょう。

5-2. 一元管理するデータの重要性

ExcelやCSVなど複数のファイルから取り込んだり、さまざまなシステムを連携させたりする際には、同じ情報であっても表記揺れが起こりがちです。Power Queryでのデータクレンジングや、外部のデータソース側での標準化を適切に行うことで、文字列結合後のデータをスムーズに活用できます。

5-3. 大規模データに対する計算効率

数十万~数百万件規模の行に対して文字列結合を頻繁に行うと、パフォーマンスの問題が生じることもあります。大規模データでは、Power Query側のステップであらかじめ必要な文字列に加工しておき、DAX上ではあまり複雑な処理をしないように心がけるとよいでしょう。

5-4. ビジネスロジックと連動した使い方

ただ文字をつなげるだけでなく、ビジネスロジックと組み合わせるとさらに便利です。たとえば営業担当者ごとのコードと月度情報を結合して管理番号としたり、品目名とサイズ情報を結合してSKUを生成したりすることも可能です。これらの処理をPower BIのDAXやPower Queryで一元管理すると、Excelベースの手作業に比べてミスが減り、更新作業も格段に楽になります。


6. まとめ

Power BIで文字列を結合する方法には、DAXとPower Queryエディターの2つのアプローチがあります。DAXは計算列かメジャーかを目的に応じて使い分け、Power QueryエディターではM言語の式や条件付き列を活用して柔軟にデータを整形できます。結合の際にはNullの処理や区切り文字の設定など、細かい点を意識するだけで、スッキリした形でデータを管理できるでしょう。

文字列結合は分析やレポーティングの基礎的な操作の一つですが、実際の運用シーンでは多種多様なパターンがあります。ぜひPower BIの機能を組み合わせて活用し、わかりやすいレポートや効率的なデータ処理を実現してみてください。


もし困り事があるなら、まずは無料相談を

「Power BI で箱ひげ図を使って詳細分析をしたいが、データモデルやDAX設計が複雑でわからない…」「Power Automate を併用してデータ更新フローを自動化したいが、どこから手を付ければいいのかわからない」といったお悩みをお持ちの方も多いのではないでしょうか。

私たちは、Power BIやPower AutomateなどのMicrosoft製品の導入・運用支援、およびデータ活用コンサルティングを行っています。

  • 具体的な設定や開発代行

  • 社内教育のための伴走型支援

  • 有料プランへの移行タイミングやROIの判断支援

など、さまざまなニーズに合わせたサービスをご用意しています。まずはお気軽に「無料相談」へお申し込みください。下記のリンクからお問い合わせいただけます。

👉 無料相談はこちらから


セミナーで学ぶ!DAX 関数の実践スキル

箱ひげ図をはじめ、Power BIを使いこなすうえで欠かせないのがDAX関数の知識です。DAXをしっかり学ぶことで、データの前処理から複雑な指標の算出までスムーズにこなせるようになります。そんなDAXとデータモデル設計を効率よく学習できるハンズオンセミナーを開催しています。

🔰 Power BIハンズオンセミナー初級編

  • 短時間でデータモデリングの基礎を身につける

  • 実務にすぐ活かせるレポート作成を実践形式で学ぶ

  • 少人数制なので、つまずきポイントを都度フォロー

👉 セミナー詳細を今すぐチェック

🚀 Power BIハンズオンセミナー中級編

  • DAX関数 × データモデル設計 の実践的なノウハウを習得

  • 複雑な分析要件にも対応できる応用力を身につける

  • 即戦力として業務効率アップや社内評価向上に直結

👉 詳細はこちら

関連記事

この記事へのコメントはありません。

カテゴリー

アーカイブ