次の方法で共有


メトリック ビューのエージェント メタデータ

エージェント メタデータ (セマンティック メタデータとも呼ばれます) は、メトリックにビジネス コンテキストを提供する表示名、形式仕様、シノニムを提供することで、データの視覚化を強化し、大規模言語モデル (LLM) の精度を向上させます。 このメタデータは、視覚化ツールや Genie スペース などの自然言語ツールが、データをより効果的に解釈して操作するのに役立ちます。

Databricks Runtime 17.3 と YAML バージョン 1.1 が必要です。 バージョン要件を参照してください。

エージェント メタデータとは

エージェント メタデータには、追加のコンテキストを提供する表示名、書式指定、シノニムが含まれます。 このメタデータは、AI/BI ダッシュボードなどの視覚化ツールや、 Genie スペースなどの自然言語ツールで、データをより効果的に解釈して操作するのに役立ちます。 エージェント メタデータは、メトリック ビューの YAML 定義で定義されます。

仕様バージョン 1.1 でメトリック ビューを作成または変更すると、YAML 定義内の 1 行のコメント ( #で示されます) は、定義の保存時に削除されます。 既存の YAML 定義をアップグレードするときのオプションと推奨事項については、「 YAML を 1.1 にアップグレードする」を参照してください。

このページの例では、TPC-H サンプル データセット (samples.tpch.orders) を使用します。このデータセットは、 Unity カタログ データセットで既定で使用できます。 TPC-H データセットは、注文、顧客、サプライヤー、およびパーツのテーブルを含む卸売サプライ チェーンをモデル化します。 orders テーブルの列名では、o_ プレフィックス (たとえば、注文日のo_orderdate、合計価格のo_totalprice) が使用されます。 TPC-H スキーマとデータ モデルの詳細については、「 チュートリアル: 結合を使用して完全なメトリック ビューを構築する」を参照してください。

表示名

表示名は、技術的な列名ではなく、視覚化ツールに人間が判読できるラベルとして表示されます。 表示名は 255 文字に制限されています。

次の例は、 order_date ディメンションで定義された表示名 (注文が行われた時点の追跡) とメジャー total_revenue (すべての注文価格の合計を計算する) を示しています。

version: 1.1
source: samples.tpch.orders

dimensions:
  - name: order_date
    expr: o_orderdate
    display_name: 'Order Date'

measures:
  - name: total_revenue
    expr: SUM(o_totalprice)
    display_name: 'Total Revenue'

Synonyms

類義語は、 Genie などの LLM ツールで、代替名を指定してユーザー入力を通じてディメンションとメジャーを検出するのに役立ちます。 ブロック スタイルまたはフロー スタイル YAML を使用してシノニムを定義できます。 各ディメンションまたはメジャーには、最大 10 個のシノニムを含めることができます。 各シノニムは 255 文字に制限されています。

次の例は、 order_date ディメンションで定義されたシノニム (注文が行われた時点) と total_revenue メジャー (すべての注文価格の合計) を示しています。 シノニムを活用すると、ユーザーは「注文時間ごとの収益を表示して」や「注文日の総売上は何ですか」といった自然言語の表現で質問することができます。

version: 1.1
source: samples.tpch.orders

dimensions:
  - name: order_date
    expr: o_orderdate
    # block style
    synonyms:
      - 'order time'
      - 'date of order'

measures:
  - name: total_revenue
    expr: SUM(o_totalprice)
    # flow style
    synonyms: ['revenue', 'total sales']

書式の仕様

書式指定は、視覚化ツールでの値の表示方法を定義します。 次の表に、サポートされている形式の種類と例を示します。

数値形式

書式の種類 必須オプション 省略可能なオプション
数値: 省略可能な小数点以下の桁数と省略形のオプションを持つ一般的な数値には、プレーンな数値形式を使用します。 type: number
  • decimal_places: 小数点の後に表示される桁数を制御します。
    • type: ( decimal_places が指定されている場合は必須)
      • max
      • exact
      • all
    • places: 0 ~ 10 の整数値 (型が max または exactの場合に必要)
  • hide_group_separator: true に設定すると、 ,など、該当する数値グループ化区切り記号が削除されます。
    • true
    • false
  • abbreviation:
    • none
    • compact
    • scientific
通貨: ISO-4217 通貨コードで通貨値に通貨形式を使用します。 type: currency
  • currency_code: ISO-4217 コード (必須)。 たとえば、次のコードでは、米ドル、ユーロ、円の記号をそれぞれ挿入します。
    • USD
    • EUR
    • JPY
  • decimal_places: 小数点の後に表示される桁数を制御します。
    • type: ( decimal_places が指定されている場合は必須)
      • max
      • exact
      • all
  • hide_group_separator: true に設定すると、該当する数値グループ化区切り記号が削除されます。
    • true
    • false
  • abbreviation:
    • none
    • compact
    • scientific
パーセンテージ: パーセンテージで表される比率の値にはパーセント形式を使用します。 type: percentage
  • decimal_places: 小数点の後に表示される桁数を制御します。
    • type: ( decimal_places が指定されている場合は必須)
      • max
      • exact
      • all
  • hide_group_separator: true に設定すると、該当する数値グループ化区切り記号が削除されます。
    • true
    • false
バイト: 適切なバイト単位 (KB、MB、GB など) で表示されるデータ サイズ値にはバイト形式を使用します。 type: byte
  • decimal_places: 小数点の後に表示される桁数を制御します。
    • type: ( decimal_places が指定されている場合は必須)
      • max
      • exact
      • all
    • places: 0 ~ 10 の整数値 (型が max または exactの場合に必要)
  • hide_group_separator: true に設定すると、該当する数値グループ化区切り記号が削除されます。
    • true
    • false

数値書式の例

番号

format:
  type: number
  decimal_places:
    type: max
    places: 2
  hide_group_separator: false
  abbreviation: compact

通貨

format:
  type: currency
  currency_code: USD
  decimal_places:
    type: exact
    places: 2
  hide_group_separator: false
  abbreviation: compact

パーセンテージ

format:
  type: percentage
  decimal_places:
    type: all
  hide_group_separator: true

Byte

format:
  type: byte
  decimal_places:
    type: max
    places: 2
  hide_group_separator: false

日付と時刻の形式

次の表では、日付と時刻の形式を操作する方法について説明します。

書式の種類 必須オプション 省略可能なオプション
日付: さまざまな表示オプションを持つ日付値に日付形式を使用します。
  • type: date
  • date_format: 日付の表示方法を制御します。
    • locale_short_month: 月を省略して日付を表示します。
    • locale_long_month: 月の完全な名前を持つ日付を表示します
    • year_month_day: 日付を YYYY-MM-DD として書式設定します。
    • locale_number_month: 月の日付を数値として表示します。
    • year_week: 日付を年と週の数値として書式設定します。 たとえば、2025-W1 のように指定します。
  • leading_zeros: 1 桁の数字の前に 0 を付けたかどうかを制御します。
  • true
  • false
DateTime: 日付と時刻を組み合わせたタイムスタンプ値には datetime 形式を使用します。
  • type: date_time
  • date_format: 日付の表示方法を制御します。
    • no_date: 日付は非表示です
    • locale_short_month: 月を省略して日付を表示します。
    • locale_long_month: 月の完全な名前を持つ日付を表示します
    • year_month_day: 日付を YYYY-MM-DD として書式設定します。
    • locale_number_month: 月の日付を数値として表示します。
    • year_week: 日付を年と週の数値として書式設定します。 たとえば、2025-W1 のように指定します。
  • time_format:
    • no_time: 時間が非表示です
    • locale_hour_minute: 時間と分を表示します。
    • locale_hour_minute_second: 時間、分、秒を表示します。
  • leading_zeros: 1 桁の数字の前に 0 を付けたかどうかを制御します。
    • true
    • false

date_time型を使用する場合は、少なくとも 1 つのdate_formatまたはtime_formatで、no_dateまたはno_time以外の値を指定する必要があります。

Datetime の書式設定の例

日付

format:
  type: date
  date_format: year_month_day
  leading_zeros: true

日時

format:
  type: date_time
  date_format: year_month_day
  time_format: locale_hour_minute_second
  leading_zeros: false

ダウンストリーム ツールの統合

セマンティック メタデータは、メトリック ビューを使用するダウンストリーム ツールを自動的に設定します。

  • AI/BI ダッシュボード: ダッシュボードの読みやすさを向上させるために、ダッシュボードのデータセットと視覚化に表示名と形式の仕様が自動的に設定されます。
  • Genie スペース: 類義語は自動的にインポートされ、Genie はメトリック ビューから使用可能なディメンションとメジャーをより適切に検出して理解するのに役立ちます。

完全なコード例

次の例は、販売実績を追跡し、すべてのエージェント メタデータの種類を含むメトリック ビュー定義を示しています。 メトリック ビューでは、注文データを分析して収益メトリックを計算し、注文値で顧客をセグメント化し、注文量を追跡します。

顧客セグメントは次のように定義されます。

  • エンタープライズ: 100,000 ドルを超える注文
  • 中央市場: 10,000 ドルから 100,000 ドルまでの注文
  • 中小企業:10,000ドル以下の注文

メタデータは、"顧客セグメント別の売上合計を表示する" や "注文ごとの平均収益" などの自然言語クエリをサポートします。

version: 1.1
source: samples.tpch.orders
comment: Comprehensive sales metrics with enhanced semantic metadata
dimensions:
  - name: order_date
    expr: o_orderdate
    comment: Date when the order was placed
    display_name: Order Date
    format:
      type: date
      date_format: year_month_day
      leading_zeros: true
    synonyms:
      - order time
      - date of order
  - name: customer_segment
    expr: |
      CASE
        WHEN o_totalprice > 100000 THEN 'Enterprise'
        WHEN o_totalprice > 10000 THEN 'Mid-market'
        ELSE 'SMB'
      END
    comment: Customer classification based on order value
    display_name: Customer Segment
    synonyms:
      - segment
      - customer tier
measures:
  - name: total_revenue
    expr: SUM(o_totalprice)
    comment: Total revenue from all orders
    display_name: Total Revenue
    format:
      type: currency
      currency_code: USD
      decimal_places:
        type: exact
        places: 2
      hide_group_separator: false
      abbreviation: compact
    synonyms:
      - revenue
      - total sales
      - sales amount
  - name: order_count
    expr: COUNT(1)
    comment: Total number of orders
    display_name: Order Count
    format:
      type: number
      decimal_places:
        type: all
      hide_group_separator: true
    synonyms:
      - count
      - number of orders
  - name: avg_order_value
    expr: SUM(o_totalprice) / COUNT(1)
    comment: Average revenue per order
    display_name: Average Order Value
    format:
      type: currency
      currency_code: USD
      decimal_places:
        type: exact
        places: 2
    synonyms:
      - aov
      - average revenue