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

チュートリアル: 結合とデータモデリングを使用してメトリクスビューを構築する

このチュートリアルでは、TPC-Hデータセットでセールスアナリティクスメトリクスビューを構築します。最終的に、以下のメトリクスビューが作成されます。

  • スノーフレークスキーマを使用して、複数のテーブル間で注文と顧客を結合します。
  • 時間、地理、注文の属性について、フィールド(ディメンションとも呼ばれます)を定義します。
  • 比率、フィルター処理された集計、ウィンドウ メジャーなど、単純で複雑な計算式を計算します。
  • コンポーザビリティを使用して、よりシンプルなメジャーから複雑なメトリクスを構築します。
  • クエリー時に割引率を適用するパラメーターを定義します。
  • ダッシュボードと AI ツールのエージェント メタデータが含まれています。

メトリクス ビューを初めて使用する場合は、「メトリクス ビューの作成」から基本を学んでください。このチュートリアルは、その基盤に現実世界の複雑さを加えます。

要件

このチュートリアルを完了するには、以下が必要です:

  • Unity Catalogに対応したワークスペース。
  • Databricks Runtime 17.3 以降を実行するSQL Warehouseまたはコンピュートリソース。

メトリクスビューの作成に必要な権限の完全なリストについては、前提条件を参照してください。

注記

メトリクス ビューの作成は、Databricks Runtime 16.4 以降でサポートされています。このチュートリアルでは、Databricks Runtime 17.3以降が必要な機能を使用しており、一部のステップではそれより新しいランタイムが必要です。各機能の最小ランタイムについては、メトリクス ビューの機能可用性をご覧ください。

データモデル

TPC-H データセットは、卸売サプライチェーンをモデル化します。このチュートリアルでは、スノーフレークスキーマで結合された3つのテーブルを使用します:

  • orders customer で結合 o_custkey = c_custkey
  • customer nation で結合 c_nationkey = n_nationkey

テーブル

ロール

キー列

orders

ファクトテーブル(注文トランザクション)

o_orderkeyo_custkeyo_totalpriceo_orderdateo_orderstatus

customer

ディメンションテーブル (顧客の詳細)

c_custkeyc_namec_mktsegmentc_nationkey

nation

ディメンション テーブル(国または地域の参照)

n_nationkeyn_namen_regionkey

テーブル

ロール

キー列

orders

ファクトテーブル(注文トランザクション)

o_orderkeyo_custkeyo_totalpriceo_orderdateo_orderstatus

customer

ディメンションテーブル (顧客の詳細)

c_custkeyc_namec_mktsegmentc_nationkey

nation

ディメンション テーブル(国または地域の参照)

n_nationkeyn_namen_regionkey

ステップ 1: メトリクスビューを作成してエディターを開く

このメトリクスビューは、Catalog Explorer UI で構築したり、Genie Code で生成したり、完全な YAML 定義を直接記述したりできます。これら3つの方法はいずれも、メトリクスビューをモデル化する単一の YAML 定義になります。次の各ステップで、 Catalog Explorer UI または YAML エディター tab を選択して、希望する方法に従ってください。YAML エディターを使用する場合、各ステップのサンプルコードは、そのステップでビルドする YAML 定義の一部です。

注記

このチュートリアルでは、YAMLの例でfieldsキーワードを使用しています。ローコードエディターでメトリクスビューを構築すると、生成されるYAMLは、代わりに同等の「dimensions」キーワードを使用します。フィールドを参照してください。

メトリクスビューを作成するためのUIに慣れていない場合は、「メトリクスビューの作成」を参照してください。

メトリクスビューを作成するには、カタログエクスプローラで:

  1. samples.tpch.ordersを検索します。
  2. テーブル名をクリックします。
  3. 作成 > メトリクスビュー をクリックし、ビューに名前を付けます。

