Snowsight を使用したセマンティックビューの作成と管理

Snowsight で、セマンティックビュー を作成して管理できます。

セマンティックビューの作成

Snowsight で、ウィザードを使用するか、セマンティックモデル仕様 をアップロードすることで、セマンティックビューを作成できます。

注釈

To create a semantic view, you must use a role with the following privileges:

  • CREATE SEMANTIC VIEW on the schema where you are creating the semantic view.

  • USAGE on the database and schema where you are creating the semantic view.

  • SELECT on the tables and views used in the semantic view.

Using the AI-assisted generator to create a semantic view

AI 支援ジェネレーターを使用して、複数のソースからのセマンティック情報を組み合わせたセマンティックビューを作成します。独自の YAML 仕様でセマンティックビューを手動で作成する代わりに、 Snowsight 内のモデルジェネレーターを使用すると時間を節約できます。セマンティックビューを作成するプロセスでは、次の情報が必要です。

  • ビューの基本情報を含む説明

  • SQL クエリの例などのコンテキスト

  • 使用しているデータソース(少なくとも1つのテーブルまたはビュー)

  • 使用している列

AI 支援ジェネレーターは、次の方法で入力を処理します。

  • ** SQL クエリ例**

    • クエリのリストを検証し、無効なクエリを破棄します。

    • クエリからすべてのテーブルと列を抽出し、セマンティックビューに追加する前に確認のために提示します。

    • クエリから関係を抽出します。

    • 有効なクエリを検証済みクエリとしてセマンティックビューに追加します。

  • テーブルメタデータ

    • すべてのテーブルと列の説明を抽出します。

    • メタデータを分析するか、異なる値をカウントしてカーディナリティと関係タイプを特定することにより、主キーと一意キーをセマンティックビューに追加します。

  • クエリ履歴

    • 過去の SQL クエリをセマンティックビューへの提案として表示します。AI 支援ジェネレーターは、選択したテーブルと列の境界内に適合するクエリの最も一般的なタイプを識別します。

    • セマンティックビューの有効な関係と列の型を検索します。

    • Cortex Analyst は、セマンティックモデルの作成に使用したロールがアクセスできるクエリ履歴を使用して、関係と検証済みのクエリ提案の両方を生成します。

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

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

  3. At the top of the navigation menu, select Create new » Create new Semantic View.

  4. 作成後にセマンティックビューを保管する場所を選択します。

  5. Enter a name for the semantic view.

  6. Description には、セマンティックビューに関する情報を指定します。

  7. Next を選択します。

  8. コンテキストを提供するには、次の情報を追加します。

    • SQL Queries には、ビューの一部として使用するサンプルの質問とそれぞれの SQL クエリを入力します。

  9. For Select tables, provide the data source that you're using to create the semantic view.

    少なくとも1つのテーブルまたはビューを提供する必要があります。指定できるテーブルやビューに制限はありませんが、Snowflakeでは、10個以上は使用しないことをお勧めします。

  10. Next を選択します。

  11. Select columns では、セマンティックビューの作成に使用する列を選択します。

    すべての列または特定の列を選択することができます。パフォーマンス上の理由から、Snowflakeでは、50列以上は使用しないことをお勧めします。

  12. 各列のサンプル値をセマンティックビューに追加するかどうかを選択します。サンプル値は、 Cortex Analyst の結果の精度を向上させるのに役立ちます。

  13. テーブルと列の AI 生成説明をセマンティックビューに追加するかどうかを選択します。AI 生成説明は、列名とサンプル値に基づいています。

  14. Create and save を選択します。セマンティックビューのページでは、ビュージェネレーターが実行しているステップの詳細など、ビュー生成の進捗状況を表示することができます。このプロセスには数分かかる場合があります。

  15. オプション:追加の変更を行うには、 Snowsight を使用するか、 YAML ファイルを直接編集してビューを編集します。

Cortex Analyst は作成後に、セマンティックビューを改善するための提案を自動的に生成します。提案が表示された後(数分かかる場合があります)、それらを確認し、必要に応じてビューに適用できます。

