Power BIでメトリクス ビューをクエリする
ベータ版
この機能はベータ版です。
BI互換モードでは、既存のDatabricksコネクタを使用して、 Power BIでUnity Catalogメトリクスビューをクエリできます。
このページでは、Power BI で BI 互換モードを有効にする方法、その仕組み、サポートされているシナリオ、および既知の制限事項について説明します。
要件
- ADBC ドライバーを使用した Power BI 接続。新しい接続ではデフォルトで有効になっています。詳細については、 「 Power BI用の ADBC またはODBCドライバーの構成」を参照してください。
- SQLウェアハウス。
- Power BI Desktopを使用する場合は、バージョン2.151.1052.0以降(2026年2月リリース)が必要です。
BI互換モードを有効にする
Power BI Desktopまたはサービスで Databricks 接続を手動で作成する場合は、BI互換モードを有効にしてください。Power BIへの接続は DirectQuery モードを使用する必要があります。
- Power BI Desktop またはサービスで、Databricks への新しい接続を作成します。
- Databricks サーバーのホスト名 とSQLウェアハウスの HTTP パス を入力します。
- [詳細オプション] で、 [メトリクス View BI互換Mode を [有効] に設定します。
- データ接続モード で、 DirectQuery を選択します。インポートモードは、メトリクスビューに必要なDatabricksクエリ書き換えメカニズムをバイパスするため、サポートされていません。
- 接続設定を完了してください。
Power BI接続を手動で作成する手順の詳細については、 Power BIサービスまたはPower BI Desktopの接続ガイドを参照してください。
BI互換モードの仕組み
メトリクス ビューはPower BIでは通常のテーブルとして表示されます。 BI互換モードが有効になっている場合、 Databricks Power BIによって生成されたクエリを書き換えて、メトリクスビューを正しくクエリします。
BI互換モードでは、2種類のクエリが自動的に処理されます。
- 集計クエリ :Power BI ビジュアルの値フィールドにメジャーをドラッグすると、Power BI は集計クエリを生成します。BI互換モードは、メトリクス ビューのメジャー定義に準拠するようにこれらの集計を書き換えます。 Power BI のメジャー列の集計タイプには、必ず
SUM使用してください。SQLエンジンは常に正しい基盤となる計測ロジックを適用します。 - データプレビューとスキーマ検出 : Power BI が非集計データ (たとえば、 データの表示 や列のプレビュー) を要求すると、メジャー列はエラーを発生させる代わりに null 値を返します。ディメンション列は通常どおり値を返します。
サポートされているシナリオ
Power BI互換モードが有効になっている場合、以下のPower BI機能は期待どおりに動作します。
シナリオ | 説明 |
|---|---|
基本的な測定指標の可視化 | 集計結果を表示するには、メジャーをグラフまたはテーブルの値フィールドにドラッグします。 |
フィルター | ビジュアル内のディメンション列またはメジャー列にフィルターを適用します。 |
寸法スライサー | ディメンション列をスライサーコントロールとして使用して、レポートをフィルタリングします。 |
クロスフィルタリング | いずれかのビジュアル内の値をクリックすると、同じページ内の関連するビジュアルが絞り込まれます。 |
ドリルスルー | データポイントを右クリックすると、その値でフィルタリングされた詳細ページが表示されます。 |
トップNフィルタリング | 列ごとに上位または下位N個の値を表示します。 |
データプレビュー | Viewデータ とスキーマ検出機能を使用する。プレビュー画面では、測定値がnullとして表示されます。 |
視覚的な計算 | クライアント側で、既に集計済みの結果(例えば、累計値やランキング)に対して適用される計算。 |
Power BI におけるディメンションとメジャー
メトリクス ビューには、メジャーとディメンションという 2 種類の列が含まれています。 Power BIレポートを作成する際には、これらの違いを理解することが重要です。
- メジャー : メジャーの集計ロジックはメトリクス ビューで定義されます (例:
SUM(price * quantity)またはCOUNT(DISTINCT customer_id))。 Power BI では、メジャー列の集計設定は常にSUMままにしてください。SQLエンジンは、適切な計測ロジックを自動的に適用します。別の集計が必要な場合は、メトリクス ビュー自体のメジャー定義を変更します。 Power BI側で集計方法を変更しないでください。 - 寸法 :寸法は通常のテーブル列と同様に動作します。通常のテーブルと同様に、集計、グループ化、フィルタリング、並べ替え、バケット化など、Power BI のあらゆる操作をディメンションに適用できます。数値フィールドがディメンション(メジャーではない)として定義されている場合、すべての標準的な Power BI 集計タイプはそのフィールドに対して正常に機能します。
ベストプラクティス
- データセットには常に 1 つのメトリクス ビューを含めてください。 メトリクス ビューはセマンティック定義です。
- ディメンション列を整理するためのフォルダを作成します(たとえば、日付ディメンションの各ディメンション列ごとに「日付」フォルダを作成します)。
- 寸法名を、ユーザーにとって分かりやすい名前に変更してください。
- 数値ディメンション列を 「集計しない」 に変更します。
- 各メジャー列に対して
SUM()を使用して「ラッパーメジャー」を作成し、元のメジャー列を非表示にします(例:Total Sales = SUM('Store Sales'[total_sales]))。 - 測定値を「測定値」フォルダに整理してください。
- ビジュアルには、これらのラッパーメジャーのみを使用してください。
制限事項
Power BIコネクタSDKの制約により、BI互換モードでは、Power BIがクエリを生成および処理する方法を制御できる範囲が限られています。
メジャーの集計にはSUMのみを使用してください。
Power BI では、メジャー列の集計タイプは常にSUMに設定してください。すべての集計関数( SUM 、 COUNT 、 MIN 、 MAX )は基となるメジャー定義に書き換えられるため、すべて同じ結果を返します。別の集計タイプを選択すると、予期しない動作が発生する可能性があります。
AVGPower BIコンピュートAVGが内部的にSUM / COUNTとして示されており、どちらも同じメジャー値を返すため、1.0が表示されます。- カウント(重複なし)、標準偏差、分散、中央値は、書き換えメカニズムと互換性のないクエリパターンを生成し、エラーまたは誤った結果を引き起こします。
別の集計が必要な場合は、メトリクス ビューでメジャー定義を変更します。 すべての集計タイプは、メトリクス ビュー定義内で完全にサポートされています。
非加算指標の総計
Power BI は、個別のクエリを発行するのではなく、クライアント側でグループごとの値を再集計することで総計を計算します。これは加法的な尺度(例えば、 SUM(revenue) )に対して正しい結果をもたらします。なぜなら、局所的に再集計すると正しい答えが得られるからです。
ただし、非加算的な尺度(たとえば、 SUM(revenue) / COUNT(DISTINCT customer) 、またはDISTINCTを含む比率、パーセンテージ、または式)の場合、事前にグループ化された比率を合計することは、データセット全体で比率を計算することと数学的に等価ではないため、総計に誤った値が表示される可能性があります。
測定列の定量的スライサー
メジャー列に対する定量的(範囲)スライサーが期待どおりに動作しません。Power BI は、スライダーの範囲を決定するためにメジャーのMINとMAXクエリしますが、両方とも同じ基となるメジャー値に書き換えられ、範囲が単一のポイントに縮約されます。指標に対するフィルターは引き続き機能します。影響を受けるのはレンジスライサーのみです。
測定値はカテゴリ値または次元値として使用できません
メジャー列をカテゴリ値として軸、凡例、またはスライサーにドラッグすると、クエリが次のエラーで失敗します。
Measure columns cannot be used in GROUP BY clause or as categorical values. We recommend wrapping them with an aggregate function such as SUM() for the expected behavior.
複数のメジャーを持つ計算フィールド
単一のメジャーを参照する計算フィールドは、Power BI が最初に集計結果を取得し、その後クライアント側で計算を実行するため、正しく機能します(たとえば、収益を低、中、高のカテゴリに分類するなど)。
ただし、単一の集計内で複数のメジャー列を組み合わせる式(例: SUM(m1 + m2) )は、BI互換モードでは書き換えられず、エラーや予期しない結果が発生します。
メトリクス ビューと他のテーブルの結合
メトリクス ビューはPower BIの他のテーブルと結合できません。 メトリクス ビューのデータを別のテーブルと結合する必要がある場合は、結合をメトリクス ビューの定義自体に組み込みます。
マトリクス化されたメトリクス ビュー
BI互換モードでは、マテリアライゼーションを使用したメトリクスビューはサポートされておらず、予期しない結果が生じる可能性があります。