メトリクスビューの作成
カタログ エクスプローラーは、メトリクスビューを作成するための視覚的なインターフェースを提供します。YAML定義を記述することなく、フィールドとメジャーを対話的に定義します。
このページでは、カタログエクスプローラのUIでメトリクスビューを構築する手順を説明します。結合と高度なメジャーを含むより複雑な例については、「チュートリアル: 結合とデータモデリングによるメトリクスビューの構築」を参照してください。
前提条件
メトリックビューを作成する前に、次の権限があることを確認してください。
SELECTソースとして使用される テーブルのようなアセット またはSQLクエリに対する 権限。- メトリクスビューを作成したいスキーマ内の
CREATE TABLEおよびUSE SCHEMA権限。 - 親カタログに対する
USE CATALOG権限。 CAN USEDatabricks Runtime 17.3 以降を実行しているSQLウェアハウスまたはその他のコンピュートリソースに対する権限。
メタストア管理者またはカタログ所有者は、これらすべての権限を付与できます。スキーマ所有者またはMANAGE権限を持つユーザーは、スキーマに対してUSE SCHEMAおよびCREATE TABLEの権限を付与できます。
メトリクスビューの作成
カタログエクスプローラでメトリクスビューを作成する以下のいずれかの方法:
- UI エディター:[ UI] タブでは、コードを記述せずにフィールドとメジャーを対話形式で定義します。
- YAMLエディター :定義を直接編集するには、
<>ボタンをクリックします。構文については、メトリクスビュー YAML 構文リファレンスを参照してください。SQLステートメントでYAML定義を使用して、メトリクスビューを作成することもできます。YAMLとSQLの両方での完全な例については、SQLまたはYAMLでメトリクスビューを定義するを参照してください。 - Genie Code :右上の
ボタンからGenie Codeを開き、自然言語でやりたいことを記述してください。Genie Codeの使用を参照してください。
次のステップでは、すべてのワークスペースで利用できる**UI**タブと samples.tpch.ordersテーブルを使用して、販売アナリティクス メトリクスビューの例を作成します。完成したメトリクス ビューは、SQL または YAML でメトリクス ビューを定義するの定義と一致します。このデータセットの詳細については、サンプル データセットを参照してください。
ステップ1:メトリクスビューを作成してエディターを開きます。
- ワークスペースのサイドバーで
カタログ をクリックします。
- 検索バーを使用して
samples.tpch.ordersを検索し、テーブル名をクリックします。 - **「作成」** >**「メトリクスビュー」**をクリックします。**「メトリクスビューの作成」**ダイアログで、名前を入力し、カタログとスキーマの保存先を選択した後、**「作成」**をクリックします。
エディタは UI タブで開きます。エディタはすべてのソース列を フィールド タブに自動的に追加し、サンプルCOUNT(*)メジャーを追加します。

