Utiliser Snowsight pour créer et gérer des vues sémantiques

Dans Snowsight, vous pouvez créer et gérer des vues sémantiques :

Créer une vue sémantique

Dans Snowsight, vous pouvez créer une vue sémantique en utilisant un assistant ou en chargeant une spécification de modèle sémantique.

Note

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

Utilisation du générateur assisté par AI pour créer une vue sémantique qui combine des informations sémantiques provenant de plusieurs sources. Au lieu de créer manuellement un modèle sémantique avec votre propre spécification YAML, vous pouvez utiliser le générateur de modèles dans Snowsight pour gagner du temps. Le processus de création d’une vue sémantique nécessite les informations suivantes :

  • Une description avec des informations de base sur la vue.

  • Du contexte, comme les exemples de requêtes SQL.

  • La source de données (au moins une table ou vue) que vous utilisez.

  • Les colonnes que vous utilisez.

Le générateur assisté par AI gère les entrées comme suit :

  • Exemples de requêtes SQL

    • Valider la liste des requêtes et rejeter les requêtes non valides.

    • Extraire toutes les tables et colonnes des requêtes et les présenter pour vérification avant ajout à la vue sémantique.

    • Extraire les relations des requêtes.

    • Ajouter des requêtes valides à la vue sémantique en tant que requêtes vérifiées.

  • Métadonnées de table

    • Extraire toutes les descriptions de tables et de colonnes.

    • Ajouter des clés primaires et uniques à la vue sémantique en analysant les métadonnées ou en comptant les valeurs distinctes pour déterminer la cardinalité et les types de relations.

  • Historique des requêtes

    • Afficher les requêtes SQL historiques en tant que suggestions dans la vue sémantique. Le générateur assisté par AI identifie les types de requêtes les plus courantes qui tiennent dans les limites des tables et des colonnes sélectionnées.

    • Rechercher les relations et les types de colonnes valides pour la vue sémantique.

    • Cortex Analyst utilise l’historique des requêtes accessible par le rôle utilisé pour créer le modèle sémantique afin de générer à la fois des relations et des suggestions de requête vérifiées.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez AI & ML » Cortex Analyst.

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

  4. Sélectionnez un emplacement pour stocker la vue sémantique après sa création.

  5. Enter a name for the semantic view.

  6. Pour Description, spécifiez des informations sur le modèle sémantique.

  7. Sélectionnez Next.

  8. Pour donner du contexte, ajoutez les informations suivantes :

    • Pour SQL Queries, fournissez des exemples de questions et leurs requêtes SQL respectives que vous souhaitez utiliser dans le cadre de la vue.

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

    Vous devez fournir au moins une table ou une vue. Il n’y a pas de limite au nombre de tables ou de vues que vous pouvez spécifier, mais Snowflake recommande de ne pas en utiliser plus de 10.

  10. Sélectionnez Next.

  11. Pour Select columns, sélectionnez les colonnes que vous utilisez pour créer la vue sémantique.

    Vous pouvez sélectionner toutes les colonnes ou des colonnes spécifiques. Pour des raisons de performance, Snowflake recommande de ne pas utiliser plus de 50 colonnes.

  12. Indiquez si vous souhaitez ajouter des valeurs d’exemple de chaque colonne à la vue sémantique. Les valeurs d’exemple aident à améliorer la précision des résultats de Cortex Analyst.

  13. Sélectionner si vous souhaitez ajouter des descriptions générées par AI pour les tables et les colonnes dans la vue sémantique. Les descriptions générées par AI sont basées sur les noms des colonnes et les valeurs d’exemple.

  14. Sélectionnez Create and save. Vous pouvez voir la progression de la génération de vues, y compris les détails sur les étapes suivies par le générateur de vues, sur la page de la vue sémantique. Le processus peut prendre quelques minutes.

  15. En option : Pour apporter des modifications supplémentaires, modifiez la vue en utilisant Snowsight ou en éditant directement le fichier YAML.

Cortex Analyst génère automatiquement des suggestions pour améliorer la vue sémantique après la création. Une fois les suggestions affichées, ce qui peut prendre plusieurs minutes, vous pouvez les vérifier et les appliquer à la vue si nécessaire.

