Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette page explique comment modéliser les vues de métriques et les meilleures pratiques pour les utiliser.
Les vues de métriques permettent de créer une couche sémantique pour vos données, de transformer des tables brutes en métriques standardisées et conviviales pour l’entreprise. Ils définissent ce qu’il faut mesurer, comment l’agréger et comment le segmenter, ce qui garantit que chaque utilisateur de l’organisation signale le même nombre pour le même indicateur de performance clé (KPI). L’objectif est de créer une source unique de vérité pour les métriques métier.
En modélisant vos données en tant que vues de métriques, vous supprimez des problèmes complexes de SQL, de tables et de qualité des données, ce qui permet aux analystes de se concentrer uniquement sur l’analyse.
Composants de base
La modélisation d’une vue de métrique implique la définition des éléments suivants sur vos données sources :
| Composant | Descriptif | Example |
|---|---|---|
| Source | Table de base, vue ou requête SQL contenant les données transactionnelles brutes. | samples.tpch.orders |
| Dimensions | Attributs de colonne utilisés pour segmenter ou regrouper les métriques | Catégorie de produit, mois de commande, région client |
| Dispositions | Agrégations de colonnes qui produisent les métriques. Ces mesures sont ce que vous signalez généralement. |
COUNT(o_order_id) en tant que nombre de commandes, SUM(o_total_price) en tant que chiffre d’affaires total. |
| Filtres | Conditions persistantes appliquées aux données sources pour définir l’étendue. |
|
Définir une source
Vous pouvez utiliser une ressource de type table ou une requête SQL comme source pour votre vue de métrique. Pour utiliser une ressource semblable à une table, vous devez disposer d’au moins SELECT privilèges sur cette ressource.
Utiliser une table comme source
Pour utiliser une table comme source, incluez le nom complet de la table, comme dans l’exemple suivant.
source: samples.tpch.orders
Utiliser une requête SQL comme source
Pour utiliser une requête SQL, écrivez le texte de la requête directement dans yaML.
source: SELECT * FROM samples.tpch.orders o
LEFT JOIN samples.tpch.customer c
ON o.o_custkey = c.c_custkey
Note
Lorsque vous utilisez une requête SQL en tant que source avec une JOIN clause, Databricks recommande de définir des contraintes de clé primaire et étrangère sur des tables sous-jacentes et d’utiliser l’option pour optimiser les performances au moment de la RELY requête, le cas échéant. Pour plus d’informations sur l’utilisation des contraintes de clé primaire et étrangère, consultez Déclarer les relations de clé primaire et de clé étrangère et l’optimisation des requêtes à l’aide de contraintes de clé primaire.
Utiliser l’affichage des métriques comme source
Vous pouvez également utiliser une vue de métrique existante comme source pour une nouvelle vue de métrique :
version: 1.1
source: views.examples.source_metric_view
dimensions:
# Dimension referencing dimension from source_metric_view
- name: Order date
expr: order_date_dim
measures:
# Measure referencing dimension from source_metric_view
- name: Latest order month
expr: MAX(order_date_dim_month)
# Measure referencing measure from source_metric_view
- name: Latest order year
expr: DATE_TRUNC('year', MEASURE(max_order_date_measure))
Lorsque vous utilisez une vue de métrique en tant que source, les mêmes règles de composition s’appliquent pour référencer des dimensions et des mesures. Consultez Composabilité.
Taille
Les dimensions sont des colonnes utilisées dans les clauses SELECT, WHERE et GROUP BY à l'heure de la requête. Chaque expression doit retourner une valeur scalaire. Les dimensions sont définies en tant que tableau. Chaque dimension se compose de deux composants :
name: alias de la colonne.expr: expression SQL sur les données sources qui définit la dimension ou une dimension précédemment définie dans la vue métrique.
Note
À partir de la version 1.1, vous pouvez également définir des métadonnées sémantiques (nom d’affichage, format et synonymes) pour chaque dimension. Pour plus d’informations , consultez Utiliser les métadonnées sémantiques dans les vues de métriques .
Mesures
Les mesures sont des colonnes définies comme un tableau d’expressions qui produisent des résultats sans niveau prédéfinis d’agrégation. Ils doivent être exprimés à l’aide de fonctions d’agrégation. Pour référencer une mesure dans une requête, vous devez utiliser la MEASURE fonction. Les mesures peuvent référencer des champs de base dans les données sources ou les dimensions définies précédemment. Chaque mesure se compose des composants suivants :
name: alias de la mesure.expr: expression SQL d’agrégation qui peut inclure des fonctions d’agrégation SQL.
L’exemple suivant illustre les modèles de mesure courants :
measures:
# Simple count measure
- name: Order Count
expr: COUNT(1)
# Sum aggregation measure
- name: Total Revenue
expr: SUM(o_totalprice)
# Distinct count measure
- name: Unique Customers
expr: COUNT(DISTINCT o_custkey)
# Calculated measure combining multiple aggregations
- name: Average Order Value
expr: SUM(o_totalprice) / COUNT(DISTINCT o_orderkey)
# Filtered measure with WHERE condition
- name: High Priority Order Revenue
expr: SUM(o_totalprice) FILTER (WHERE o_orderpriority = '1-URGENT')
# Measure using a dimension
- name: Average Revenue per Month
expr: SUM(o_totalprice) / COUNT(DISTINCT DATE_TRUNC('MONTH', o_orderdate))
Consultez les fonctions d’agrégation pour obtenir la liste des fonctions d’agrégation.
Voir measure la fonction d’agrégation.
Note
À partir de la version 1.1, vous pouvez également définir des métadonnées sémantiques (nom d’affichage, format et synonymes) pour chaque mesure. Pour plus d’informations , consultez Utiliser les métadonnées sémantiques dans les vues de métriques .
Appliquer des filtres
Un filtre dans la définition YAML d’une vue de métrique s’applique à toutes les requêtes qui le référencent. Il doit être écrit en tant qu’expression booléenne SQL et équivaut à utiliser une WHERE clause dans une requête SQL.
L’exemple suivant illustre les modèles de filtre courants :
# Single condition filter
filter: o_orderdate > '2024-01-01'
# Multiple conditions with AND
filter: o_orderdate > '2024-01-01' AND o_orderstatus = 'F'
# Multiple conditions with OR
filter: o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'
# Complex filter with IN clause
filter: o_orderstatus IN ('F', 'P') AND o_orderdate >= '2024-01-01'
# Filter with NOT
filter: o_orderstatus != 'O' AND o_totalprice > 1000.00
# Filter with LIKE pattern matching
filter: o_comment LIKE '%express%' AND o_orderdate > '2024-01-01'
Vous pouvez également ajouter des filtres lorsque vous interrogez ou consommez des vues de métriques.
Fonctionnalités de modélisation avancées
La modélisation de la vue des métriques prend en charge les techniques avancées pour créer des métriques sophistiquées et hautement réutilisables.
Joins
Les jointures vous permettent d’enrichir votre vue de métrique avec des attributs descriptifs à partir de tables associées. Vous pouvez utiliser des jointures pour modéliser les relations entre la table de faits et les tables de dimension (schéma en étoile) et passer des dimensions aux sous-dimensions, ce qui permet des jointures multiples à travers des tables de dimension normalisées (schéma en flocons de neige).
Consultez Utiliser les jointures dans les vues de métriques.
Mesures de fenêtre
Important
Cette fonctionnalité est expérimentale.
Les mesures de fenêtre vous permettent de définir des mesures avec des agrégations fenêtrées, cumulatives ou semi-additives dans vos vues de mesures. Ces types de mesures permettent des calculs plus complexes, tels que les moyennes mobiles, les changements de période sur période et les totaux en cours d’exécution. Consultez Utiliser les mesures de fenêtre dans les vues de métriques pour obtenir des exemples qui montrent comment utiliser des mesures de fenêtre dans des vues de métriques.
Composabilité
Les vues de métriques sont composables, ce qui vous permet de créer une logique complexe en référençant des éléments précédemment définis. Vous pouvez référencer des dimensions précédemment définies dans de nouvelles dimensions, référencer n’importe quelle dimension ou mesures précédemment définies dans les nouvelles mesures et les colonnes de référence des jointures définies dans la vue métrique.
Voir Composabilité dans les vues de métrique.
Métadonnées sémantiques
Les métadonnées sémantiques aident les outils consommateurs à comprendre comment afficher et traiter les mesures et les dimensions. Cela inclut des propriétés telles que :
| Métadonnées sémantiques | Example |
|---|---|
| Noms d’affichage |
Total Revenue plutôt que sum_o_price. |
| Format d’affichage | Normaliser la mise en forme des devises, des pourcentages et des dates. |
| Commentaires | Expliquer la définition métier de la métrique en langage naturel. |
Lorsque vous définissez des métadonnées sémantiques, elle se déplace avec la métrique. Par exemple, lorsque les analystes utilisent Total Revenue dans un tableau de bord, il s’affiche automatiquement sous forme de devise.
Consultez Utiliser des métadonnées sémantiques dans les vues de métriques.
Syntaxe et mise en forme YAML
Les définitions d’affichage des métriques suivent la syntaxe de notation YAML standard. Consultez la référence de syntaxe YAML pour en savoir plus sur la syntaxe et la mise en forme requises pour définir une vue de métrique. Consultez la documentation de la spécification YAML 1.2.2 pour en savoir plus sur les spécifications YAML.
Mesures de fenêtre
Les mesures de fenêtre calculent une valeur sur une fenêtre définie ou une plage de lignes associées à la ligne active. Vous pouvez utiliser des mesures de fenêtre pour les séries chronologiques et l’analyse comparative, ce qui vous permet de définir des métriques telles que :
- Chiffre d’affaires total glissant sur 30 jours : somme du chiffre d'affaires au cours des 30 derniers jours
- Chiffre d’affaires annuel (YTD) : somme cumulative à partir du début de l’année
- Comparaison de la période précédente : Chiffre d’affaires du mois précédent
Consultez Utilisez les mesures de fenêtre dans les vues métriques.
Meilleures pratiques pour la modélisation des vues de métriques
Utilisez les instructions suivantes lors de la modélisation des vues de métriques :
-
Mesures atomiques de modèle : commencez par définir les mesures non calculées les plus simples en premier (par exemple,
SUM(revenue),COUNT(DISTINCT customer_id)). Créez des mesures complexes (comme AOV) à l’aide de la composabilité. -
Normaliser les valeurs de dimension : utilisez des transformations (telles que
CASEdes instructions ou des expressions) pour convertir des codes de base de données cryptiques en noms d’entreprise clairs (par exemple, convertir l’état de commande « O » en « Open » et « F » en « Rempli »). - Définir l’étendue avec des filtres : soyez intentionnel sur les filtres persistants. Si une vue de métrique ne doit inclure que des commandes terminées, définissez ce filtre dans l’affichage des métriques afin que les utilisateurs ne puissent pas inclure accidentellement des données incomplètes.
-
Utilisez un nommage convivial pour l’entreprise : les noms de métriques doivent être immédiatement reconnaissables aux utilisateurs professionnels (par exemple, valeur de durée de vie du client et
cltv_agg_measure). - Dimensions de temps distinctes : incluez toujours des dimensions d’heure granulaires (telles que la date de commande) et les dimensions de temps tronquées (par exemple , le mois de commande ou la semaine de commande) pour prendre en charge l’analyse des détails et des tendances.