Créer un ticket Mes tickets
Bienvenue
Connexion  S'inscrire

Exemple : Construction d’un modèle sémantique Snowflake Cortex Analyst pour la finance

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.


Astuces & Outils

  • Documentation Snowflake : Consultez la spécification officielle de Snowflake Cortex Analyst pour des définitions détaillées du modèle.

  • Générateur YAML : Utilisez l’outil de génération de modèle sémantique proposé par Snowflake pour accélérer la création de fichiers YAML.

  • Application modèle Streamlit : Explorez l’application Streamlit fournie dans le tutoriel Snowflake Cortex Analyst pour une intégration et des tests rapides.

Conclusion

Cette preuve de concept dans le domaine de la finance illustre la puissance de la combinaison entre DataGalaxy et Snowflake Cortex Analyst pour créer un modèle sémantique permettant une analyse métier pertinente et orientée utilisateur. En définissant les dimensions, mesures et relations dans un fichier YAML, vous rendez possibles des requêtes en langage naturel précises et intuitives pour les utilisateurs finaux.

Un certain travail manuel reste nécessaire pour des éléments comme les jointures ou les synonymes, mais les outils de glossaire et de traçabilité de DataGalaxy facilitent grandement la mise en place. En vous appuyant sur cet exemple, vous pouvez construire avec confiance vos propres modèles sémantiques robustes adaptés à différents domaines métier.




Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.