Vue d'ensemble
Cet article illustre comment créer un modèle sémantique dans Snowflake Cortex Analyst en utilisant une preuve de concept liée à la finance. L'exemple repose sur un tutoriel Snowflake et montre comment exploiter DataGalaxy pour définir des concepts métiers, structurer des tables et activer l'interrogation en langage naturel.
Exemples de questions en langage naturel
Grâce à un modèle sémantique, Cortex Analyst peut interpréter des questions telles que :
« Qui sont les nouveaux clients de 2022 ayant effectué des upsells en 2023 puis en 2024 ? »
« Quelles sont les factures de 2024 contenant des services datant d’années précédentes ? »
Ces types de requêtes nécessitent une cartographie logique des dimensions, des champs temporels et des relations entre différentes sources de données.
Tables physiques utilisées
Les tables physiques suivantes issues de Snowflake sont utilisées dans cette preuve de concept :
dim_customer – Dimension client
dim_invoice – Données d’en-tête de facture
dim_invoice_line – Détails des lignes de chaque facture
fact_tracking_arr – Table de faits pour le suivi de l’ARR (revenu récurrent annuel)
Exemple d’extrait YAML
Voici un extrait d’exemple provenant du fichier YAML du modèle sémantique :
name: Finance
description: Semantic model for finance-related queries
tables:
- name: customer
description: Customer information
base_table:
database: cortex_analyst_finance_poc
schema: finance
table: dim_customer
dimensions:
- name: customer_id
description: Unique customer identifier
expr: customerid
data_type: text
unique: true
Cela définit une table logique nommée customer, la relie à la table physique dim_customer, et identifie customer_id comme une dimension clé avec une contrainte d’unicité.
Poser des questions via Cortex Analyst

Une fois le modèle déployé, les utilisateurs peuvent commencer à interroger les données en langage naturel :
Exemple 1 : Factures impayées en décembre 2024
Requête :
« Quelles sont les factures émises en décembre 2024 qui ne sont toujours pas payées ? »
Résultat :
Cortex Analyst génère une requête SQL en utilisant les correspondances logiques-physiques définies dans le modèle, identifie les factures émises en décembre 2024 et applique un filtre sur le statut de paiement « Impayé ».
Exemple 2 : Revenus provenant uniquement des services
Requête :
« Quel est le revenu provenant uniquement des services ? »
Résultat :
Le modèle applique la mesure appropriée et les filtres selon la logique métier prédéfinie (par exemple, filtrage par type de service), et retourne le montant de revenu correspondant.