メトリクス ビューの作成と編集
このページでは、Catalog Explorer UI またはSQLを使用してメトリクス ビューを作成および編集する方法を説明します。 カタログエクスプローラーのユーザーインターフェースには、ローコードエディタとYAMLエディタが含まれています。SQLを書きたくない場合は、ローコードUIが良い出発点となります。
より複雑な例については、 「チュートリアル: 結合を使用して完全なメトリクス ビューを構築する」を参照してください。
前提条件
メトリクス ビューを作成または編集する前に、次の権限があることを確認してください。
SELECTソースとして使用されるテーブルライクなアセットまたはSQLクエリに対する権限。- メトリクス ビューを作成するスキーマ内の
CREATE TABLEおよびUSE SCHEMA権限。 USE CATALOG親カタログに対する権限。CAN USEDatabricks Runtime 17.3 以降を実行するSQLウェアハウスまたはその他のコンピュート リソースに対するアクセス許可。
メタストア管理者またはカタログ所有者は、これらの権限すべてを付与できます。スキーマの所有者またはMANAGE権限を持つユーザーは、スキーマに対してUSE SCHEMAおよびCREATE TABLE権限を付与できます。
メトリクス ビューの作成
メトリクス ビューは、カタログ エクスプローラー UI、 SQL 、または YAML エディターを使用して作成できます。
- Catalog Explorer UI
- SQL
- YAML editor
カタログエクスプローラーのローコードUIを使用すると、YAMLを直接記述することなく、ディメンションとメジャーを対話的に定義できます。
-
クリック
ワークスペースのサイドバーにある カタログ 。
-
検索バーを使って、目的のソーステーブルを探してください。例えば、
samples.tpch.ordersを検索します。 -
テーブル名をクリックすると、テーブルの詳細が表示されます。
-
[作成] > [メトリクス ビュー] をクリックします。 [メトリクス ビューの作成] ダイアログで、名前を入力し、カタログとスキーマの宛先を選択します。 次に 「作成」 をクリックします。

-
必要に応じて、 UI をクリックしてローコードエディタを開きます。
寸法を定義する
ディメンションとは、注文月や注文状況など、グループ化やフィルタリングに使用されるカテゴリ属性のことです。すべてのソース列は自動的にディメンションとして追加されます。
- クリック
寸法 欄に 追加してください 。
- ディメンション式を定義するには、式フィールドにSQL式を入力します。例えば、
DATE_TRUNC('month', o_orderdate)と入力すると、注文を月ごとにグループ化できます。 - 必要に応じてクリック
AIで生成して 、Genie Codeを使用して寸法表現を提案します。
- 必要に応じて、 表示名 、 コメント 、 同義語 、 書式 、または タグ を入力してください。 この書式は 、数値、日付、および日時型の列でのみ利用可能です。
対策を定義する
メジャーは、総収益や注文数などのビジネス メトリクスを生成する集計式です。
-
クリック
「対策」 の下に 追加してください 。
-
式フィールドにSQL集計式を入力してください。例えば、総収益を計算するには、
SUM(o_totalprice)と入力します。 -
必要に応じてクリック
AIで生成して 、Genie Codeを使用して測定式を提案します。
-
必要に応じて、 表示名 、 コメント 、 同義語 、 書式 、または タグ を入力してください。

メジャーをプレビューするには、クリックします
測定項目名の横に プレビューが表示されます 。プレビューには、選択した期間とディメンションにおける測定結果が表示されます。

