Aller au contenu principal

Didacticiel : créer une vue métrique avec des jointures et la modélisation des données

Dans ce tutoriel, vous créez une vue de métrique d'analytique des ventes sur le dataset TPC-H. Au final, vous disposerez d'une vue des métriques qui :

  • Joint les commandes et les clients de plusieurs tables à l'aide d'un schéma en flocon de neige.
  • Définit les champs (également appelés dimensions) pour le temps, la géographie et les attributs d'ordre.
  • Calcule des mesures simples et complexes, y compris les ratios, les agrégations filtrées et les mesures de fenêtre.
  • Utilise la composabilité pour construire des métriques complexes à partir de mesures plus simples.
  • Définit un parameter pour appliquer un taux de remise au moment de la query.
  • Comprend les métadonnées d'agent pour les tableaux de bord et les outils d'IA.

Si vous êtes nouveau dans les vues métriques, start avec Créer une vue métrique pour apprendre les bases. Ce didacticiel étend cette base avec une complexité réelle.

Exigences

Pour réaliser ce tutoriel, vous devez disposer de :

  • Un workspace activé pour Unity Catalog.
  • Un SQL Warehouse ou une ressource de compute exécutant Databricks Runtime 17.3 et versions ultérieures.

Pour la liste complète des privilèges requis pour créer une vue des métriques, consultez Prérequis.

remarque

La création d'une vue de métrique est prise en charge sur Databricks Runtime 16.4 et versions supérieures. Ce didacticiel utilise des fonctionnalités qui nécessitent Databricks Runtime 17.3 ou une version ultérieure, et certaines étapes nécessitent un runtime ultérieur. Pour le runtime minimum de chaque fonctionnalité, consultez la disponibilité des fonctionnalités de la vue de métrique.

Le modèle de données

Le dataset TPC-H modélise une chaîne d'approvisionnement en gros. Ce tutoriel utilise trois tables jointes dans un schéma en flocon de neige :

  • orders rejoint customer sur o_custkey = c_custkey
  • customer rejoint nation sur c_nationkey = n_nationkey

Table

Rôle

Colonnes clés

orders

Table de faits (transactions de commande)

o_orderkey, o_custkey, o_totalprice, o_orderdate, o_orderstatus

customer

Table de dimensions (détails des clients)

c_custkey, c_name, c_mktsegment, c_nationkey

nation

Table de dimension (référence de pays ou de région)

n_nationkey, n_name, n_regionkey

Table

Rôle

Colonnes clés

orders

Table de faits (transactions de commande)

o_orderkey, o_custkey, o_totalprice, o_orderdate, o_orderstatus

customer

Table de dimensions (détails des clients)

c_custkey, c_name, c_mktsegment, c_nationkey

nation

Table de dimension (référence de pays ou de région)

n_nationkey, n_name, n_regionkey

Étape 1 : Créer la vue métrique et ouvrir l'éditeur

Vous pouvez créer cet affichage sous forme métrique dans l'interface utilisateur de Catalog Explorer, le générer avec Genie Code, ou écrire directement la définition YAML complète. Les trois méthodes se résolvent en une seule définition YAML qui modélise l'affichage sous forme métrique. À chaque étape suivante, sélectionnez l'onglet interface utilisateur de Catalog Explorer ou éditeur YAML pour suivre votre méthode préférée. Si vous utilisez l’éditeur YAML, l’exemple de code de chaque étape est la partie de la définition YAML qui correspond à ce que vous construisez dans cette étape.

remarque

Les exemples YAML de ce tutoriel utilisent le mot-clé fields. Lorsque vous créez une vue de métrique dans l'éditeur low-code, le YAML qu'il génère utilise le mot-clé dimensions équivalent à la place. Voir Champs.

Si vous n'êtes pas familiarisé avec l'interface utilisateur pour la création de vues métriques, consultez Créer une vue métrique.

Pour créer la vue de métriques, dans l'Explorateur de catalogues :

  1. Rechercher samples.tpch.orders.
  2. Cliquez sur le nom du tableau.
  3. Cliquez sur Créer > Vue métrique et nommez la vue.