詳細な作成ステップについては、メトリクスビューの作成を参照してください。エディターが開いたら、 UI tab を使用して対話的に構築するか、<> ボタンをクリックして YAML 定義を直接編集します。

ステップ2: メトリクスビューを設定します

メトリクスビューのバージョンと説明を設定します。versionはYAML仕様バージョンを決定し、commentはメトリクスビューの目的を記述します。これはカタログエクスプローラーに表示されます。Databricksがバージョンを管理します。

バージョンは定義されています。メトリクスビューを保存した後で、説明を追加または編集するには:

  1. カタログエクスプローラーで、メトリクスビューを検索し、その名前をクリックします。
  2. 「**説明**」をクリックし、**メトリクスビュー**の説明を入力します。「 YAMLエディター 」tabに表示されているサンプル説明を使用できます。

このテキストは、YAML 定義の comment フィールドに対応します。メトリクス ビューを編集するその他の方法については、「メトリクス ビューを編集する」を参照してください。

ステップ 3: ソースと結合を定義します。

プライマリソーステーブルを定義し、関連テーブルを結合します。

  • source ファクトテーブル (orders) をグレインとして設定します。
  • joins 多対一のリレーションシップを使用して「顧客データ」を取り込みます。
  • ネストされた nation 結合は、customer を介して地理データに到達するスノーフレーク スキーマ パターンを示しており、国は顧客のサブディメンションです。

この例では、両方とも 多対一 の結合を2つ追加して、スノーフレークスキーマをモデル化します。

customer 結合を追加するには:

  1. エディターで、右上隅にある「 結合 」をクリックして、「 結合を追加 」ダイアログを開きます。
  2. samples.tpch.customer を検索し、テーブル名をクリックして、次に 追加 をクリックします。
  3. 結合条件を o_custkey = c_custkey に設定します。
  4. 結合カーディナリティ で、 多対一 を選択します。カーディナリティの選択に関するガイダンスについては、結合カーディナリティを参照してください。

次に、ネストされたnation結合を追加します。customer結合のステップを繰り返し、c_nationkey = n_nationkeysamples.tpch.nationを結合します。customerの下に結合をネストすることで、国を顧客のサブディメンションとしてモデル化します。

フル結合ダイアログのステップについては、ステップ 2: 結合を追加を参照してください。

ステップ 4:フィルターを定義する

filter はソースデータを制限し、メトリクスビュー上のすべてのクエリーに適用されます。このチュートリアルでは、メトリクスビューを最新のデータに限定します。

フィルターを定義するには:

  1. エディターの右上隅にある フィルターアイコン。 フィルター をクリックします。
  2. ドロップダウンメニューを使用して、 o_orderdate演算子>=1995-01-01 に設定します。

フィルターの詳細については、「ステップ3:フィルターを定義する」を参照してください。

ステップ5:フィールドを定義する

フィールドは、ユーザーが**グループ**化および**フィルター**する属性です。フィールドは、カテゴリカルな列(地域やステータスなど)または集計されていない数値列(年齢や数量など)のいずれかであり、ユーザーは**クエリー**時に集計します。

エージェント メタデータ

このチュートリアル内の各フィールドとメジャーには、メトリクスビューがダッシュボードやAIツールで機能する方法を向上させるエージェントメタデータプロパティが含まれています:

  • display_name 技術的な列名の代わりに、視覚化に表示される読みやすいラベルです。
  • synonyms** **:GenieのようなAIツールが自然言語クエリーを通じてフィールドとメジャーを検出するのに役立つ別名です。
  • format 通貨、数値、パーセンテージなど、ダッシュボード、ノートブック、SQL クエリーの結果などのダウンストリームのサーフェスで値がどのように表示されるか。

これらのプロパティはオプションですが、推奨されています。次のステップにあるフィールドとメジャーの定義には、それらがインラインで含まれています。

フィールドの定義