Chargement d’une spécification YAML pour créer une vue sémantique

  1. Si vous prévoyez de créer la vue sémantique à partir de Cortex Analyst, créez une zone de préparation pour le fichier YAML.

  2. Chargez le fichier YAML de l’une des manières suivantes :

    • Navigateur d’objets de base de données

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez Catalog » Database Explorer.

      3. Sélectionnez la base de données et le schéma dans lesquels vous souhaitez créer la vue sémantique.

      4. Sélectionnez Create » Semantic View » Upload YAML file.

      5. Sélectionnez le fichierYAML à charger.

      6. Sous Select database, schema and stage, sélectionnez la base de données, le schéma et la zone de préparation dans lesquels vous souhaitez charger le fichier YAML.

      7. Si vous voulez que le fichier YAML soit chargé vers un chemin spécifique de la zone de préparation, spécifiez ce chemin.

      8. Sélectionnez Upload.

    • Cortex Analyst :

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez AI & ML » Cortex Analyst.

      3. Sélectionnez Create new » Upload YAML file.

      4. Sélectionnez le fichierYAML à charger.

      5. Sélectionnez Convert and save.

Modifier une vue sémantique

Note

La modification d’une vue sémantique dans Snowsight remplace effectivement la vue existante. Pour remplacer une vue sémantique existante, vous devez utiliser un rôle auquel a été accordé les privilèges suivants :

  • 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.

Pour modifier une vue sémantique :

  1. Accédez à la vue sémantique de l’une des manières suivantes :

    • Navigateur d’objets de base de données

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez Catalog » Database Explorer.

      3. Sélectionnez la base de données et le schéma contenant la vue sémantique.

      4. Sélectionnez Semantic views.

      5. Sélectionnez la vue sémantique.

      6. Sélectionnez l’onglet Semantic information.

    • Cortex Analyst :

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez AI & ML » Cortex Analyst.

      3. Sélectionnez l’onglet Semantic views.

      4. Sous Select database to see semantic views, sélectionnez la base de données et le schéma contenant la vue sémantique que vous souhaitez modifier.

      5. Sélectionnez la vue sémantique que vous souhaitez modifier.

  2. Apportez des modifications à la vue sémantique. Vous pouvez apporter les types de modifications suivants :

    • Pour modifier le nom ou la description de la vue sémantique :

      1. Sélectionnez Edit à côté du nom de la vue sémantique.

      2. Apportez des modifications au nom ou à la description.

      3. Sélectionnez Apply.

    • Pour ajouter une nouvelle table logique à la vue sémantique :

      1. Sélectionnez + Logical Table dans l’explorateur d’objets de la base de données ou + dans Cortex Analyst.

      2. À l’étape Select a table de l’assistant :

        1. Sélectionnez la table ou la vue qui contient les données que vous souhaitez utiliser dans votre vue sémantique.

        2. Sélectionnez Next.

      3. Dans l’étape Select columns de l’assistant :

        1. Sélectionnez les colonnes à inclure dans la vue.

          Pour sélectionner toutes les colonnes d’une table ou d’une vue, sélectionnez cette table ou cette vue.

        2. Sélectionnez Generate logical table.

    • Pour modifier le nom, la description, les synonymes ou la clé primaire d’une table logique dans la vue sémantique :

      1. Sélectionnez Plus d'options » Edit Logical Table à côté du nom de la table logique dans l’explorateur d’objets de base de données ou Edit à côté du nom de la table logique dans Cortex Analyst.

      2. Apportez vos modifications au nom, à la description, aux synonymes et à la clé primaire.

        Si vous n’avez pas spécifié la description ou les synonymes, vous pouvez sélectionner Generate fields pour remplir ces champs automatiquement.

      3. Sélectionnez Save.

    • Pour ajouter un fait, une dimension ou une métrique :

      1. Ouvrez le formulaire d’ajout du nouvel élément :

        • Dans l’explorateur d’objets de la base de données, sélectionnez. Plus d'options, puis sélectionnez Fact, Dimension ou Metric.

        • Dans Cortex Analyst, sélectionnez + à côté de Facts, Dimensions ou Metrics.

      2. Saisissez des informations sur le nouveau fait, la nouvelle dimension ou la nouvelle métrique, puis sélectionnez Add.

    • Pour modifier ou supprimer un fait, une dimension ou une métrique :

      1. Sélectionnez Facts, Dimensions ou Metrics pour afficher la liste des faits, des dimensions ou des métriques.

      2. Pour le fait, la dimension ou la métrique que vous souhaitez modifier :

        • Sélectionnez Edit pour modifier l’élément.

        • Sélectionnez Plus d'options » Remove fact, Remove dimension ou Remove metric pour supprimer l’élément.

    • Pour ajouter une relation :

      1. Ouvrez le formulaire d’ajout du nouvel élément :

        • Dans l’explorateur d’objets de base de données, sélectionnez + Relationship.

        • Dans Cortex Analyst, sélectionnez + à côté de Relationships.

      2. Saisissez un nom pour la relation, sélectionnez les tables de la relation et sélectionnez les colonnes à utiliser pour joindre les tables.

      3. Sélectionnez Add.

  3. Si vous prévoyez d’utiliser Cortex Analyst avec cette vue, considérez ce qui suit :

    • Ajoutez des exemples de requêtes à la section Verified Queries. Notez que cette section n’est disponible que dans Cortex Analyst.

      • Il s’agit d’exemples de requêtes qui aident Cortex Analyst à comprendre comment utiliser la vue sémantique.

      • Ajoutez des requêtes qui représentent des cas d’utilisation courants de vos données.

    • Ajoutez des synonymes pour vos tables, faits, dimensions ou métriques.

      • Il s’agit de termes alternatifs que les utilisateurs peuvent utiliser dans leurs requêtes.

      • Les synonymes aident Cortex Analyst à interpréter correctement les questions des utilisateurs.

    • Ajoutez des instructions personnalisées.

      • Celles-ci fournissent un contexte supplémentaire sur la manière dont les données doivent être interprétées.

      • Indiquez les règles ou contraintes métier à prendre en compte.

  4. Sélectionnez Save.