Pour les étapes de création détaillées, consultez la page Créer une vue métrique. Lorsque l’éditeur s’ouvre, utilisez l’onglet **UI** pour créer de manière interactive, ou cliquez sur le <> bouton pour modifier directement la définition YAML.

Étape 2 : Configurer la vue métrique

Définissez une version et une description pour la vue métrique. Le version détermine la version de la spécification YAML, et le comment documente l'objectif de la vue des métriques, qui apparaît dans l'Explorateur de catalogues. Databricks gère la version pour vous.

La version est définie pour vous. Pour ajouter ou modifier la description après avoir enregistré la vue de métriques :

  1. Dans l'Explorateur de catalogues, recherchez la vue de métriques et cliquez sur son nom.
  2. Cliquez sur Description , puis saisissez une description de la vue de métrique. Vous pouvez utiliser la description d'exemple affichée dans l'onglet YAML editor .

Ce texte correspond au champ comment dans la définition YAML. Pour d'autres façons de modifier une vue de métrique, consultez Modifier une vue de métrique.

Étape 3 : Définir la source et les jointures

Définissez la table source principale et joignez les tables associées :

  • source définit la table de faits (commandes) comme la granularité.
  • joins importe les données client à l'aide d'une relation de plusieurs à un.
  • La jointure nation imbriquée démontre un modèle de schéma en flocon de neige, joignant via customer pour atteindre les données géographiques, où la nation est une sous-dimension du client.

Cet exemple ajoute deux jointures, toutes deux de type plusieurs-à-un , pour modéliser le schéma en flocon de neige.

Pour ajouter la customer join :

  1. Dans l'éditeur, cliquez sur Joindre dans le coin supérieur droit pour ouvrir la boîte de dialogue Ajouter une jointure .
  2. samples.tpch.customerRecherchez, cliquez sur le nom du tableau, puis cliquez sur **Ajouter**.
  3. Définissez la condition de jointure sur o_custkey = c_custkey.
  4. Sous Cardinalité de la jointure , sélectionnez Plusieurs à un . Pour obtenir des conseils sur le choix d'une cardinalité, consultez Cardinalité de la jointure.

Ajoutez ensuite la jointure imbriquée nation. Répétez les étapes de la jointure customer, en joignant samples.tpch.nation sur c_nationkey = n_nationkey. L'imbrication de la jointure sous customer modélise la nation comme une sous-dimension du client.

Pour les étapes complètes de la boîte de dialogue de jointure, consultez Étape 2 : Ajouter une jointure.

Étape 4 : Définir un filtre

Un filter limite les données sources, et il s'applique à toutes les query sur la vue des métriques. Ce didacticiel limite la vue des métriques aux données récentes.

Pour définir le filtre :

  1. Dans l'éditeur, cliquez sur Icône de filtre. Filtre dans le coin supérieur droit.
  2. Utilisez les menus déroulants pour définir la colonne sur o_orderdate, l' opérateur sur >= et la valeur sur 1995-01-01.

Pour en savoir plus sur les filtres, consultez Étape 3 : Définir un filtre.

Étape 5 : Définir les champs

Les champs sont les attributs par lesquels les utilisateurs regroupent et filtrent. Un champ peut être une colonne catégorielle (telle que la région ou le statut) ou une colonne numérique non agrégée (telle que l’âge ou la quantité) que les utilisateurs agrègent au moment de la query.

Métadonnées de l'agent

Chaque champ et mesure de ce tutoriel inclut des propriétés de métadonnées d'agent qui améliorent la façon dont votre vue de métriques fonctionne avec les tableaux de bord et les outils d'IA :

  • display_name: Une étiquette lisible qui apparaît dans les visualisations au lieu du nom de colonne technique.
  • synonyms: Noms alternatifs qui aident les outils d'IA comme Genie à découvrir les champs et les mesures grâce aux requêtes en langage naturel.
  • format: Comment les valeurs s'affichent dans les surfaces en aval, telles que les tableaux de bord, les notebooks, et les résultats de query SQL, par exemple en tant que devise, nombre ou pourcentage.

Ces propriétés sont facultatives, mais recommandées. Les définitions de champ et de mesure des étapes suivantes les incluent en ligne.

Définitions de champ