このチュートリアルでは、次の内容が追加されます。

  • 時間フィールド: さまざまな分析ニーズをサポートするために、複数の粒度でorder_dateorder_month、およびorder_year
  • 変換されたフィールド: order_statusorder_priority は、CASESPLIT を使用してソースコードを読み取り可能なラベルに変換します。
  • 結合フィールド: 結合名を使用して結合されたテーブルを参照するcustomer_namemarket_segment、およびcustomer_nation。ネストされた結合列は、customer.nation.n_nameなどの連結されたドット表記を使用して、スノーフレークスキーマを走査します。

エディターは、すべてのソース列を Fields tabに自動的に追加します。フィールドを編集、名前変更、削除、追加して、メトリクスビューが次の項目を正確に定義するようにします。各フィールドについて、名前をクリックして編集するか、 「追加またはプラスアイコン 追加 」をクリックして作成し、**ビルダー**モードまたは**カスタム**モードで式を設定します。 表示名同義語 を、各フィールドについて図のように設定します。

  1. order_dateBuilder モードでは、o_orderdate列を選択します。表示名をOrder Dateに設定します。

  2. order_month : カスタム モードで、DATE_TRUNC('MONTH', order_date) を入力します。表示名を Order Month に設定します。

  3. order_yearCustom モードで、YEAR(order_date)を入力します。表示名をOrder Yearに設定します。

  4. order_statusカスタム モードで、次の式を入力します。表示名をOrder Statusに設定し、同義語をstatusfulfillment statusに設定します。

    SQL
    CASE o_orderstatus
    WHEN 'O' THEN 'Open'
    WHEN 'P' THEN 'Processing'
    WHEN 'F' THEN 'Fulfilled'
    END
  5. order_priority : Custom モードでは、SPLIT(o_orderpriority, '-')[0]を入力します。表示名をPriorityに設定します。

  6. **customer_name**: **[ビルダー]**モードで、結合されたc_name テーブルからcustomer 列を選択します。表示名を Customer Name に設定します。

  7. market_segment : ビルダー モードで、結合された customer テーブルから c_mktsegment 列を選択します。表示名を Market Segment に、同義語を segmentindustry に設定します。

  8. customer_nationカスタム モードで、ネストされたnation結合を参照するにはcustomer.nation.n_nameと入力します。表示名を Country に、同義語を nationcountry に設定します。

すべてのフィールドステップについては、「ステップ4:フィールドの追加」を参照してください。

ステップ 6: パラメーターの定義

パラメーターを使用すると、クエリーするときにメトリクスビューに値を渡せるため、1つの定義で多くのクエリーバリアントに対応できます。このチュートリアルでは、後のメジャーが割引収益の計算に使用するdiscountパラメーターを追加します。このパラメーターのdefaultは0なので、値を渡さないクエリーは割引されていない収益を返します。「パラメーター」の詳細については、メトリクスビューでパラメーターを使用するを参照してください。

エディターの見出しで、**[パラメーターを追加]** をクリックします。名前として discount を入力し、default 値として 0 を入力して、double データ型を選択します。

ステップ7: メジャーを定義します

メジャーとは、ユーザーが分析したい計算のことです。まず、Atomicメジャーを定義し、次にコンポーザビリティを使用して、MEASURE()関数で以前に定義されたメジャーを参照する複雑なメトリクスを構築します。エージェントメタデータで説明されているように、各メジャーのdisplay_nameformatsynonymsを設定します。このチュートリアルでは、以下を追加します。

  • **アトミックメジャー**:ビルディングブロックを形成するシンプルな集計であるorder_count、 、およびtotal_revenueunique_customers
  • 合成メジャー: avg_order_valuerevenue_per_customerは、集計ロジックを重複させることなく、MEASURE()で以前に定義されたメジャーを参照します。total_revenueが変更された場合、これらのメジャーは自動的に更新された定義を使用します。コンポーザビリティを参照してください。
  • フィルター済みメジャー: open_order_revenuefulfilled_order_revenue。これらは、個別のフィールドなしで条件付きメトリクスを作成するためにFILTER (WHERE ...)を使用します。
  • パラメーター化されたメジャー: discounted_revenue は、discountパラメーターを参照して割引率を適用します。「メトリクスビューでパラメーターを使用する」を参照してください。
  • ウィンドウメジャー: t7d_customers。これはユニーク顧客の過去7日間のローリングカウントを計算します。その他のウィンドウメジャーパターンについては、ウィンドウメジャーを参照してください。

