メインコンテンツまでスキップ

メトリクスビューを作成する

備考

プレビュー

この機能は パブリック プレビュー段階です。

メトリクス ビューを作成してビジネス ロジックを一元化し、レポート サーフェス全体で主要業績評価指標を一貫して定義する方法について説明します。 Unity Catalog メトリクスビューを参照してください。このチュートリアルでは、Catalog Explorer UIを使用してメトリクスビューを作成する方法を示します。 SQLを使用してメトリクスビューを定義するには、CREATE VIEWを参照してください。

前提 条件

  • ソース・データ・オブジェクトに対する SELECT 権限が必要です。
  • メトリクスビューを作成するスキーマの CREATE TABLE 権限USE SCHEMA 権限が必要です。
  • また、スキーマの親カタログに対する USE CATALOG 権限も必要です。
  • 16.4 以降を実行している SQLウェアハウスまたはその他のコンピュート リソースに対するアクセス許可を使用できます Databricks Runtime 。

メタストア管理者またはカタログ所有者は、これらの特権をすべて付与できます。スキーマの所有者または MANAGE 権限を持つユーザーは、スキーマに対する USE SCHEMA 権限と CREATE TABLE 権限を付与できます。

ステップ 1: データソースを選択する

メトリクスビューは、テーブル、ビュー、または SQL クエリに基づくことができます。このチュートリアルでは、samplesカタログのtpchスキーマのordersテーブルを使用します。

  1. ワークスペース カタログアイコンサイドバーで「 カタログ 」をクリックします。
  2. スキーマブラウザの検索バーを使用して、 samples.tpch.orders テーブルを検索します。 注文 をクリックすると、テーブルの詳細が表示されます。
  3. 「メトリクス・ビュー >作成 」をクリックします。YAML エディターが開きます。

ステップ 2: メトリクスを定義する

このメトリクスビューのYAML定義には、以下のトップレベルフィールドが含まれます。

  • version: デフォルトは 0.1です。これがメトリクスビューの仕様のバージョンです。
  • ソース: samples.tpch.orders は完全修飾テーブル名です。このメトリクスビューのすべてのディメンションとメジャーは、指定されたテーブルをデータソースとして使用します。
  • filter: このビューに対するすべてのクエリは、1990 年 1 月 1 日以降のo_orderdateレコードを返します。
  • dimensions: Order MonthOrder StatusOrder Priority はディメンションとして定義されます。
  • measures: 4 つのメジャー (Order CountTotal RevenueTotal Revenue per CustomerTotal Revenue for Open Orders) が定義され、それぞれに集計式が指定されています。
  1. エディターの内容を次の定義で置き換えます。

    YAML
    version: 0.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')
  2. (オプション)メトリクスビューの名前を変更します。 メトリクスビューの名前は、定義の上のテキストフィールドに自動的に入力されます。 デフォルトの名前はそのまま使用することも、編集することもできます。メトリクスビューの名前には、英数字とアンダースコアを含めることができます。

  3. (オプション)スキーマのドロップダウンメニューを使用して、メトリクスビューを保存するスキーマを選択します。デフォルトでは、選択したスキーマはテーブルが存在する場所と同じです。

  4. 作成 をクリックします。

メトリクスビューは、ビューに対して少なくとも SELECT の権限を持つすべてのユーザーが使用できる状態です。 アクセス許可の管理の詳細については、「 Unity Catalog の特権とセキュリティ保護可能なオブジェクト 」を参照してください。ユーザーがこのビューをクエリする方法の詳細については、「 メトリクス ビューのクエリ」を参照してください。メトリクスビューを作成した後、開いた [概要 ] で、ソース、フィルター、および指定したメジャーとディメンションを確認できます。

ステップ 3: 説明、コメント、タグを追加する

[概要] タブから、次の操作を行います。

  • [ 説明の追加 ] をクリックして、ビューのメタデータに説明を追加します。
  • コメントを追加するには、コメントを追加する行の [コメント] 列にカーソルを合わせます。
  • メジャーまたはディメンションにタグを追加するには、タグを追加する タグ 列にカーソルを合わせます。
  • ビューにタグを追加するには、ページの右側にある [タグの追加 ] をクリックします。

ステップ 4: (オプション) YAML 定義を編集する

[ 詳細 ] タブから YAML 定義を表示し、YAML エディターを開くことができます。

  1. [詳細 ] をクリックします。
  2. クリック ...完全な定義を表示するための行が増え ました。
  3. [編集 ] をクリックして YAML エディターを開きます。
  4. ディメンションまたはメジャーを追加または削除します。 「保存 」をクリックします。

ステップ5:(オプション)権限を設定する

メトリクス ビューは、他の Unity Catalog セキュリティ保護可能なオブジェクトと同じ階層アクセス許可モデルを尊重します。 メトリクスビューが、目的のコンシューマーが読み取りアクセス権を持つスキーマに保存されている場合、新しいアクセス許可は必要ありません。メトリクスビューの権限は、 Permissions タブから明示的に割り当てることができます。

  1. [ アクセス許可 ]をクリックします。
  2. UI を使用して、他の Databricks ユーザーの権限を付与および取り消します。

詳細については、「 Unity Catalog メタストア内のオブジェクトに対するアクセス許可の付与」を参照してください。

メトリクスビューのクエリ

ワークスペースの組み込み エディター 、または 上のデータにアクセスできる任意の エディターから、メトリクスSQLSQLDatabricksビューをクエリできます。メトリクス ビューをクエリするには、 SQLウェアハウスまたは 16.4 以降を実行している他のコンピュート リソース Databricks Runtime アタッチされている必要があります。

次のサンプル クエリでは、リストされている 3 つのメジャーを評価し、 Order MonthOrder Statusで集計します。Order Monthでソートされた結果を返します。

すべてのメジャーは、 MEASURE 関数でラップする必要があります。measure集計関数を参照してください。

SQL

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

次のステップ