カタログ エクスプローラー UI を使用してメトリクス ビューを作成する
メトリクス ビューを作成してビジネス ロジックを一元管理し、レポート サーフェス全体で一貫して主要業績評価指標を定義する方法を学習します。 このチュートリアルでは、Catalog Explorer UI を使用してメトリクス ビューを作成する方法を説明します。 SQL使用してメトリクス ビューを定義するには、 SQL使用したメトリクス ビューの作成と管理」およびCREATE VIEWを参照してください。
前提条件
- ソース データ オブジェクトに対する
SELECT権限が必要です。 - メトリクス ビューを作成するスキーマでは、
CREATE TABLE権限とUSE SCHEMA権限が必要です。 - スキーマの親カタログに対する
USE CATALOG権限も必要です。 - Databricks Runtime 17.2 以降を実行しているSQLウェアハウスまたはその他のコンピュート リソースに対するアクセス許可を使用できます。
メタストア管理者またはカタログ所有者は、これらすべての権限を付与できます。スキーマ所有者またはMANAGE権限を持つユーザーは、スキーマに対するUSE SCHEMA権限とCREATE TABLE権限を付与できます。
ステップ 1: データソースを選択します
メトリクス ビューは、テーブル、ビュー、またはSQLクエリに基づくことができます。 このチュートリアルでは、 samplesカタログのtpchスキーマ内のordersテーブルを使用します。
- クリック
ワークスペース サイドバーの カタログ 。
- スキーマ ブラウザの検索バーを使用して、
samples.tpch.ordersテーブルを見つけます。 注文 をクリックするとテーブルの詳細が表示されます。 - 作成 > メトリクス・ビュー をクリックします。YAML エディターが開きます。
ステップ 2: メトリクスを定義する
このメトリクス ビューの YAML 定義には、次のトップレベル フィールドが含まれます。
version: デフォルトは1.1です。これは、メトリクス ビュー仕様のバージョンです。source:samples.tpch.ordersは完全修飾テーブル名です。このメトリクス ビューのすべてのディメンションとメジャーは、指定されたテーブルをデータ ソースとして使用します。filter: このビューのすべてのクエリは、1990 年 1 月 1 日以降のo_orderdateを持つレコードを返します。dimensions:Order Month、Order Status、およびOrder Priorityはディメンションとして定義されています。measures: 4 つのメジャー (Order Count、Total Revenue、Total Revenue per Customer、およびTotal Revenue for Open Orders) が定義されており、それぞれに集計式が指定されています。
-
カタログとスキーマのドロップダウン メニューを使用して、メトリクス ビューを保存する場所を選択します。 クエリを実行するユーザーは、メトリクス ビューにアクセスするには、少なくとも
USE CATALOGおよびUSE SCHEMA権限を持っている必要があります。 -
メトリクス ビューの名前を入力します。 メトリクス ビュー名には、英数字とアンダースコアを含めることができます。
-
エディターの内容を次の定義に置き換えます。
YAMLversion: 1.1
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
- name: Order Status
expr: CASE
WHEN o_orderstatus = 'O' then 'Open'
WHEN o_orderstatus = 'P' then 'Processing'
WHEN o_orderstatus = 'F' then 'Fulfilled'
END
- name: Order Priority
expr: SPLIT(o_orderpriority, '-')[1]
measures:
- name: Order Count
expr: COUNT(1)
- name: Total Revenue
expr: SUM(o_totalprice)
- name: Total Revenue per Customer
expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
- name: Total Revenue for Open Orders
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O') -
作成 をクリックします。
メトリクス ビューは、メトリクス ビューに対する少なくともSELECT権限を持つユーザーが利用できるようになります。 権限の管理の詳細については、 「Unity Catalog の権限とセキュリティ保護可能なオブジェクト」を参照してください。ユーザーがこのメトリクス ビューをクエリする方法の詳細については、 「メトリクス ビューのクエリ」を参照してください。
メトリクス ビューを作成した後、開いた [概要] タブでソース、フィルター、指定したメジャーとディメンションを確認できます。
ステップ 3: 説明、コメント、タグを追加する
YAML 定義または 概要 タブから説明、コメント、タグを追加できます。
YAML を使用して追加するには (バージョン管理に推奨):
YAML 定義にcommentフィールドを直接追加します。構文の詳細については、バージョン仕様の変更ログを参照してください。
version: 1.1
comment: 'Orders metrics for revenue analysis'
dimensions:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
comment: 'Month when the order was placed'
measures:
- name: Total Revenue
expr: SUM(o_totalprice)
comment: 'Sum of all order prices'
概要タブを使用して追加するには :
- [説明の追加] をクリックして、メトリクス ビューのメタデータに説明を追加します。
- コメントを追加するには、コメントを追加する行の コメント 列にカーソルを合わせます。
- メジャーまたはディメンションにタグを追加するには、タグを追加する タグ 列の上にマウスを置きます。
- メトリクス ビューにタグを追加するには、ページの右側にある [タグの追加] をクリックします。
ステップ 4: (オプション) YAML 定義を編集します
詳細 タブから YAML 定義を表示し、YAML エディターを開くことができます。
- 詳細 をクリックします。
- 完全な定義を表示するためには ...行を増やす をクリックします。
- 編集 をクリックして YAML エディターを開きます。
- ディメンションまたはメジャーを追加または削除します。 保存 をクリックします。
ステップ 5: (オプション) 権限を設定する
メトリクス ビューは、他の Unity Catalog セキュリティ保護可能なオブジェクトと同じ階層アクセス許可モデルを尊重します。 メトリクスビューが、目的のコンシューマーが読み取りアクセス権を持つスキーマに保存されている場合、新しいアクセス許可は必要ありません。メトリクスビューの権限は、 権限 タブから明示的に割り当てることができます。
- [ アクセス許可 ]をクリックします。
- UI を使用して、他の Databricks ユーザーの権限を付与したり取り消したりします。
詳細については、 「オブジェクトに対する権限の付与」を参照してください。
メトリクス ビューのクエリ
ワークスペースに組み込まれているSQLエディター、またはDatabricks上のデータにアクセスできる任意のSQLエディターからメトリクス ビューをクエリできます。 メトリクス ビューをクエリするには、 Databricks Runtime 17.2 以降を実行しているSQLまたはその他のコンピュート リソースに接続する必要があります。
次のサンプル クエリは、リストされている 3 つのメジャーを評価し、 Order MonthとOrder Statusを集計します。Order Monthでソートされた結果を返します。
すべてのメジャーはMEASURE関数でラップする必要があります。measure集計関数を参照してください。
SELECT
`Order Month`,
`Order Status`,
MEASURE(`Order Count`),
MEASURE(`Total Revenue`),
MEASURE(`Total Revenue per Customer`)
FROM
orders_metric_view
GROUP BY ALL
ORDER BY 1 ASC
次のステップ
SQL使用してメトリクス ビューを作成したので、次の関連トピックを調べてください。