エディターはサンプル COUNT(*) メジャーを自動的に追加します。それを編集または削除し、メトリクスビューが以下のものを正確に定義するようにメジャーを追加します。各メジャーについて、追加またはプラスアイコン 追加 をクリックし、 ビルダー モードまたは カスタム モードで式を設定します。「 表示名 」、「 フォーマット 」、および「 同義語 」を以下のように設定します。通貨形式には小数点以下2桁を、数値形式には小数点以下0桁を使用します。

  1. **order_count**:**ビルダー**モードで、 o_orderkeyに対して**個別のカウント**集計を選択します。表示名を Order Count に、形式を 数値 に設定します。
  2. **total_revenue**: o_totalprice「**ビルダー**」モードで、 の「**Sum**」集計を選択します。表示名をTotal Revenue に設定し、形式を「**通貨(USD)**」に、類義語を revenuesales に設定します。
  3. discounted_revenueCustom モードでは、SUM(o_totalprice * (1 - discount))を入力します。表示名を Discounted Revenue に、形式を Currency (USD) に設定します。
  4. 「**unique_customers**」: 「**ビルダー**」モードで、o_custkey に対して「**個別のカウント**」集計を選択します。表示名をUnique Customers に、書式を**数値**に設定します。
  5. avg_order_value : Custom モードで、MEASURE(total_revenue) / MEASURE(order_count)を入力してください。表示名をAvg Order Valueに、書式を 通貨 (USD) に、同義語をAOVに設定します。
  6. revenue_per_customer : カスタム モードで、MEASURE(total_revenue) / MEASURE(unique_customers) を入力します。表示名を Revenue per Customer に、形式を Currency (USD) に設定します。
  7. open_order_revenueCustom モードでは、SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O')を入力します。表示名をOpen Order Revenueに、書式を 通貨 (USD) に、同義語をbacklogに設定します。
  8. fulfilled_order_revenue : Custom モードでは、SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F')を入力します。表示名をFulfilled Revenueに設定し、形式を Currency (USD) に設定します。
  9. t7d_顧客 : カスタム モードで、COUNT(DISTINCT o_custkey) を入力します。次に、 + ウィンドウ をクリックし、order_date でソートされた、範囲 trailing 7 daylast 半加算集計のウィンドウを構成します。表示名を 7-Day Rolling Customers に、形式を 数値 に設定します。

完全なメジャーステップについては、「ステップ5:メジャーを追加する」を参照してください。

完全な定義を確認します。

上記のステップを完了すると、メトリクスビューには次の完全な定義があります。

完全なYAML定義を表示します。

YAML
version: 1.1

parameters:
- name: discount
data_type: double
default: 0

source: SELECT * FROM samples.tpch.orders

joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
joins:
- name: nation
source: samples.tpch.nation
'on': c_nationkey = n_nationkey

filter: o_orderdate >= '1995-01-01'

comment: |-
Sales analytics metric view for order performance analysis.
Joins orders with customers and geography.
Owner: Analytics Team
Last updated: 2025-01-15