Accord du privilège d’utilisation d’une vue sémantique à un autre rôle

Pour accorder à un autre rôle les privilèges nécessaires pour afficher et interroger une vue sémantique :

  1. Accédez à la vue sémantique de l’une des manières suivantes :

    • Navigateur d’objets de base de données

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez Catalog » Database Explorer.

      3. Sélectionnez la base de données et le schéma contenant la vue sémantique.

      4. Sélectionnez Semantic views.

      5. Sélectionnez la vue sémantique.

      6. Sélectionnez Plus d'options » Share.

    • Cortex Analyst :

      1. Connectez-vous à Snowsight.

      2. Dans le menu de navigation, sélectionnez AI & ML » Cortex Analyst.

      3. Sélectionnez l’onglet Semantic views.

      4. Sélectionnez la vue sémantique.

      5. Sélectionnez Share.

  2. Sélectionnez le rôle auquel doivent être accordés les privilèges pour afficher et interroger la vue sémantique.

  3. Sélectionnez Done.

Ceci accorde les privilèges SELECT et REFERENCES sur la vue sémantique au rôle sélectionné.

Interrogation d’une vue sémantique

Si vous affichez une vue sémantique dans l’explorateur d’objets de la base de données, vous pouvez ouvrir une feuille de calcul pour créer une requête pour cette vue en sélectionnant Plus d'options » Query with SQL.

Pour plus d’informations sur la manière de créer la requête, voir Interrogation des vues sémantiques.

Bonnes pratiques pour la création d’une vue sémantique

  • Fournissez des descriptions claires :

    • Utilisez la terminologie métier dans tous les noms et descriptions.

    • Rédigez des descriptions suffisamment détaillées pour être compréhensibles par les utilisateurs non techniques.

  • Incluez des questions utilisateur représentatives :

    • Ajoutez des questions qui peuvent aider le générateur de modèle à mieux comprendre votre intention.

    • Incluez des variantes de la façon dont les questions peuvent être posées.

  • Examinez attentivement les suggestions générées :

    • Assurez-vous que les questions sont pertinentes pour le cas d’utilisation.

    • Assurez-vous que les relations proposées correspondent à votre compréhension du métier.

  • Testez avec des questions réelles :

    • Après avoir créé votre vue sémantique, testez-la avec des questions métier réelles.

    • Affinez votre vue sémantique en fonction de la manière dont le modèle répond à ces questions.

  • Développez la vue sémantique de manière itérative :

    • Commencez par un schéma en étoile simple.

    • Commencez par les tables et les métriques de base, puis élargissez. Nous suggérons de commencer avec trois tables pour simplifier les choses.

    • Obtenez un retour d’information de la part des utilisateurs métier et affinez votre vue sémantique.

Résolution des problèmes

  • Si votre vue sémantique n’est pas répertoriée dans la liste des vues, actualisez la liste des modèles (et non la page elle-même).

  • Si des erreurs surviennent au niveau des relations dans la vue sémantique, assurez-vous que ces relations correspondent à la structure réelle des données.

  • Si les requêtes sont lentes, réduisez le nombre de tables ou de colonnes.

  • Si Cortex Analyst produit des résultats inattendus lors de l’utilisation de votre vue sémantique, revoyez les faits, les dimensions et les métriques de la vue sémantique.