Ce didacticiel ajoute :

  • Champs de temps : order_date, order_month et order_year à plusieurs granularités pour prendre en charge différents besoins d'analyse.
  • Champs transformés : order_status et order_priority, qui utilisent CASE et SPLIT pour convertir les codes source en étiquettes lisibles.
  • Champs joints : customer_name, market_segment et customer_nation, qui font référence à des tables jointes à l'aide du nom de jointure. Les colonnes de jointure imbriquées utilisent la notation par points chaînés, telle que customer.nation.n_name, pour parcourir le schéma en flocon de neige.

L'éditeur ajoute automatiquement toutes les colonnes sources à la **tab** Fields. Modifiez, renommez, supprimez et ajoutez des champs afin que la vue des métriques définisse exactement ce qui suit. Pour chaque champ, cliquez sur son nom pour le modifier ou cliquez sur Icône Ajouter ou plus Ajouter pour le créer, puis définissez l'expression en mode Générateur ou Personnalisé . Définissez le Nom d'affichage et les Synonymes pour chaque champ, comme illustré.

  1. order_date : En mode Générateur , sélectionnez la colonne o_orderdate. Définissez le nom d'affichage sur Order Date.

  2. order_month : En mode Personnalisé , entrez DATE_TRUNC('MONTH', order_date). Définissez le nom d'affichage sur Order Month.

  3. order_year : en mode Personnalisé , saisissez YEAR(order_date). Définissez le nom d'affichage sur Order Year.

  4. order_status : En mode Personnalisé, saisissez l'expression suivante. Définissez le nom d'affichage sur Order Status et les synonymes sur status, fulfillment status.

    SQL
    CASE o_orderstatus
    WHEN 'O' THEN 'Open'
    WHEN 'P' THEN 'Processing'
    WHEN 'F' THEN 'Fulfilled'
    END
  5. order_priority : En mode Personnalisé , saisissez SPLIT(o_orderpriority, '-')[0]. Définissez le nom d'affichage sur Priority.

  6. customer_name : En mode Builder , sélectionnez la colonne c_name de la table customer jointe. Définir le nom d'affichage sur Customer Name.

  7. **market_segment** : En mode **Builder**, sélectionnez la c_mktsegment colonne de la customer table jointe. Définissez le nom d'affichage sur Market Segment et les synonymes sur segment, industry.

  8. customer_nation : En mode Personnalisé , saisissez customer.nation.n_name pour référencer la jointure imbriquée nation. Définissez le nom d'affichage sur Country et les synonymes sur nation, country.

Pour les étapes complètes du champ, consultez Étape 4 : Ajouter des champs.

Étape 6 : Définir les paramètres

Les paramètres vous permettent de transmettre des valeurs dans l'affichage des métriques lorsque vous l'interrogez, ainsi une seule définition peut servir de nombreuses variantes de requêtes. Ce tutoriel ajoute un discount paramètre qu'une mesure ultérieure utilise pour calculer le revenu actualisé. Le paramètre a un default de 0, donc les requêtes qui ne transmettent pas de valeur renvoient un revenu non escompté. Pour en savoir plus sur les paramètres, consultez Utiliser les paramètres avec les affichages de métriques.

Dans l'en-tête de l'éditeur, cliquez sur Ajouter un paramètre . Saisissez discount comme nom, puis saisissez une valeur default de 0 et sélectionnez le type de données double.

Étape 7 : Définir des mesures

Les mesures sont les calculs que les utilisateurs veulent analyser. Définissez d'abord des mesures atomiques, puis utilisez la composabilité pour construire des métriques complexes qui référencent des mesures définies précédemment avec la fonction MEASURE(). Définissez les display_name, format et synonyms pour chaque mesure comme décrit dans Métadonnées de l'agent. Ce didacticiel ajoute :

  • **Mesures atomiques order_count total_revenue:**, et,unique_customers les agrégations simples qui constituent les blocs de construction.
  • Mesures composées : avg_order_value et revenue_per_customer, qui référencent des mesures définies précédemment avec MEASURE() au lieu de dupliquer la logique d'agrégation. Si total_revenue change, ces mesures utilisent automatiquement la définition mise à jour. Consultez la composabilité.
  • Mesures filtrées : open_order_revenue et fulfilled_order_revenue, qui utilisent FILTER (WHERE ...) pour créer des métriques conditionnelles sans champs distincts.
  • **Mesure paramétrée discounted_revenue:**, qui référence le discount paramètre pour appliquer un taux de remise. Consultez Utiliser des paramètres avec les vues de métriques.
  • Mesure de fenêtre : t7d_customers, qui calcule un nombre glissant de clients uniques sur 7 jours. Voir les mesures de fenêtre pour plus de modèles de mesures de fenêtre.