fields:
- name: order_date
expr: o_orderdate
display_name: Order Date
- name: order_month
expr: "DATE_TRUNC('MONTH', order_date)"
display_name: Order Month
- name: order_year
expr: YEAR(order_date)
display_name: Order Year
- name: order_status
expr: |-
CASE o_orderstatus
WHEN 'O' THEN 'Open'
WHEN 'P' THEN 'Processing'
WHEN 'F' THEN 'Fulfilled'
END
display_name: Order Status
synonyms:
- status
- fulfillment status
- name: order_priority
expr: "SPLIT(o_orderpriority, '-')[0]"
display_name: Priority
- name: customer_name
expr: customer.c_name
display_name: Customer Name
- name: market_segment
expr: customer.c_mktsegment
display_name: Market Segment
synonyms:
- segment
- industry
- name: customer_nation
expr: customer.nation.n_name
display_name: Country
synonyms:
- nation
- country

measures:
- name: order_count
expr: COUNT(DISTINCT o_orderkey)
display_name: Order Count
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: total_revenue
expr: SUM(o_totalprice)
display_name: Total Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- revenue
- sales
- name: discounted_revenue
expr: SUM(o_totalprice * (1 - discount))
display_name: Discounted Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: unique_customers
expr: COUNT(DISTINCT o_custkey)
display_name: Unique Customers
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: avg_order_value
expr: MEASURE(total_revenue) / MEASURE(order_count)
display_name: Avg Order Value
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- AOV
- name: revenue_per_customer
expr: MEASURE(total_revenue) / MEASURE(unique_customers)
display_name: Revenue per Customer
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: open_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O')
display_name: Open Order Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- backlog
- name: fulfilled_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F')
display_name: Fulfilled Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: t7d_customers
expr: COUNT(DISTINCT o_custkey)
window:
- order: order_date
semiadditive: last
range: trailing 7 day
display_name: 7-Day Rolling Customers
format:
type: number
decimal_places:
type: exact
places: 0

SQL を使用してメトリクスビューを作成します

Catalog Explorer の外部でこの定義を作成している場合は、次の SQL を実行してメトリクスビューを作成します。

SQL
CREATE OR REPLACE VIEW catalog.schema.tpch_sales_analytics
WITH METRICS
LANGUAGE YAML
AS $$
version: 1.1

parameters:
- name: discount
data_type: double
default: 0

source: SELECT * FROM samples.tpch.orders

joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
joins:
- name: nation
source: samples.tpch.nation
'on': c_nationkey = n_nationkey

filter: o_orderdate >= '1995-01-01'

comment: |-
Sales analytics metric view for order performance analysis.
Joins orders with customers and geography.
Owner: Analytics Team
Last updated: 2025-01-15

fields:
- name: order_date
expr: o_orderdate
display_name: Order Date
- name: order_month
expr: "DATE_TRUNC('MONTH', order_date)"
display_name: Order Month
- name: order_year
expr: YEAR(order_date)
display_name: Order Year
- name: order_status
expr: |-
CASE o_orderstatus
WHEN 'O' THEN 'Open'
WHEN 'P' THEN 'Processing'
WHEN 'F' THEN 'Fulfilled'
END
display_name: Order Status
synonyms:
- status
- fulfillment status
- name: order_priority
expr: "SPLIT(o_orderpriority, '-')[0]"
display_name: Priority
- name: customer_name
expr: customer.c_name
display_name: Customer Name
- name: market_segment
expr: customer.c_mktsegment
display_name: Market Segment
synonyms:
- segment
- industry
- name: customer_nation
expr: customer.nation.n_name
display_name: Country
synonyms:
- nation
- country

measures:
- name: order_count
expr: COUNT(DISTINCT o_orderkey)
display_name: Order Count
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: total_revenue
expr: SUM(o_totalprice)
display_name: Total Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- revenue
- sales
- name: discounted_revenue
expr: SUM(o_totalprice * (1 - discount))
display_name: Discounted Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: unique_customers
expr: COUNT(DISTINCT o_custkey)
display_name: Unique Customers
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: avg_order_value
expr: MEASURE(total_revenue) / MEASURE(order_count)
display_name: Avg Order Value
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- AOV
- name: revenue_per_customer
expr: MEASURE(total_revenue) / MEASURE(unique_customers)
display_name: Revenue per Customer
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: open_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O')
display_name: Open Order Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- backlog
- name: fulfilled_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F')
display_name: Fulfilled Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: t7d_customers
expr: COUNT(DISTINCT o_custkey)
window:
- order: order_date
semiadditive: last
range: trailing 7 day
display_name: 7-Day Rolling Customers
format:
type: number
decimal_places:
type: exact
places: 0
$$;

