snowflake-semanticview
github/awesome-copilot
Créez, modifiez et validez les vues sémantiques Snowflake à l’aide de la CLI Snowflake (snow). Utilisez-la lorsque vous devez créer ou diagnostiquer des vues sémantiques ou des définitions de couche sémantique avec les commandes CREATE/ALTER SEMANTIC VIEW, pour valider le DDL des vues sémantiques auprès de Snowflake via la CLI, ou encore pour guider l’installation de la CLI Snowflake ainsi que sa configuration de connexion.
...Développer toutÀ propos de snowflake-semanticview
Cette compétence guide l’assistant dans la création, la modification et la validation des vues sémantiques Snowflake à l’aide de la CLI officielle Snowflake (snow). Elle permet de définir des modèles de couche sémantique fiables en imposant un flux de travail rigoureux axé sur la validation : au lieu de générer du DDL non testé, l’assistant rédige des instructions CREATE/ALTER SEMANTIC VIEW, les valide via la CLI en utilisant un nom temporaire, itère jusqu’à ce qu’elles soient acceptées, puis applique enfin la définition finale. Elle fournit également des indications pour installer la CLI Snowflake et configurer une connexion via snow connection add, en faisant référence à la documentation officielle Snowflake.
Le processus est très complet : l’assistant doit confirmer la base de données cible, le schéma, le rôle, l’entrepôt ainsi que le nom de la vue, vérifier le modèle de schéma étoilé, et rédiger du DDL selon la syntaxe officielle. Il est nécessaire de remplir les synonymes et commentaires pour chaque dimension, fait et métrique, en privilégiant les commentaires existants des colonnes Snowflake comme source et en demandant l’autorisation avant d’en créer de nouveaux. Des instructions SELECT en lecture seule, avec DISTINCT et un LIMIT maximal de 1000 lignes, sont utilisées pour identifier les relations et les types de colonnes. Le DDL est ensuite validé sous un nom temporaire (par exemple avec un suffixe __tmp_validate) afin d’éviter d’effacer la vue réelle ; une requête d’échantillon SEMANTIC_VIEW est exécutée pour vérifier le fonctionnement, puis les objets temporaires sont supprimés.
Les utilisateurs visés sont les ingénieurs données et les ingénieurs analytiques qui conçoivent des couches sémantiques Snowflake ou des définitions de métriques. La gestion des identifiants est confiée à la configuration de connexion officielle Snowflake CLI, et l’insistance sur l’utilisation de noms de validation temporaires, des limites de taille et la demande d’autorisation avant création de commentaires reflète des pratiques de travail minutieuses et à faible risque.
FAQ
Quelles sont les prérequis ?
Il faut avoir installé la CLI Snowflake (snow) et configuré une connexion via snow connection add. Cette compétence renvoie vers la documentation officielle Snowflake pour l’installation et la configuration de connexion, considérant ces étapes comme à effectuer une seule fois.
Comment sont gérés les identifiants ?
L’authentification est gérée par la configuration de connexion officielle Snowflake CLI. La compétence utilise cette connexion configurée pour la validation et l’exécution, sans gérer ni stocker elle-même les identifiants.
Comment évite-t-elle d’écraser une vue existante ?
Elle valide le DDL sous un nom temporaire, par exemple en ajoutant un suffixe __tmp_validate dans la même base de données et schéma, puis applique la définition finale uniquement après validation réussie, avant de supprimer l’objet temporaire.
Consulte-t-elle mes données réelles ?
Elle exécute des instructions SELECT en lecture seule, avec DISTINCT et un LIMIT maximal de 1000 lignes, afin de découvrir les relations entre faits et dimensions ainsi que les types de colonnes, ce qui permet de créer des commentaires et des synonymes pertinents.
Crée-t-elle des synonymes ou des commentaires ?
Non. Elle privilégie les commentaires existants des colonnes Snowflake comme source et demande l’autorisation avant d’en créer de nouveaux, ou encore si vous souhaitez fournir du texte directement, ou si elle doit proposer des suggestions à valider avant toute ajoutation.
One-Time Setup
- Verify Snowflake CLI installation by opening a new terminal and running
snow --help. - If Snowflake CLI is missing or the user cannot install it, direct them to https://docs.snowflake.com/en/developer-guide/snowflake-cli/installation/installation.
- Configure a Snowflake connection with
snow connection addper https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#add-a-connection. - Use the configured connection for all validation and execution steps.
Workflow For Each Semantic View Request
- Confirm the target database, schema, role, warehouse, and final semantic view name.
- Confirm the model follows a star schema (facts with conformed dimensions).
- Draft the semantic view DDL using the official syntax:
- https://docs.snowflake.com/en/sql-reference/sql/create-semantic-view
- Populate synonyms and comments for each dimension, fact, and metric:
- Read Snowflake table/view/column comments first (preferred source):
- https://docs.snowflake.com/en/sql-reference/sql/comment
- If comments or synonyms are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
- Read Snowflake table/view/column comments first (preferred source):
- Use SELECT statements with DISTINCT and LIMIT (maximum 1000 rows) to discover relationships between fact and dimension tables, identify column data types, and create more meaningful comments and synonyms for columns.
- Create a temporary validation name (for example, append
__tmp_validate) while keeping the same database and schema. - Always validate by sending the DDL to Snowflake via Snowflake CLI before finalizing:
- Use
snow sqlto execute the statement with the configured connection. - If flags differ by version, check
snow sql --helpand use the connection option shown there.
- Use
- If validation fails, iterate on the DDL and re-run the validation step until it succeeds.
- Apply the final DDL (create or alter) using the real semantic view name.
- Run a sample query against the final semantic view to confirm it works as expected. It has a different SQL syntax as can be seen here: https://docs.snowflake.com/en/user-guide/views-semantic/querying#querying-a-semantic-viewExample:
SELECT * FROM SEMANTIC_VIEW( my_semview_name DIMENSIONS customer.customer_market_segment METRICS orders.order_average_value)ORDER BY customer_market_segment;
- Clean up any temporary semantic view created during validation.
Synonyms And Comments (Required)
- Use the semantic view syntax for synonyms and comments:
WITH SYNONYMS [ = ] ( 'synonym' [ , ... ] )COMMENT = 'comment_about_dim_fact_or_metric'- Treat synonyms as informational only; do not use them to reference dimensions, facts, or metrics elsewhere.
- Use Snowflake comments as the preferred and first source for synonyms and comments:
- https://docs.snowflake.com/en/sql-reference/sql/comment
- If Snowflake comments are missing, ask whether you can create them, whether the user wants to provide text, or whether you should draft suggestions for approval.
- Do not invent synonyms or comments without user approval.
Validation Pattern (Required)
- Never skip validation. Always execute the DDL against Snowflake with Snowflake CLI before presenting it as final.
- Prefer a temporary name for validation to avoid clobbering the real view.
Example CLI Validation (Template)
# Replace placeholders with real values.snow sql -q "<CREATE OR ALTER SEMANTIC VIEW ...>" --connection <connection_name>
If the CLI uses a different connection flag in your version, run:
snow sql --help
Notes
- Treat installation and connection setup as one-time steps, but confirm they are done before the first validation.
- Keep the final semantic view definition identical to the validated temporary definition except for the name.
- Do not omit synonyms or comments; consider them required for completeness even if optional in syntax.
Tous les fichiers
0 fichiersInstaller snowflake-semanticview
Téléchargez et extrayez les fichiers de compétences dans votre répertoire .claude/skills/.
Télécharger le ZIPClonez le dépôt et copiez les fichiers de compétence dans votre projet.
git clone https://github.com/github/awesome-copilot/blob/main/skills/snowflake-semanticview/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copier





Maison