L'éditeur ajoute automatiquement une mesure d'exemple COUNT(*). Modifiez-la ou supprimez-la et ajoutez des mesures afin que la vue métrique définisse exactement les éléments suivants. Pour chaque mesure, cliquez sur Icône Ajouter ou plus Ajouter , puis définissez l'expression en mode Générateur ou Personnalisé . Définissez le Nom d'affichage , le Format et les Synonymes comme indiqué. Utilisez 2 décimales pour les formats de devise et 0 décimale pour les formats numériques.

  1. order_count : En mode Création , sélectionnez l’agrégation Décompte unique sur o_orderkey. Définissez le nom d’affichage sur Order Count, le format sur Nombre .
  2. **total_revenue** : En mode **Générateur**, sélectionnez l'agrégation o_totalprice**Somme** sur. Définissez le nom d'affichage sur,Total Revenue le format sur **Devise (USD)**, les synonymes revenue sur,. sales
  3. discounted_revenue : en mode Custom , saisissez SUM(o_totalprice * (1 - discount)). Définir le nom d'affichage sur Discounted Revenue, formater en Devise (USD) .
  4. **unique_customers** : En mode **Créateur**, sélectionnez l'agrégation **Décompte unique** o_custkey sur. Définissez le nom d’affichage sur Unique Customers, le format sur Nombre .
  5. avg_order_value : en mode Personnalisé , saisissez MEASURE(total_revenue) / MEASURE(order_count). Définissez le nom d'affichage sur Avg Order Value, le format sur Monnaie (USD) , les synonymes sur AOV.
  6. revenue_per_customer : En mode personnalisé,MEASURE(total_revenue) / MEASURE(unique_customers) saisissez. Définir le nom d'affichage sur Revenue per Customer, formater en Devise (USD) .
  7. open_order_revenue : en mode personnalisé , saisissez SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O'). Définissez le nom d'affichage sur Open Order Revenue, le format sur Monnaie (USD) , les synonymes sur backlog.
  8. fulfilled_order_revenue : En mode Personnalisé , entrez SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F'). Définir le nom d'affichage sur Fulfilled Revenue, formater en Devise (USD) .
  9. t7d_customers : En mode personnalisé , saisissez COUNT(DISTINCT o_custkey). Cliquez ensuite sur + Fenêtre et configurez une fenêtre classée par order_date avec une plage trailing 7 day et une agrégation semi-additive last. Définissez le nom d'affichage sur 7-Day Rolling Customers, formatez en Nombre .

Pour toutes les étapes de mesure, voir Étape 5 : Ajouter des mesures.

Vérifier la définition complète

Après avoir terminé les étapes ci-dessus, votre vue de métrique a la définition complète suivante :

Afficher la définition YAML complète

YAML
version: 1.1

parameters:
- name: discount
data_type: double
default: 0

source: SELECT * FROM samples.tpch.orders

joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
joins:
- name: nation
source: samples.tpch.nation
'on': c_nationkey = n_nationkey

filter: o_orderdate >= '1995-01-01'

comment: |-
Sales analytics metric view for order performance analysis.
Joins orders with customers and geography.
Owner: Analytics Team
Last updated: 2025-01-15