メトリクスビューを作成するその他の方法については、メトリクスビューを作成を参照してください。

「ステップ」8: メトリクスビューを「クエリー」する

ビジネスに適した構文を使用してメトリクスビューをクエリーします。MEASURE() 関数は、選択したフィールドの粒度でメジャーを集計します。

ディメンション別にメジャーを集計する

この例では、複数のフィールドにわたってメジャーを集計します。これは、顧客国および市場セグメント別の総収益、注文数、平均注文額を、最高の収益順にランク付けして返します。

SQL
SELECT
customer_nation,
market_segment,
MEASURE(total_revenue) AS total_revenue,
MEASURE(order_count) AS order_count,
MEASURE(avg_order_value) AS avg_order_value
FROM catalog.schema.tpch_sales_analytics
GROUP BY customer_nation, market_segment
ORDER BY total_revenue DESC;

月次トレンドを分析

この例では、時間フィールドとメジャーを組み合わせてトレンドを追跡します。総収益と未処理注文収益(バックログ)を月別および注文ステータス別に返します:

SQL
SELECT
order_month,
order_status,
MEASURE(total_revenue) AS total_revenue,
MEASURE(open_order_revenue) AS open_order_revenue
FROM catalog.schema.tpch_sales_analytics
GROUP BY order_month, order_status
ORDER BY order_month;

パラメーター値を渡します

メトリクスビューはパラメーターを定義するため、テーブル値関数として呼び出し、クエリー時に値を渡すことができます。次のクエリーでは10%の割引が適用されます。discount の default が 0 のため、引数を省略したクエリーは割引が適用されていない収益を返します。

SQL
SELECT
customer_nation,
MEASURE(total_revenue) AS total_revenue,
MEASURE(discounted_revenue) AS discounted_revenue
FROM catalog.schema.tpch_sales_analytics(discount => 0.1)
GROUP BY customer_nation
ORDER BY discounted_revenue DESC;

学習した内容

以下を示すメトリクス ビューを構築しました。

機能

Snowflake スキーマ結合

注文から顧客へ、さらに国へ(ネストされた多対一結合)

時間フィールド

日付、月、年の粒度

変換されたフィールド

CASE ステートメント、SPLIT 関数

シンプルなメジャー

COUNT, SUM

構成可能性

avg_order_value および revenue_per_customer は、以前に定義されたメジャーを参照しています。 MEASURE()

フィルター済みメジャー

FILTER (WHERE ...) 条件付き集計の場合

ウィンドウメジャー

直近7日間の「顧客」数の使用 trailing 7 day

パラメータ

discount discounted_revenueメジャーで適用されるパラメーター

エージェントメタデータ

display_nameformatsynonyms (フィールドと計算式)

機能

Snowflake スキーマ結合

注文から顧客へ、さらに国へ(ネストされた多対一結合)

時間フィールド

日付、月、年の粒度

変換されたフィールド

CASE ステートメント、SPLIT 関数

シンプルなメジャー

COUNT, SUM

構成可能性

avg_order_value および revenue_per_customer は、以前に定義されたメジャーを参照しています。 MEASURE()

フィルター済みメジャー

FILTER (WHERE ...) 条件付き集計の場合

ウィンドウメジャー

直近7日間の「顧客」数の使用 trailing 7 day

パラメータ

discount discounted_revenueメジャーで適用されるパラメーター

エージェントメタデータ

display_nameformatsynonyms (フィールドと計算式)

追加のリソース