-
保存 をクリックします。
メトリクス ビューを作成するには、 CREATE VIEW WITH METRICS句とともに使用します。 YAML定義を$$区切り文字で指定してください。
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
filter: o_orderdate > '1990-01-01'
dimensions:
- 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: o_orderdate
expr: o_orderdate
comment: "Original order date"
- name: o_orderkey
expr: o_orderkey
comment: "Order key"
- name: o_custkey
expr: o_custkey
comment: "Customer key"
- name: o_orderpriority
expr: o_orderpriority
comment: "Order priority"
- name: o_clerk
expr: o_clerk
comment: "Clerk"
- name: o_shippriority
expr: o_shippriority
comment: "Ship priority"
- name: o_comment
expr: o_comment
comment: "Order comment"
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 構文リファレンス」を参照してください。
-
クリック
ワークスペースのサイドバーにある カタログ 。
-
検索バーを使って、目的のソーステーブルを探してください。例えば、
samples.tpch.ordersを検索します。 -
テーブル名をクリックすると、テーブルの詳細が表示されます。
-
[作成] > [メトリクス ビュー] をクリックします。 [メトリクス ビューの作成] ダイアログで、名前を入力し、カタログとスキーマの宛先を選択します。 次に 「作成」 をクリックします。

-
YAML をクリックすると、YAMLエディタが開きます。
-
YAML定義を入力して 「作成」 をクリックしてください。SQLの例では、以下の定義が使用されています。
YAMLversion: 1.1
comment: 'Orders KPIs for sales analysis'
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- 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: o_orderdate
expr: o_orderdate
comment: 'Original order date'
- name: o_orderkey
expr: o_orderkey
comment: 'Order key'
- name: o_custkey
expr: o_custkey
comment: 'Customer key'
- name: o_orderpriority
expr: o_orderpriority
comment: 'Order priority'
- name: o_clerk
expr: o_clerk
comment: 'Clerk'
- name: o_shippriority
expr: o_shippriority
comment: 'Ship priority'
- name: o_comment
expr: o_comment
comment: 'Order comment'
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 構文リファレンス」を参照してください。
少なくともSELECT権限を持つユーザーは、メトリクス ビューにクエリを実行できるようになります。 権限の管理方法について詳しくは、 「権限の設定」を参照してください。
Genie Codeを使用してメトリクス ビューを生成する
Genie Code 、平易な言語の記述からメトリクス ビュー定義を生成できます。
- Genie Codeアイコンをクリックしてください
ワークスペースの右上隅にある
- 作成するメトリクス ビューについて説明します。 Genie CodeはSQL DDLを返します。
- SQL文をコピーして、 SQLエディタに貼り付けてください。Click 実行 .
- SQLを編集するか、メトリクス ビュー エディタを開いて調整を行います。 「メトリクス ビューの編集」を参照してください。
メトリクス ビューを編集する
メトリクス ビューの定義を編集するには、そのビューの所有者である必要があります。 共同編集を有効にするには、所有権をグループに譲渡してください。共同編集を有効にする方法については、こちらをご覧ください。
- Catalog Explorer UI
- SQL
- YAML editor
- カタログ エクスプローラーでメトリクス ビューを見つけます。
- 「編集」 をクリックしてエディターを開きます。
- UI をクリックすると、ローコードUIが表示されます。
- 編集したいメジャーまたはディメンションをクリックしてください。変更を加えて 「保存」 をクリックしてください。
- 新しい次元または尺度を追加するには、クリックします。
編集したいセクションを 追加してください 。新しいメジャーとディメンションの定義に関する詳細な手順については、 「メトリクス ビューの作成」を参照してください。
更新されたYAML定義でALTER VIEWを使用してください。
ALTER VIEW catalog.schema.orders_metric_view
AS $$
version: 1.1
comment: "Orders KPIs for sales analysis"
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- 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"
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"
- name: Total Revenue for Open Orders
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
comment: "Revenue from open orders"
$$
- カタログ エクスプローラーでメトリクス ビューに移動します。
- 「編集」 をクリックし、次に 「YAML」 をクリックしてYAMLエディタを開きます。
- YAML定義を変更して、 「保存」 をクリックします。
次のステップ
メトリクス ビューを作成した後、次のリソースを使用して、作業のクエリ、管理、および拡張を行います。