fields:
- name: order_date
expr: o_orderdate
display_name: Order Date
- name: order_month
expr: "DATE_TRUNC('MONTH', order_date)"
display_name: Order Month
- name: order_year
expr: YEAR(order_date)
display_name: Order Year
- name: order_status
expr: |-
CASE o_orderstatus
WHEN 'O' THEN 'Open'
WHEN 'P' THEN 'Processing'
WHEN 'F' THEN 'Fulfilled'
END
display_name: Order Status
synonyms:
- status
- fulfillment status
- name: order_priority
expr: "SPLIT(o_orderpriority, '-')[0]"
display_name: Priority
- name: customer_name
expr: customer.c_name
display_name: Customer Name
- name: market_segment
expr: customer.c_mktsegment
display_name: Market Segment
synonyms:
- segment
- industry
- name: customer_nation
expr: customer.nation.n_name
display_name: Country
synonyms:
- nation
- country

measures:
- name: order_count
expr: COUNT(DISTINCT o_orderkey)
display_name: Order Count
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: total_revenue
expr: SUM(o_totalprice)
display_name: Total Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- revenue
- sales
- name: discounted_revenue
expr: SUM(o_totalprice * (1 - discount))
display_name: Discounted Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: unique_customers
expr: COUNT(DISTINCT o_custkey)
display_name: Unique Customers
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: avg_order_value
expr: MEASURE(total_revenue) / MEASURE(order_count)
display_name: Avg Order Value
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- AOV
- name: revenue_per_customer
expr: MEASURE(total_revenue) / MEASURE(unique_customers)
display_name: Revenue per Customer
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: open_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O')
display_name: Open Order Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- backlog
- name: fulfilled_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F')
display_name: Fulfilled Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: t7d_customers
expr: COUNT(DISTINCT o_custkey)
window:
- order: order_date
semiadditive: last
range: trailing 7 day
display_name: 7-Day Rolling Customers
format:
type: number
decimal_places:
type: exact
places: 0

Créez la vue métrique à l'aide de SQL.

Si vous construisez cette définition en dehors de l'Explorateur de catalogues, exécutez le SQL suivant pour créer la vue des métriques :

SQL
CREATE OR REPLACE VIEW catalog.schema.tpch_sales_analytics
WITH METRICS
LANGUAGE YAML
AS $$
version: 1.1

parameters:
- name: discount
data_type: double
default: 0

source: SELECT * FROM samples.tpch.orders

joins:
- name: customer
source: samples.tpch.customer
'on': o_custkey = c_custkey
joins:
- name: nation
source: samples.tpch.nation
'on': c_nationkey = n_nationkey

filter: o_orderdate >= '1995-01-01'

comment: |-
Sales analytics metric view for order performance analysis.
Joins orders with customers and geography.
Owner: Analytics Team
Last updated: 2025-01-15

fields:
- name: order_date
expr: o_orderdate
display_name: Order Date
- name: order_month
expr: "DATE_TRUNC('MONTH', order_date)"
display_name: Order Month
- name: order_year
expr: YEAR(order_date)
display_name: Order Year
- name: order_status
expr: |-
CASE o_orderstatus
WHEN 'O' THEN 'Open'
WHEN 'P' THEN 'Processing'
WHEN 'F' THEN 'Fulfilled'
END
display_name: Order Status
synonyms:
- status
- fulfillment status
- name: order_priority
expr: "SPLIT(o_orderpriority, '-')[0]"
display_name: Priority
- name: customer_name
expr: customer.c_name
display_name: Customer Name
- name: market_segment
expr: customer.c_mktsegment
display_name: Market Segment
synonyms:
- segment
- industry
- name: customer_nation
expr: customer.nation.n_name
display_name: Country
synonyms:
- nation
- country

measures:
- name: order_count
expr: COUNT(DISTINCT o_orderkey)
display_name: Order Count
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: total_revenue
expr: SUM(o_totalprice)
display_name: Total Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- revenue
- sales
- name: discounted_revenue
expr: SUM(o_totalprice * (1 - discount))
display_name: Discounted Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: unique_customers
expr: COUNT(DISTINCT o_custkey)
display_name: Unique Customers
format:
type: number
decimal_places:
type: exact
places: 0
abbreviation: compact
- name: avg_order_value
expr: MEASURE(total_revenue) / MEASURE(order_count)
display_name: Avg Order Value
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- AOV
- name: revenue_per_customer
expr: MEASURE(total_revenue) / MEASURE(unique_customers)
display_name: Revenue per Customer
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: open_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'O')
display_name: Open Order Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
synonyms:
- backlog
- name: fulfilled_order_revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus = 'F')
display_name: Fulfilled Revenue
format:
type: currency
currency_code: USD
decimal_places:
type: exact
places: 2
abbreviation: compact
- name: t7d_customers
expr: COUNT(DISTINCT o_custkey)
window:
- order: order_date
semiadditive: last
range: trailing 7 day
display_name: 7-Day Rolling Customers
format:
type: number
decimal_places:
type: exact
places: 0
$$;

