このページでは、カタログ エクスプローラー UI または SQL を使用して メトリック ビュー を作成および編集する方法について説明します。 カタログ エクスプローラー UI には、ローコード エディターと 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 エディターを使用して作成できます。
カタログ ブラウザ ユーザーインターフェース
カタログ エクスプローラーのローコード UI を使用すると、YAML を直接記述することなく、ディメンションとメジャーを対話形式で定義できます。
[
ワークスペースサイドバーのカタログ。
検索バーを使用して、ソース テーブルを検索します。 たとえば、「
samples.tpch.orders」というメッセージを探してみてください。テーブル名をクリックすると、テーブルの詳細が表示されます。
[ 作成>メトリック ビュー] をクリックします。 [ メトリック ビューの作成 ] ダイアログで、名前を入力し、カタログとスキーマの変換先を選択します。 [作成] をクリックします。
必要に応じて 、UI をクリックしてロー コード エディターを開きます。
ディメンションの定義
ディメンションは、注文月や注文の状態など、グループ化とフィルター処理に使用されるカテゴリ属性です。 すべてのソース列がディメンションとして自動的に追加されます。
- ディメンションの下で
をクリックし、追加 します。 - ディメンション式を定義するには、式フィールドに SQL 式を入力します。 たとえば、月別に注文をグループ化する
DATE_TRUNC('month', o_orderdate)を入力します。 - 必要に応じて、[
Genie Code を使用してディメンション式を提案する AI を使用して生成します。
- 必要に応じて、 表示名、 コメント、 シノニム、 書式、またはタグを入力 します。 書式 は、数値、日付、および datetime 列でのみ使用できます。
指標を定義する
メジャーは、総収益や注文数などのビジネス メトリックを生成する集計式です。
をメジャーの下で追加クリックします。[式] フィールドに SQL 集計式を入力します。 たとえば、「
SUM(o_totalprice)」と入力して、総収益を計算します。必要に応じて、
をクリックし、AI で生成を選択して、Genie Code を使用してメジャー式を提案します。
必要に応じて、 表示名、 コメント、 シノニム、 書式、またはタグを入力 します。
メジャーをプレビューするには、メジャー名の横にある
のプレビュー をクリックします。 プレビューには、選択した時間枠とディメンションのメジャー結果が表示されます。
保存 をクリックします。
SQL
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 構文リファレンスを参照してください。
YAML エディター
[
ワークスペースサイドバーのカタログ。
検索バーを使用して、ソース テーブルを検索します。 たとえば、「
samples.tpch.orders」というメッセージを探してみてください。テーブル名をクリックすると、テーブルの詳細が表示されます。
[ 作成>メトリック ビュー] をクリックします。 [ メトリック ビューの作成 ] ダイアログで、名前を入力し、カタログとスキーマの変換先を選択します。 [作成] をクリックします。
YAML をクリックして YAML エディターを開きます。
YAML 定義を入力し、[ 作成] をクリックします。 SQL タブの例では、次の定義が使用されています。
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 構文リファレンスを参照してください。
少なくとも SELECT 権限を持つユーザーは、メトリック ビューに対してクエリを実行できるようになりました。 アクセス許可の管理の詳細については、「アクセス許可の 設定」を参照してください。
Genie Code を使用してメトリック ビューを生成する
Genie Code では、プレーン言語の説明からメトリック ビュー定義を生成できます。
- ワークスペースの右上隅にある Genie Code アイコン
をクリックします。
- 作成するメトリック ビューについて説明します。 Genie Code は SQL DDL を返します。
- SQL をコピーし、 SQL エディターに貼り付けます。 [実行] をクリックします。
- SQL を編集するか、メトリック ビュー エディターを開いて調整します。 「メトリック ビューを編集する」を参照してください。
メトリック ビューを編集する
定義を編集するには、メトリック ビューの所有者である必要があります。 共同編集を有効にするには、所有権をグループに譲渡します。 「コラボレーション編集を有効にする」を参照してください。
カタログ ブラウザ ユーザーインターフェース
- カタログ エクスプローラーでメトリック ビューを見つけます。
- [ 編集] をクリックしてエディターを開きます。
- [UI] をクリックして、低コード UI を表示します。
- 編集するメジャーまたはディメンションをクリックします。 変更を加え、[ 保存] をクリックします。
- 新しいディメンションまたはメジャーを追加するには、編集するセクションの
[追加 ] をクリックします。 新しいメジャーとディメンションの定義の詳細な手順については、 メトリック ビューの作成 を参照してください。
SQL
更新された 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 エディターを開きます。
- YAML 定義を変更し、[ 保存] をクリックします。
次のステップ
メトリック ビューを作成したら、次のリソースを使用して、作業のクエリ、管理、および拡張を行います。