Power BIでExcelのXLOOKUPを実現!?DAX・Power QueryでのLookup手法を徹底解説

1. はじめに

Excelの最新版では、XLOOKUP関数 が高い注目を集めています。VLOOKUPやINDEX/MATCHよりも柔軟に検索条件を指定できる新機能として、多くの企業や個人が活用を検討しているでしょう。しかし、いざPower BIで同様のことをしようとすると「XLOOKUPが見当たらない…」という事態に直面する方が少なくありません。

本記事では、ExcelのXLOOKUP関数と同等の機能をPower BIでどのように実装するかを、可能な限りわかりやすく解説していきます。具体的には、

  1. Power BIにおける LOOKUPVALUE 関数・関係の利用

  2. Power Query(M言語) の Merge Queries を使った方法

  3. Excelと同時利用時におけるXLOOKUPの活用ポイント

といった複数の手段を比較し、それぞれのメリット・デメリットを丁寧にご説明します。最後には、弊社が提供するコンサルやセミナー情報も自然にご案内しますので、ぜひ最後までご覧ください。


2. そもそもPower BIではXLOOKUPを使えないの?

2-1. XLOOKUPはExcel向けの関数

Microsoftが新しく開発したXLOOKUPは、Excelのワークシート関数として追加されたものです。Power BIの主要な計算言語は、レポート側で使うDAXとデータ取得・変換側で使うM言語(Power Query)の2種類。残念ながら、現時点ではXLOOKUPはDAXやM言語に公式には実装されていません。

2-2. 「同じようなこと」は可能

一方、Power BIにはXLOOKUPがなくても、同等の検索・参照機能を実現できる手法が複数用意されています。DAXのLOOKUPVALUEをはじめ、Power QueryのMerge Queries機能や、データモデリング上でのリレーションシップの活用など、XLOOKUPと同様の検索結果を得る方法は多岐にわたります。


3. DAXでの実現方法:LOOKUPVALUE関数

3-1. LOOKUPVALUE関数の概要

Power BIのDAXには、LOOKUPVALUEという関数が存在します。指定した列を条件に、別の列から値を1行だけ取得する機能を持っています。

  • 構文

    DAX
    LOOKUPVALUE(
    <列名>,
    <検索列1>, <検索値1>,
    [<検索列2>, <検索値2>, ...] )
    • <列名>:取得したい列

    • <検索列X>:検索に使用する列

    • <検索値X>:探したい値

3-2. 具体的な例

たとえば、SalesテーブルとProductsテーブルがあり、ProductsテーブルのProductIDに紐づくProductNameをSalesテーブルに取り込みたいとします。DAXでは以下のように新しい計算列を作成できます。

DAX
Product Name =
LOOKUPVALUE(
Products[ProductName],
Products[ProductID],
Sales[ProductID] )

この式は、SalesテーブルのProductIDをもとに、Productsテーブルの同じProductIDを探しに行き、該当する行のProductNameを返します。

  • メリット: ExcelのVLOOKUPやXLOOKUPに似た感覚で利用可能

  • デメリット: データ行数が膨大になると、計算列の作成がパフォーマンス上のボトルネックとなる場合がある

3-3. リレーションシップとの比較

Power BIの基本設計としては、テーブル同士をリレーションシップで結ぶことが推奨されています。リレーションが適切に設定されていれば、わざわざLOOKUPVALUEで計算列を作らずとも、ビジュアル上で関連データを参照可能です。

  • レポートやテーブルビジュアルで、別テーブルの列を簡単に表示

  • SUMMARIZEやCALCULATEなどで同じようなデータを引っ張ってこれる

したがって、**「本当に計算列が必要か」**を検討したうえでLOOKUPVALUEを使うのがおすすめです。


4. Power Query (M言語)での実現方法:Merge Queries

4-1. Merge Queriesとは

Power QueryのMerge Queriesは、SQLでいうところのJOINと同じような処理を行える機能です。2つのテーブルを任意のキーで結合し、新しい列を追加できます。ExcelのXLOOKUPに非常に近い考え方で、「片方のテーブルでキーに合致した行から、別の列の値を取ってくる」という操作がビジュアルベースで行えます。

4-2. 使い方の例

  1. Power BI Desktopを開き、[ホーム] → [クエリの編集](または[Transform data])を選択

  2. Mergeしたいテーブルを選択して [クエリの結合 (Merge Queries)] をクリック

  3. 結合相手のテーブルと、結合に使う列(キー)を選択

  4. 結合の種類 (Left Outer, Right Outer, Inner など) を選択

  5. 結合結果から取得したい列を展開