セマンティックビューを作成する YAML 仕様のアップロード

  1. Cortex Analyst からセマンティックビューを作成する予定がある場合は、YAML ファイルの ステージを作成 します。

  2. 次のいずれかの方法で YAML ファイルをアップロードします。

    • データベースオブジェクトエクスプローラー:

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

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

      3. セマンティックビューを作成するデータベースとスキーマを選択します。

      4. Create » Semantic View » Upload YAML file を選択します。

      5. アップロードする YAML ファイルを選択します。

      6. Select database, schema and stage で、YAML ファイルをアップロードしたいデータベース、スキーマ、ステージを選択します。

      7. YAML ファイルをステージの特定のパスにアップロードしたい場合は、そのパスを指定します。

      8. Upload を選択します。

    • Cortex Analyst:

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

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

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

      4. アップロードする YAML ファイルを選択します。

      5. Convert and save を選択します。

セマンティックビューの編集

注釈

Snowsight でセマンティックビューを編集すると、既存のビューが事実上置き換えられます。既存のセマンティックビューを置き換えるには、次の権限が付与されたロールを使用する必要があります。

  • CREATE SEMANTIC VIEW on the schema where you are creating the semantic view.

  • USAGE on the database and schema where you are creating the semantic view.

  • SELECT on the tables and views used in the semantic view.

セマンティックビューを編集するには:

  1. 次のいずれかの方法でセマンティックビューにアクセスします。

    • データベースオブジェクトエクスプローラー:

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

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

      3. セマンティックビューを含むデータベースとスキーマを選択します。

      4. Semantic views を選択します。

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

      6. Semantic information タブを選択します。

    • Cortex Analyst:

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

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

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

      4. Select database to see semantic views で、編集するセマンティックビューを含むデータベースとスキーマを選択します。

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

  2. セマンティックビューに変更を加えます。次のタイプの変更を行うことができます。

    • セマンティックビューの名前や説明を変更するには

      1. セマンティックビューの名前の横にある Edit を選択します。

      2. 名前または説明に変更を加えます。

      3. Apply を選択します。

    • セマンティックビューに新しい論理テーブルを追加するには

      1. データベースオブジェクトエクスプローラーで + Logical Table を選択するか、Cortex Analyst で + を選択します。

      2. ウィザードの Select a table ステップで次を実行します。

        1. セマンティックビューで使用するデータを含むテーブルまたはビューを選択します。

        2. Next を選択します。

      3. ウィザードの Select columns ステップで:

        1. ビューに含める列を選択します。

          テーブルまたは表示内のすべての列を選択するには、テーブルまたはビューを選択します。

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

    • セマンティックビューで論理テーブルの名前、説明、同義語、または主キーを変更するには

      1. データベースオブジェクトエクスプローラーの論理テーブル名の横にある その他のオプション » Edit Logical Table、または Cortex Analyst の論理テーブル名の横にある Edit を選択します。

      2. 名前、説明、同義語、主キーを変更します。

        説明や同義語を指定していない場合は、Generate fields を選択するとこれらのフィールドに自動入力できます。

      3. Save を選択します。

    • ファクト、ディメンション、またはメトリックを追加するには

      1. 新しいアイテムを追加するフォームを開きます。

        • データベースオブジェクトエクスプローラーで、その他のオプション を選択してから、FactDimension、または Metric を選択します。

        • Cortex Analyst で、FactsDimensions、または Metrics の横にある + を選択します。

      2. 新しいファクト、ディメンション、またはメトリックに関する情報を入力し、Add を選択します。

    • ファクト、ディメンション、またはメトリックを変更または削除するには

      1. FactsDimensions、または Metrics を選択して、ファクト、ディメンション、またはメトリックのリストを表示します。

      2. 変更するファクト、ディメンション、またはメトリックについて

        • Edit を選択してアイテムを変更します。

        • その他のオプション»Remove factRemove dimension、または:ui:Remove metric を選択してアイテムを削除します。

    • 関係を追加するには

      1. 新しいアイテムを追加するフォームを開きます。

        • データベースオブジェクトエクスプローラーで、+ Relationship を選択します。

        • Cortex Analyst で、Relationships の横にある + を選択します。

      2. 関係の名前を入力し、関係内のテーブルを選択して、テーブルの結合に使用する列を選択します。

      3. Add を選択します。

  3. このビューで Cortex Analyst を使用する予定がある場合は、次のことを考慮します。

    • Verified Queries セクションにサンプルクエリを追加します。このセクションは Cortex Analyst でのみ利用可能です。

      • これらは、Cortex Analystがセマンティックビューの使い方を理解するのに役立つクエリ例です。

      • データの一般的な使用ケースを表すクエリを追加します。

    • テーブル、ファクト、ディメンジョン、またはメトリクスの同義語を追加します。

      • これらは、ユーザーがクエリで使用する可能性のある代替用語です。

      • 同義語は、 Cortex Analyst が、ユーザーの質問を正しく解釈するのに役立ちます。

    • カスタム指示を追加します。

      • これらは、データをどのように解釈すべきかについての追加的なコンテキストを提供します。

      • 考慮すべきビジネスルールや制約を含めてください。

  4. Save を選択します。

