メトリック ビューを使用すると、一貫性のある再利用可能で管理された主要なビジネス メトリックを定義および管理するための一元的な方法が提供されます。 このページでは、メトリック ビュー、それらを定義する方法、アクセスを制御する方法、およびダウンストリーム ツールでクエリを実行する方法について説明します。
メトリック ビューとは
メトリック ビューでは、複雑なビジネス ロジックを一元化された定義に抽象化し、組織は主要業績評価指標を 1 回定義し、ダッシュボード、Genie スペース、アラートなどのレポート ツール間で一貫して使用できるようにします。 メトリック ビューは YAML 形式で定義され、Unity カタログに登録されます。 SQL またはカタログ エクスプローラー UI を使用して作成できます。 他のテーブルやビューと同様に、メトリック ビューは SQL を使用してクエリを実行できます。
メトリック ビューを使用する理由
作成時に集計とディメンションをロックする標準ビューとは異なり、メトリック ビューではメジャー定義とディメンション グループが分離されます。 これにより、メトリックを 1 回定義し、実行時に任意のディメンションにわたって柔軟にクエリを実行しながら、クエリ エンジンによって正しい計算が自動的に生成されます。
メトリック ビューには、主な利点があります。
- チームとツール間でメトリック定義を標準化し、不整合を防ぎます。
- 標準ビューでは安全に再集計できない比率や個別のカウントなどの複雑なメジャーを処理します。
- 複数レベルの結合 (たとえば、注文→製品→カテゴリ) を使用してスター スキーマとスノーフレーク スキーマをサポートすることで、柔軟な分析を実現します。
- 集計を自動的に事前計算して増分更新する組み込みの具体化により、クエリのパフォーマンスを向上させます。
- SQL の透明性とガバナンスを維持しながら、ユーザー エクスペリエンスを簡素化します。
例
異なる地理的レベルにわたる個別の顧客ごとの収益を分析するとします。 標準ビューでは、グループ化 (州、リージョン、国) ごとに個別のビューを作成するか、 GROUP BY CUBE() を使用して事前にすべての組み合わせを計算し、後でフィルター処理する必要があります。 これらの回避策により、複雑さが増し、パフォーマンスとガバナンスの問題が発生します。
メトリック ビューでは、メトリックを 1 回定義します (収益の合計を個別の顧客数で割った値)、ユーザーは使用可能な任意の地域ディメンションでグループ化できます。 クエリ エンジンは、データのグループ化方法に関係なく、バックグラウンドでクエリを書き直して正しい計算を実行します。
Components
メトリック ビューでは、データ ソースに基づいてディメンションとメジャーを含むメトリック定義のセットを指定します。結合ロジックを使用する場合は複数のソースを指定します。 メトリック ビュー定義の source には、ビュー、テーブル、または SQL クエリを指定できます。 結合は、ビューとテーブルでのみサポートされます。
ディメンションは、製品名、顧客の種類、地域などのデータを整理およびフィルター処理するカテゴリ属性です。 次元は、指標を効果的に分析するために必要なラベルとグループを提供します。
指標は、ビジネス活動を要約する値です。通常は、SUM()やAVG()などの集計関数を使用します。 メジャーは、ソース テーブルまたはビューの 1 つ以上のベース フィールドに適用することも、以前に定義したディメンションとメジャーを参照することもできます。 指標はディメンションから独立して定義されているため、ユーザーが実行時に任意のディメンションにわたって集計することができます。 たとえば、 total_revenue メジャーを定義すると、 customer、 supplier、または regionによる集計が有効になります。 指標は、レポートやダッシュボードで KPI として一般的に使用されます。
メトリック ビューへのアクセスと編集
メトリック ビューは Unity カタログに登録されます。 メトリック ビューに少なくとも SELECT アクセス許可を持つユーザーは、カタログ エクスプローラー UI を使用して詳細にアクセスできます。
カタログ エクスプローラー UI で詳細を表示する
カタログ エクスプローラーでメトリック ビューを表示するには:
- [
サイドバーのカタログ。
- 使用可能なデータを参照するか、検索バーを使用して名前でメトリック ビューを検索します。
- メトリック ビューの名前をクリックします。
- タブを使用して、メトリック ビューに関する情報を表示します。
- 概要: メトリックで定義されているすべてのメジャーとディメンション、および定義されているセマンティック メタデータが表示されます。
- 詳細: メトリック ビューの完全な YAML 定義が表示されます。
- アクセス許可: メトリック ビューにアクセスできるすべてのプリンシパル、その権限、および権限が定義されている包含データベース オブジェクトが表示されます。
- 系列: 関連する資産 (テーブル、ノートブック、ダッシュボード、その他のメトリック ビューなど) を表示します。
- 分析情報: メトリック ビューに対して行われたクエリと、過去 30 日間にメトリック ビューにアクセスしたユーザーが頻度順に一覧表示され、最も頻繁に表示されます。
共同作業の編集を有効にする
既定では、メトリック ビューの所有者のみが定義を編集できます。 複数のユーザーが同じメトリック ビューで共同作業できるようにするには、所有権をグループに譲渡します。 その後、そのグループのすべてのメンバーは定義を編集できますが、グループに表示するアクセス許可を持つデータにのみアクセスできます。
共同作業の編集を有効にするには:
- メトリック ビューへの編集アクセス権を持つグループを作成または識別します。 「グループ」を参照してください。
- メトリック ビューが依存するすべてのテーブルへのアクセス
SELECTグループに付与します。 - メトリック ビューの所有権をグループに転送します。 所有権 の譲渡を参照してください。
- グループに対してユーザーを追加または削除して、メトリック ビューを編集できるユーザーを制御します。
メトリック ビューのクエリを実行する
メトリック ビューは、標準ビューと同じ方法でクエリを実行できます。 サポートされているランタイムを実行している SQL ウェアハウスまたはその他のコンピューティング リソースにアタッチされている SQL エディターからクエリを実行します。
測定値と次元のクエリ
メトリック ビュー クエリのすべてのメジャー評価では、 MEASURE 集計関数を使用する必要があります。 完全な詳細と構文については、集計関数measure参照してください。
注
メトリック ビューでは、 SELECT * クエリはサポートされていません。 メジャーは、 MEASURE() 関数を使用して名前で明示的に参照する必要がある集計であるため、クエリを実行するディメンションとメジャーを指定する必要があります。
クエリ時の JOIN はサポートされていません。 テーブルを結合するには:
- メトリック ビューを作成する YAML 仕様で JOIN を定義します。 メトリック ビューでの結合の使用を参照してください。
- メトリック ビューのクエリを実行するときに、共通テーブル式 (CTE) を使用してソースを結合します。 共通テーブル式 (CTE) を参照してください。
詳細をクエリ結果として表示する
次のクエリは、メジャー、ディメンション、結合、 セマンティック メタデータなど、メトリック ビューの完全な YAML 定義を返します。
AS JSON パラメーターは省略可能です。 完全な構文の詳細については、 JSON 形式の出力を参照してください。
DESCRIBE TABLE EXTENDED <catalog.schema.metric_view_name> AS JSON
結果の [ テキストの表示 ] フィールドに、完全な YAML 定義が表示されます。 各列には、セマンティック メタデータを保持する メタデータ フィールドが含まれています。
メトリック ビューを使用する
Azure Databricks ワークスペース全体でメトリック ビューを使用することもできます。 詳細については、関連するドキュメントを参照してください。
- AI/BI ダッシュボードでメトリック ビューを使用する
- AI/BI Genie でメトリック ビューを使用する
- メトリック ビューにアラートを設定する
- クエリ プロファイルを使用したトラブルシューティング
- Databricks JDBC Driver を使用してメトリック ビューメタデータを操作する
制限事項
メトリック ビューには、次の制限事項が適用されます。
- メトリックビューは、Delta Sharingやデータプロファイリングをサポートされていない。