こうすることで、XLOOKUP的な動きをデータ取得の段階で実装でき、DAXに頼ることなくレポートに必要な情報をまとめることができます。

4-3. メリット・デメリット

  • メリット

    • ビジュアル操作なのでコーディングが不要

    • データのモデリング段階で列を統合しておけるため、後続のDAX計算がシンプルになる

  • デメリット

    • 参照元のテーブル同士を頻繁に更新・再結合する必要がある場合、リフレッシュ時のパフォーマンスに影響する

    • テーブル構造を後から大きく変更する場合、一部のクエリステップを再設定しなければならない


5. ExcelとPower BIを併用する場合のXLOOKUP活用

5-1. Excelとの連携シナリオ

実は、ExcelのXLOOKUPを直接Power BIで使うことはできませんが、「Excelファイル側であらかじめXLOOKUPを使って補助列を作る→そのExcelをPower BIに取り込む」という形なら、XLOOKUPで加工済みのデータを使うことができます。

5-2. ただし注意点

  • Excelファイルの変更タイミング(XLOOKUPの結果更新)と、Power BIのリフレッシュスケジュールを同期させる必要がある

  • Excel側でVLOOKUPやXLOOKUPを多用しすぎると、ファイル容量が肥大化しパフォーマンスが落ちるリスクもある

  • Power BIのガバナンス観点で、Excelファイルをどこに置くか(OneDrive, SharePoint, On-premises など)を考慮しなければならない


6. 手法別のメリット・デメリット比較

手法 メリット デメリット
DAXのLOOKUPVALUE – ExcelのVLOOKUP/XLOOKUPに近い文法
– レポート側で柔軟に制御できる
– 大量データだとパフォーマンス問題が起きやすい
– リレーションで済む場合は不要な計算列になることも
Power QueryのMerge – コード不要のビジュアル操作
– 取得段階でデータを整形できる
– リフレッシュ時に結合を行うため、テーブルサイズが大きい場合に負荷がかかる
– モデル変更時の再設定が必要
Excel XLOOKUP → 取込 – 既存のExcelユーザーが手軽に行える
– Power BI導入初期に移行コストを抑えやすい
– ExcelとPower BIの更新タイミングを合わせる必要
– ファイル容量が大きくなる可能性
リレーションシップ – ネイティブなデータモデリング
– DAX計算やビジュアル作成がスムーズ
– 単純な参照だけの目的なら不要な設定になる場合も
– 異なるキーで複雑なJOIN条件がある場合は設計に工夫が必要

7. まとめと今後の活用

ExcelでXLOOKUPを愛用している方でも、Power BIで似たような動きを実現する手段はいくつか存在します。LOOKUPVALUEMerge Queries、さらには適切なリレーションシップの設定を組み合わせることで、効率的にデータを紐付けて使えるでしょう。

大切なのは、「何をしたいか」に応じて最適な方法を選ぶことです。単発の列追加ならLOOKUPVALUEで十分かもしれません。一方、データモデル全体を整理したい場合は、Power Queryでの統合やリレーションシップの活用を検討するほうが長期的にはメリットが大きいでしょう。


8. 弊社のコンサルティング・セミナーサービス

Power BIでExcelのXLOOKUP相当の機能を実装する際に、「どの手法を選ぶべきか」「リレーションシップ設計をどうするか」「パフォーマンスやガバナンスは大丈夫か」といった悩みを抱える方は少なくありません。弊社では、こうしたデータモデリングの最適化パフォーマンスチューニングを含むコンサルティングに加え、Power BIやDAX、M言語の知識を体系的に習得できるセミナーも随時開催しております。
具体的な導入事例や高度な実装テクニックも多数ご紹介しながら、貴社のデータ活用を強力にサポートいたしますので、まずはお気軽にお問い合わせください。


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

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

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

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

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

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

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

👉 無料相談はこちらから


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

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

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

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

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

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

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

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

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

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

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

👉 詳細はこちら

DAXをしっかりマスターすると、箱ひげ図のような高度な可視化においても、必要なデータを柔軟に加工・集計できるようになります。結果的に、組織全体のデータドリブン化をリードできる存在となり、キャリアアップにも大いに役立ちます。

関連記事

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

カテゴリー

アーカイブ