フィールドを編集する際、その式を2つのモードのいずれかで定義します。
- ビルダー : 式 セクションで、コンテキスト認識型ドロップダウンから選択すると、エディターがSQL式を作成します。利用可能な選択肢は、列のタイプと値に基づいて変更されます。
- カスタム :SQL式を直接入力してください。
以下のステップでは、各式の複雑さに基づいて2つのモードを切り替えます。シンプルな列変換と集計には 「Builder」 を使用し、CASE ステートメントや構成メジャーなど、Builder で構成できない式には 「カスタム」 に切り替えます。
ステップ2:結合を追加します。
この例では、顧客属性がフィールドとして利用できるように、customer テーブルを結合します。結合を追加するには、エディターの右上隅にある結合ボタンをクリックします。
- 結合するソースとして
samples.tpch.customerを選択し、 追加 をクリックします。 - 結合名 として
customerを入力してください。 - ドロップダウンを使用して結合条件を
o_custkey = c_custkeyに設定します。複数の結合列を追加するには、 + 結合キー をクリックします。等式以外の条件を設定するには、 式 をクリックして条件を調整します。 - **結合カーディナリティ**で、**多対1**を選択します。カーディナリティの選択に関するガイダンスについては、結合カーディナリティを参照してください。
- クエリパフォーマンスの下にある**「最大1件の一致」**を選択します。各注文は最大1件の顧客に一致するため、この最適化は安全であり、YAML定義に
at_most_one_match: trueを設定します。 - 「結合」 をクリックします。
- フィールドの追加 ダイアログで、
c_mktsegmentを選択し、 1フィールド追加 をクリックします。結合が追加された後であればいつでも、結合されたフィールドを追加できます。
結合は、ソーステーブルを他のテーブルまたはクエリと組み合わせます。スタースキーマやスノーフレークスキーマを含む結合モデリングの概念およびYAMLパターンについては、「結合の操作」を参照してください。
ステップ3:フィルターを定義する
このページの後半にある完全なYAML定義には、メトリックビューを1990年1月1日以降に配置された注文に限定するフィルターが含まれています。フィルターを定義するには:
- メトリクスビューエディターの右上隅にある
フィルター をクリックします。
- フィルターを2つのモードのいずれかで設定します:
- **ビルダー**:**列** 、**演算子**
o_orderdate>、および**値**1990-01-01を選択します。 - カスタム :
o_orderdate > '1990-01-01'のSQL式を記述します。
- **ビルダー**:**列** 、**演算子**
フィルターは、メトリクスビューを参照するすべてのクエリに適用されます。フィルターモデリングの概念とYAMLパターンについては、フィルターの適用を参照してください。
ステップ4:フィールドを追加する
この例では、3つのフィールドを定義しています。ソースからの2つの変換された列と、結合されたcustomerテーブルからの1つの列です。フィールド (ディメンションとも呼ばれます) は、通常のテーブル列のように動作します。フィールドは、グループ化やフィルタリングに使用されるカテゴリ列、またはクエリ時に集計できる集計されていない数値列となる場合があります。フィールドのモデリングの詳細については、「フィールド」を参照してください。
エディターは、すべてのソース列を自動的に**フィールド**タブに追加します。例に合わせるには、不要な列を削除して、o_orderdate、o_orderstatus、c_mktsegmentのみが残るようにします。
フィールドを削除するには:
- フィールド タブをクリックします。
- フィールド名の左側にあるチェックボックスをクリックして、削除したいフィールドを選択します。
- 削除 をクリックします。
個々のフィールドを削除するには、フィールド名の右側にあるを使用します。
フィールドを編集する際、メタデータも追加できます:
- 表示名 : 説明的なラベル。
- コメント :フィールドの説明。
- 同義語 : AIツールがこのフィールドを検出するのに役立つ代替名。同義語を参照してください。
- 書式 :値を表示する方法を制御するカスタムデータ書式設定。書式設定は数値、日付、および日時の列でのみ利用可能です。「書式仕様」を参照してください。
- 管理タグ : 分類とガバナンスのための管理タグです。

各フィールドを定義するには、 フィールド タブでその名前をクリックし、式を構築して、オプションのコメントを追加します。変換を実行して結果を表示するには、 プレビュー をクリックします。
-
注文月 : ビルダー モードで、
o_orderdateを選択し、月変換を適用してDATE_TRUNC('MONTH', o_orderdate)を生成します。コメントMonth of orderを追加します。 -
注文ステータス : 「カスタム」 モードで、コメント
Status of orderを追加して次の式を入力します。SQLCASE
WHEN o_orderstatus = 'O' THEN 'Open'
WHEN o_orderstatus = 'P' THEN 'Processing'
WHEN o_orderstatus = 'F' THEN 'Fulfilled'
END -
市場セグメント : ビルダー モードで、結合された
customerテーブルからc_mktsegment列を選択します。コメントCustomer market segmentを追加します。
ステップ5:メジャーを追加する
この例では、3つのメジャーを定義しています。メジャーは、総収益や注文数などのビジネスメトリクスを生成する集計式です。エディターはCOUNT(*)メジャーを自動的に追加します。編集または削除できます。
メジャーを編集する際には、 表示名 、 コメント 、 同義語 、 形式 、およびフィールド で利用可能な同じメタデータである 管理タグ を追加することもできます。
各メジャーを追加するには、 メジャー タブで + をクリックし、その式を作成し、オプションのコメントを追加します。集計を実行し、結果を表示するには、 プレビュー をクリックします。メジャーを追加すると、メジャーエディターペインの上部にGenieの提案が表示されます。提案をクリックしてそのメジャーを作成します。
- 注文数 : ビルダー モードで、
COUNT(1)を生成するために カウント 集計を選択します。コメントTotal number of ordersを追加します。 - 総収益 : ビルダー モードで、
o_totalpriceと 合計 集計を選択してSUM(o_totalprice)を生成します。コメントSum of all order pricesを追加します。 - 顧客ごとの総収益 : カスタム モードで、
SUM(o_totalprice) / COUNT(DISTINCT o_custkey)を入力します。コメントAverage revenue per unique customerを追加します。

