セマンティックビューエディター

Snowsight のセマンティックビューエディターは、 セマンティックビュー を作成および編集するための視覚的インターフェースを提供します。Autopilot によって作成されたビューの改良、ゼロから構築、またはアップロードされたYAML仕様の編集など、データに対するビジネスコンセプト、メトリック、関係を定義するのに役立ちます。

セマンティックビューエディターを使用すると、次を実行できます。

  • 物理データベーステーブルにマップする論理テーブルを定義

  • ディメンション(カテゴリ属性)、ファクト(行レベルのデータ)、およびメトリック(集計測定)の作成

  • テーブル間の関係の確立

  • Cortex Analyst 用に確認済みクエリを追加

  • クエリ生成用のカスタム指示の提供

  • 発見可能性を向上させるための同義語と説明の構成

エディターへのアクセス

セマンティックビューエディターには、データカタログまたは Cortex Analyst からアクセスできます。

データカタログを通じて

データカタログを通じて既存のセマンティックビューにアクセスするには、以下を行います。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Catalog » Database Explorer を選択します。

  3. データベースとスキーマに移動します。

  4. オブジェクトリスト内で Semantic Views を選択します。

  5. 編集するセマンティックビューを選択します。

  6. Semantic information タブを選択してエディターを開きます。

Cortex Analystを通じて

Cortex Analyst を介してセマンティックビューにアクセスするには、以下を行います。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで AI & ML » Cortex Analyst を選択します。

  3. Semantic Views タブを選択します。

  4. 次のいずれかを実行します。

    • 既存のビューを選択して編集する

    • Create new を選択して、新しいセマンティックビューを作成する

セマンティックビューメタデータを編集する

セマンティックビューの名前と説明は、ユーザーがビューの目的を発見して理解するのに役立ちます。

セマンティックビューの名前または説明を編集するには、以下を行います。

  1. エディターで、ページ上部のセマンティックビュー名の隣の Edit を選択します。

  2. Name または Description フィールドを更新します。

  3. Save を選択します。

Tip

次を説明する明確で詳細な説明を記述します。

  • このビューが回答できるビジネス上の質問

  • 含まれるデータソース

  • このビューを使用する必要がある人

例:「前年比の傾向を含む、製品と顧客全体の収益分析。このビューを使用して、地域、製品カテゴリ、および顧客セグメントごとに販売業績を分析します。」

論理テーブルを管理する

論理テーブルはビジネスエンティティ(顧客、注文、製品など)を表し、物理的なデータベーステーブルやビューにマップします。各セマンティックビューには、1つ以上の論理テーブルが含まれます。

論理テーブルを追加する

セマンティックビューに論理テーブルを追加するには、以下を行います。

  1. エディターで、 + Logical Table を選択します。

  2. データベースから物理テーブルまたはビューを参照して選択します。

  3. Next を選択します。

  4. テーブルから含める列を選択します。

  5. Generate logical table を選択します。

エディターは、選択された列に基づいてディメンションとファクトを自動的に生成します。

論理テーブルを編集する

既存の論理テーブルを変更するには、以下を行います。

  1. テーブル名の横にある Edit を選択します(または More options » Edit Logical Table を選択します)。

  2. テーブルのプロパティを変更します。

    • Name:このテーブルのビジネス上わかりやすい名前

    • Description:このテーブルが何を表しているかの説明

    • Synonyms :代替名(カンマ区切り)

    • Primary Key:行を一意に識別する列

  3. Save を選択します。

Tip

:ui:`Generate fields`ボタンを使用して、AIにデータと列名に基づいて説明や同義語を自動的に入力させます。これにより、初期設定プロセスを大幅に高速化できます。

ファクト、ディメンション、およびメトリックの管理

各論理テーブル内で、ユーザーがクエリできるビジネス概念(ディメンション、ファクト、メトリック)を定義します。

コンテンツタイプの理解

  • ディメンション :コンテキスト(顧客名、製品カテゴリ、注文日など)を提供するカテゴリ属性

  • ファクト :行レベルの定量データ(販売額、数量、単価など)

  • メトリック :SUM、AVG、COUNTなどの関数から計算された集計メジャー(例:総売上高、平均注文値など)