セマンティックビューを使用する権限の別のロールへの付与

セマンティックビューの表示とクエリの権限を別のロールに付与するには

  1. 次のいずれかの方法でセマンティックビューにアクセスします。

    • データベースオブジェクトエクスプローラー:

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

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

      3. セマンティックビューを含むデータベースとスキーマを選択します。

      4. Semantic views を選択します。

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

      6. その他のオプション » Share を選択します。

    • Cortex Analyst:

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

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

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

      4. セマンティックビューを選択します。

      5. Share を選択します。

  2. セマンティックビューの表示とクエリの権限を付与するロールを選択します。

  3. Done を選択します。

これによりセマンティックビューに関する SELECT と REFERENCES の権限を選択したロールに付与します。

セマンティックビューのクエリ

データベースオブジェクトエクスプローラーでセマンティックビューを表示している場合は、その他のオプション » Query with SQL を選択すると、ワークシートを開いてそのビューのクエリを構築することができます。

クエリを構築する方法については、セマンティックビューのクエリ をご参照ください。

セマンティックビュー作成のベストプラクティス

  • 明確な説明を提供します:

    • すべての名称と説明にはビジネス用語を使用してください。

    • 技術的な知識がないユーザーでも理解できるように、説明を詳しくしてください。

  • 代表的なユーザーの質問を含みます:

    • モデルジェネレーターがあなたの意図をよりよく理解するのに役立つ質問を含めてください。

    • 質問の仕方のバリエーションを含めてください。

  • 生成された提案を注意深く検討してください:

    • 質問がユースケースに関連していることを確認してください。

    • 提案された関係があなたのビジネスの理解に合致していることを確認してください。

  • 実際の問題でテストします:

    • セマンティックビューを作成したら、実際のビジネス質問でテストしてみましょう。

    • モデルがこれらの質問をどの程度サポートしているかに基づいて、セマンティックビューを絞り込みます。

  • セマンティックビューの開発を繰り返す:

    • シンプルなスタースキーマから始めましょう。

    • 中核となるテーブルと測定基準から始め、その後拡張していきます。シンプルにするために、3つのテーブルをお勧めします。

    • ビジネスユーザーからフィードバックを得て、セマンティックビューを改善しましょう。

トラブルシューティング

  • セマンティックビューがビューのリストに記載されていない場合は、モデルのリスト(ページ自体ではなく)を更新します。

  • セマンティックビューのリレーションシップでエラーが発生した場合は、これらのリレーションシップが実際のデータ構造と一致していることを確認してください。

  • クエリが遅い場合は、テーブルや列の数を減らしてください。

  • Cortex Analyst に、セマンティック・ビューを使用した際に予期しない結果が表示された場合は、セマンティック・ビューのファクト、ディメンジョン、メトリクスを見直してください。