移動平均や累積合計などの時系列計算用のウィンドウメジャーを追加するには、メジャーの編集中に + ウィンドウ をクリックします。「ウィンドウメジャー」を参照してください。
ステップ6:メトリクスビューを保存する
「 保存 」をクリックします。完成したメトリクスビューは、SQLまたはYAMLでメトリクスビューを定義の定義と一致します。
SQL または YAML でメトリクスビューを定義します。
UIでメトリクスビューを構築する代わりに、YAMLで直接、またはWITH METRICS句を含むCREATE VIEWステートメントを使用してSQLで定義できます。以下は、例のメトリクスビューの完全な定義です。samples.tpch.ordersにsamples.tpch.customerを結合したフィルタリングされたビューであり、注文月、注文ステータス、顧客市場セグメントのフィールドがあり、注文数、総収益、顧客ごとの収益のメジャーが含まれます。
これらの例ではfieldsキーワードを使用しています。ローコードエディターでメトリクスビューを構築すると、生成されるYAMLでは代わりに同等のdimensionsキーワードが使用されます。フィールドを参照してください。
YAML定義
メトリクスビューをYAMLで直接定義するには、次の定義を使用します。
YAML定義を表示
version: 1.1
comment: 'Orders KPIs for sales analysis'
source: samples.tpch.orders
joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
rely:
at_most_one_match: true
filter: o_orderdate > '1990-01-01'
fields:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
comment: 'Month of order'
- name: Order Status
expr: CASE
WHEN o_orderstatus = 'O' THEN 'Open'
WHEN o_orderstatus = 'P' THEN 'Processing'
WHEN o_orderstatus = 'F' THEN 'Fulfilled'
END
comment: 'Status of order'
- name: Market Segment
expr: customer.c_mktsegment
comment: 'Customer market segment'
measures:
- name: Order Count
expr: COUNT(1)
comment: 'Total number of orders'
- name: Total Revenue
expr: SUM(o_totalprice)
comment: 'Sum of all order prices'
- name: Total Revenue per Customer
expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
comment: 'Average revenue per unique customer'
完全なYAML構文の詳細については、メトリクスビューYAML構文リファレンスを参照してください。
SQLステートメント
SQLでメトリックビューを作成するには、YAML定義をWITH METRICS句を含むCREATE VIEWステートメントでラップし、YAMLを$$区切り記号の間に配置します。
SQLステートメントの表示
CREATE OR REPLACE VIEW orders_metric_view WITH METRICS LANGUAGE YAML AS
$$
version: 1.1
comment: "Orders KPIs for sales analysis"
source: samples.tpch.orders
joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
rely:
at_most_one_match: true
filter: o_orderdate > '1990-01-01'
fields:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
comment: "Month of order"
- name: Order Status
expr: CASE
WHEN o_orderstatus = 'O' THEN 'Open'
WHEN o_orderstatus = 'P' THEN 'Processing'
WHEN o_orderstatus = 'F' THEN 'Fulfilled'
END
comment: "Status of order"
- name: Market Segment
expr: customer.c_mktsegment
comment: "Customer market segment"
measures:
- name: Order Count
expr: COUNT(1)
comment: "Total number of orders"
- name: Total Revenue
expr: SUM(o_totalprice)
comment: "Sum of all order prices"
- name: Total Revenue per Customer
expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
comment: "Average revenue per unique customer"
$$
Genie Codeを使用します。
Genie Codeは、エディターの右上隅にあるボタンから開くAIアシスタントです。自然言語で必要なものを記述すると、Genie Codeがメトリクスビューの定義を更新します。Genie Codeはコンテキストを認識します。 UI タブではエディターを更新し、YAMLエディターではYAMLを挿入します。
既存のメトリックビューに単一のメジャーを追加するには、それを記述してください:
Genie Code (エージェントモード) にこれを行うよう指示してください。
add an average sales per customer measure
自然言語の説明から完全なメトリクスビューを構築するには、Genie Codeに説明します。結果は、このページの例と類似した定義になります。正確なフィールド名とコメントは異なる場合があります。
Genie Code (エージェントモード) にこれを行うよう指示してください。
Create a metric view on samples.tpch.orders joined to samples.tpch.customer on o_custkey = c_custkey. Add a field for order month by truncating the order date to the month, a field for order status that maps 'O' to Open, 'P' to Processing, and 'F' to Fulfilled, and a field for the customer market segment. Add measures for the total number of orders, the total revenue as the sum of order price, and the total revenue per unique customer. Filter to orders placed after January 1, 1990.
その他のリソース
メトリクスビューを作成した後、作業のクエリ、モデル化、管理を行うために、以下のリソースを使用します。
-
- メトリクスビューをクエリする
- SQL エディター、ノートブック、ダッシュボード、およびアラートからメトリクスビューをクエリします。
-
- メトリクスビューのモデリング
- モデルソース、フィールド、メジャー、フィルター、結合。
-
- メトリクスビューの管理
- アクセスを制御し、共同編集を有効にし、メトリックビューのライフサイクルを管理します。
-
- メトリクスビューYAML 構文リファレンス
- 完全なメトリックビューYAML仕様を参照してください。