ディメンション、ファクト、またはメトリックの追加

論理テーブルに新しい項目を追加するには、以下を行います。

  1. エディターで論理テーブルに移動します。

  2. FactsMetrics 、または Dimensions の横にある + を選択します。

  3. 必要な情報を入力します。

    • Name:このテーブルの説明的な名前。

    • Expression :SQL値を計算する式

    • Data Type:結果のデータ型

  4. Add の選択

アイテムの編集または削除

既存のディメンション、ファクト、またはメトリックを変更または削除するには、以下を行います。

  1. アイテムを選択して、その詳細を開き、プロパティを編集します。

  2. または、 More options » Remove を選択してアイテムを削除します。

  3. Save を選択して変更を適用します。

高度な機能

派生メトリック :複数のテーブルのメトリックを組み合わせるビューレベルのメトリックを作成できます。詳細については、 派生メトリックの定義 をご参照ください。

プライベートアクセス修飾子 :ファクトやメトリックをプライベートとしてマークし、他の計算で使用している間はクエリから非表示にします。詳細については、 ファクトやメトリックをプライベートとしてマークする をご参照ください。

メトリックの優先結合パス::ref:`2つの論理テーブル間に複数の関係パス<label-semantic_views_create_logical_tables_relations>`がある場合、:ui:`Preferred join path`メニューから使用する関係を選択できます。

関係の管理

関係は、論理テーブルがどのように結合し、複数のテーブルにまたがるクエリを可能にするかを定義します。各関係は、あるテーブルの列が別のテーブルの列を参照する列を定義します。

関係の追加

2つの論理テーブル間の関係を作成するには、以下を行います。

  1. エディターで、 Relationships の隣の + を選択します。

  2. 関係を説明する Name を入力します(例:「orders_to_customers」)。

  3. Left Table を選択します(外部キーを持つテーブル)。

  4. Right Table を選択します(参照されるテーブル)。

  5. 各テーブルの Join Columns を指定します。

    • Left Column:左側のテーブルの外部キー列

    • Right Column:右側のテーブルにある主キーまたは一意の列

  6. Add を選択します。

関係が関係リストに表示され、 Cortex Analyst がこれらのテーブルを結合するクエリを生成できるようになります。

注釈

セマンティックビューの場合、通常、結合型(左外部、内部)または関係型(1対1、多対1)を指定する必要はありません。これらは、クエリ時にデータと主キーの定義から自動的に推測されます。

関係の編集または削除

関係を変更または削除するには、以下を行います。

  1. 詳細を表示するには、関係を選択します。

  2. 必要に応じてプロパティを編集するか、 Remove を選択して削除します。

  3. Save を選択して変更を適用します。

Cortex Analystの高度な機能

Cortex Analyst の正確性と信頼性を向上させるには、検証済みクエリ、同義語、カスタム指示を通じてコンテキストとガイダンスを追加することができます。

検証済みクエリ

検証済みクエリは、正しいSQL応答を持つ質問例を提供します。これらは2つの目的を果たします。

  • Cortex Analyst が類似した質問への回答方法を理解するのを支える

  • ユーザーが使い始めるための質問例を提供する

検証済みクエリを追加します。

  1. Verified Queries の横にある + を選択します。

  2. 自然言語の Question を入力します(たとえば、「売上高で上位10製品は何ですか?」)。

  3. 対応する、質問に正しく回答する SQL Query を入力します。

  4. (オプション) Use as onboarding question をチェックして、ユーザーへの提案としてこれを表示します。

  5. Add を選択します。

Tip

以下について、検証済みクエリを追加します。

  • ユーザーが尋ねそうな一般的なビジネス上の質問

  • 特定のロジックを必要とする複雑なクエリ

  • エッジケースや異常な計算

  • ビューの機能を示す質問

同義語

注釈

AIで同義語を自動生成するのではなく、手動で同義語を追加します。内部用語、略語、レガシー名など、ドメイン固有の代替手段に焦点を当てます。自動生成された同義語は、多くの場合、セマンティックビューの品質を低下させます。