Pour d'autres façons de créer une vue métrique, voir Créer une vue métrique.

Étape 8 : interrogez votre vue de métriques

Interrogez la vue métrique à l'aide d'une syntaxe conviviale pour les utilisateurs métier. La fonction MEASURE() agrège une mesure au niveau de granularité des champs que vous sélectionnez.

Agréger les mesures par dimension

Cet exemple agrège des mesures sur plusieurs champs. Il renvoie le chiffre d'affaires total, le nombre de commandes et la valeur moyenne des commandes par pays du client et segment de marché, classés par chiffre d'affaires le plus élevé en premier :

SQL
SELECT
customer_nation,
market_segment,
MEASURE(total_revenue) AS total_revenue,
MEASURE(order_count) AS order_count,
MEASURE(avg_order_value) AS avg_order_value
FROM catalog.schema.tpch_sales_analytics
GROUP BY customer_nation, market_segment
ORDER BY total_revenue DESC;

Analyser une tendance mensuelle

Cet exemple combine un champ temporel avec des mesures pour suivre une tendance. Il renvoie le chiffre d'affaires total et le chiffre d'affaires des commandes en cours (carnet de commandes) par mois et par statut de commande :

SQL
SELECT
order_month,
order_status,
MEASURE(total_revenue) AS total_revenue,
MEASURE(open_order_revenue) AS open_order_revenue
FROM catalog.schema.tpch_sales_analytics
GROUP BY order_month, order_status
ORDER BY order_month;

Transmettre une valeur de paramètre

Étant donné que la vue de la métrique définit un parameter, vous pouvez l'appeler comme une fonction à valeur de table et lui transmettre une valeur au moment de la query. La query suivante applique une remise de 10 %. Puisque discount a un default de 0, les requêtes qui omettent l'argument renvoient un revenu non escompté :

SQL
SELECT
customer_nation,
MEASURE(total_revenue) AS total_revenue,
MEASURE(discounted_revenue) AS discounted_revenue
FROM catalog.schema.tpch_sales_analytics(discount => 0.1)
GROUP BY customer_nation
ORDER BY discounted_revenue DESC;

Ce que vous avez appris

Vous avez créé une vue métrique qui démontre :

Fonctionnalité

Exemple

Jointures de schémas Snowflake

De commandes à client à nation (jointures plusieurs-à-un imbriquées)

Champs de temps

Granularité de la date, du mois, de l'année

Champs transformés

CASE instructions, SPLIT fonctions

Mesures simples

COUNT, SUM

Composabilité

avg_order_value et revenue_per_customer référencent des mesures définies précédemment en utilisant MEASURE()

Mesures filtrées

FILTER (WHERE ...) pour les agrégations conditionnelles

Mesures de fenêtre

Nombre de clients glissant sur 7 jours à l'aide de trailing 7 day

Paramètres

discount paramètre appliqué à la mesure discounted_revenue

Métadonnées de l'agent

display_name, format, synonyms sur les champs et les mesures

Fonctionnalité

Exemple

Jointures de schémas Snowflake

De commandes à client à nation (jointures plusieurs-à-un imbriquées)

Champs de temps

Granularité de la date, du mois, de l'année

Champs transformés

CASE instructions, SPLIT fonctions

Mesures simples

COUNT, SUM

Composabilité

avg_order_value et revenue_per_customer référencent des mesures définies précédemment en utilisant MEASURE()

Mesures filtrées

FILTER (WHERE ...) pour les agrégations conditionnelles

Mesures de fenêtre

Nombre de clients glissant sur 7 jours à l'aide de trailing 7 day

Paramètres

discount paramètre appliqué à la mesure discounted_revenue

Métadonnées de l'agent

display_name, format, synonyms sur les champs et les mesures

Ressources supplémentaires