同義語は、ユーザーが代替用語を使用してデータを発見し、クエリするのに役立ちます。例えば、ユーザーは「顧客」を「クライアント」または「取引先」と呼ぶ場合があります。

テーブルやフィールドへ同義語を追加します。

  1. 同義語を追加するテーブル、ディメンション、ファクト、またはメトリックに移動します。

  2. Edit を選択して、アイテムのプロパティを開きます。

  3. Synonyms フィールドに、コンマで区切られた代替用語を入力します。

  4. Save を選択します。

同義語の例:

  • 「customer_name」ディメンションの場合:「クライアント名、アカウント名、購入者名」

  • 「revenue」メトリックの場合:「売上、収入、利益」

  • 「orders」テーブルの場合:「販売注文、購入」

カスタムの手順

カスタム手順は、 Cortex Analyst の SQL 生成と質問のカテゴリ化について具体的なガイダンスを提供します。カスタム手順を使用して、以下を実行します。

  • ビジネスルールと制約を定義する

  • デフォルトの動作を指定する

  • あいまいな質問を処理する

  • 特定の種類の質問を拒否する

次の方法でカスタム指示を追加します。

  1. エディターで、 Custom Instructions セクションを選択します。

  2. 自然言語で指示を入力します。例:

    • 「特に指定がない限り、アクティブな顧客で常にフィルタリングする(ステータス = 'ACTIVE')」

    • 「すべての通貨値を小数点以下2桁に四捨五入」

    • 「収益について尋ねた場合は、総収益が明示的にリクエストされない限り、net_revenueメトリックを使用する」

    • 「地域を指定せずにユーザーに関する質問がある場合は、ユーザーにどの地域かを明確にするよう依頼する」

  3. Save を選択します。

セマンティックビューのカスタム手順の詳細については、 Cortex Analyst のカスタム指示の提供 をご参照ください。

YAMLファイルのアップロード

既存のセマンティックビューYAML仕様またはレガシーセマンティックモデルYAMLファイルがある場合、アップロードして、新しいセマンティックビューを作成したり、既存のビューを更新したりできます。

YAMLファイルをアップロードするには、以下を行います。

  1. ナビゲーションメニューで AI & ML » Cortex Analyst を選択します。

  2. Create new » Upload YAML file を選択します。

  3. 閲覧してYAMLファイルを選択します。

  4. エディターで生成されたセマンティックビュー構造を確認します。

  5. Convert and save を選択して、スキーマレベルのオブジェクトとしてセマンティックビューを作成します。

エディターはYAML仕様をネイティブのSnowflakeセマンティックビューに変換し、ビジュアルインターフェースを使用して編集できるようにします。

YAML仕様フォーマットの詳細については、 セマンティックビューのYAML仕様 をご参照ください。

仕様をセマンティックビューにプログラムで変換する方法については、 YAML仕様からセマンティックビューを作成する をご参照ください。

共有および権限付与

他のユーザーやロールがセマンティックビューを使用できるようにするには、適切な権限を付与する必要があります。

エディターを介したアクセス権の付与

セマンティックビューへのアクセスをすばやく付与するには、以下を行います。

  1. エディターで、 Share を選択します(または More options » Share )。

  2. アクセスを付与するロールを選択します。

  3. 付与操作を確認します。

これにより、セマンティックビューでSELECTおよびREFERENCES権限の両方が付与され、ロールは次を実行できるようになります。

  • セマンティックビューをクエリする

  • Cortex Analyst とセマンティックビューを使用する

権限について

セマンティックビューは、Snowflakeの標準権限モデルをサポートしています。

  • SELECT:セマンティックビューにクエリを実行し、そのコンテンツを表示するために必要

  • REFERENCES:Cortex Analyst でセマンティックビューを使用してその構造を見るために必要

  • OWNERSHIP:セマンティックビューに対するフルコントロール

将来の付与やより複雑なシナリオなど、セマンティックビューに対する権限付与の詳細については、 セマンティックビューの権限付与 をご参照ください。

セマンティックビューの共有

Snowflakeの共有メカニズムを使用して、アカウント間でセマンティックビューを共有できます。詳細については、 セマンティックビューの共有 をご参照ください。