Créer une vue métrique
Catalog Explorer fournit une interface visuelle pour la création de vues de métriques. Vous définissez les champs et les mesures de manière interactive, sans écrire de définition YAML.
Cette page explique comment créer une vue de métrique dans l'interface utilisateur de l'explorateur de catalogues. Pour un exemple plus complexe avec des jointures et des mesures avancées, consultez Tutoriel : créer une vue métrique avec des jointures et la modélisation des données.
Prérequis
Avant de créer une vue de métrique, vérifiez que vous disposez des autorisations suivantes :
- Privilèges
SELECTsur l'asset de type table ou la query SQL utilisée comme source. - Les privilèges
CREATE TABLEetUSE SCHEMAdans le schéma où vous souhaitez créer la vue de métrique. - Privilège
USE CATALOGsur le catalogue parent. CAN USEautorisation sur un SQL Warehouse ou une autre ressource compute exécutant Databricks Runtime 17.3 ou supérieur.
Un administrateur de métastore ou un propriétaire de catalogue peut accorder tous ces privilèges. Un propriétaire de schéma ou un utilisateur avec le privilège MANAGE peut accorder les privilèges USE SCHEMA et CREATE TABLE sur le schéma.
La création d'une vue de métrique est prise en charge sur Databricks Runtime 16.4 et versions supérieures. Cette page utilise des fonctionnalités qui nécessitent Databricks Runtime 17,3 ou une version ultérieure, donc 17,3 est le minimum pour l'exemple. Les fonctionnalités YAML individuelles peuvent nécessiter un runtime plus récent. Pour la durée d'exécution minimale de chaque fonctionnalité, consultez Disponibilité des fonctionnalités de la vue de métrique.
Créer une vue métrique
Créez une vue de métrique dans l’Explorateur de catalogues en utilisant l’une des méthodes suivantes :
- Éditeur d'interface utilisateur : sur la tab Interface utilisateur, définissez les champs et les mesures de manière interactive, sans écrire de code.
- Éditeur YAML : cliquez sur le bouton
<>pour modifier la définition directement. Pour la syntaxe, consultez la référence de syntaxe YAML de la vue métrique. Vous pouvez également utiliser une définition YAML dans une instruction SQL pour créer une vue métrique. Pour l'exemple complet en YAML et en SQL, consultez Définir une vue de métrique en SQL ou YAML. - Genie Code : ouvrez Genie Code depuis le bouton
dans le coin supérieur droit et décrivez ce que vous voulez en langage naturel. Voir Utiliser Genie Code.
Les étapes suivantes utilisent l'onglet tab et la table samples.tpch.orders, disponible dans chaque Workspace, pour créer un exemple de vue métrique d'analytique des Ventes. La vue métrique achevée correspond à la définition dans Définir une vue métrique en SQL ou YAML. Pour en savoir plus sur ce dataset, consultez Exemples de jeux de données.
Étape 1 : créez la vue métrique et ouvrez l'éditeur
- Cliquez sur
le Catalogue dans la barre latérale du Workspace.
- Utilisez la barre de recherche pour trouver
samples.tpch.orders, puis cliquez sur le nom du tableau. - Cliquez sur Créer > Vue métrique . Dans la boîte de dialogue Créer une vue de métriques , saisissez un nom, sélectionnez une destination de catalogue et de schéma, puis cliquez sur Créer .
L’éditeur s’ouvre sur l’onglet **tab**. L’éditeur ajoute automatiquement toutes les colonnes sources à l’onglet **tab** et ajoute une COUNT(*) mesure d’échantillon.

Étape 2 : Ajouter une jointure
L'exemple joint la table customer afin que les attributs des clients soient disponibles comme champs. Pour ajouter la jointure, cliquez sur le bouton de jointure dans le coin supérieur droit de l'éditeur :
- Pour la source à joindre, sélectionnez
samples.tpch.customeret cliquez sur Ajouter . - Saisissez
customeren tant que **Nom de la jointure**. - Utilisez les menus déroulants pour définir la condition de jointure sur
source.o_custkey = customer.c_custkey. Pour ajouter plus d'une colonne de jointure, cliquez sur + Clé de jointure . Pour définir une condition autre que l'égalité, cliquez sur Expression et affinez la condition. - Sous Cardinalité de la jointure , sélectionnez Plusieurs à un . Pour obtenir des conseils sur le choix d'une cardinalité, consultez Cardinalité de la jointure.
- Sélectionnez Une correspondance au maximum sous performances de la query. Chaque commande correspond au maximum à un client, cette optimisation est donc sûre et définit
at_most_one_match: truedans la définition YAML. - Cliquez sur Joindre .
- Dans la boîte de dialogue Ajouter des champs , cliquez sur Ajouter toutes les colonnes pour importer dynamiquement toutes les colonnes de la table source. Si vous souhaitez ajouter des colonnes individuelles à la place, Ignorer cette étape. Les champs de l'objet joint apparaissent dans le menu déroulant avec les champs de la source.
Les jointures combinent la table source avec d'autres tables ou requêtes. Pour les concepts de modélisation des jointures, y compris les schémas en étoile et en flocon de neige, et les modèles YAML, consultez Travailler avec les jointures.
Étape 3 : Définir un filtre
La définition YAML complète figurant plus loin sur cette page inclut un filtre qui limite la vue des métriques aux commandes passées après le 1er janvier 1990.
Saisissez des expressions avec le Générateur ou en personnalisé
Lorsque vous définissez un filtre, un champ ou une mesure, vous définissez son expression à l'aide de l'une des deux options de la section Expression :
- Générateur : sélectionnez dans des menus déroulants contextuels et l'éditeur compose l'expression SQL pour vous.
- Personnalisé : Saisissez l'expression SQL directement.
Les étapes suivantes utilisent **Builder** pour le filtrage simple des colonnes, les transformations et les agrégations, et **Personnalisé** pour les expressions que Builder ne peut pas composer, telles que CASE les instructions et les mesures composées.
Pour définir le filtre :
- Cliquez
sur **Filtrer** dans le coin supérieur droit de l'éditeur de vue métrique.
- Définissez l’expression du filtre :
- Dans Builder , sélectionnez la colonne
source.o_orderdate, l' opérateurGreater thanet la valeur1990-01-01. - Dans Personnalisé , écrivez l'expression SQL
source.o_orderdate > '1990-01-01'.
- Dans Builder , sélectionnez la colonne
Un filtre s'applique à toutes les queries qui référencent la vue métrique. Pour les concepts de modélisation de filtres et les modèles YAML, consultez Appliquer des filtres.
Étape 4 : Ajoutez des champs.
Lorsque vous définissez un filtre, un champ ou une mesure, vous définissez son expression à l'aide de l'une des deux options de la section Expression :
- Générateur : Sélectionnez parmi les listes déroulantes contextuelles, et l'éditeur compose l'expression SQL pour vous. Les choix disponibles varient en fonction du type de colonne et des valeurs.
- Personnalisé : Saisissez l'expression SQL directement.
Les étapes suivantes basculent entre les deux options en fonction de la complexité de chaque expression. Utilisez **Builder** pour les transformations et les agrégations de colonnes simples, et passez à **Custom** pour les expressions que Builder ne peut pas composer, telles que CASE les instructions et les mesures composées.
L’exemple définit trois champs : deux colonnes transformées de la source et une colonne de la table customer jointe. Les champs, également appelés dimensions, se comportent comme des colonnes de tableau normales. Un champ peut être une colonne catégorielle utilisée pour le regroupement et le filtrage, ou une colonne numérique non agrégée que vous pouvez agréger au moment de la query. Pour en savoir plus sur la modélisation des champs, consultez Champs.
L'éditeur ajoute automatiquement toutes les colonnes sources à la **tab** Fields. Pour correspondre à l'exemple, supprimez les colonnes dont vous n'avez pas besoin afin que ne restent que source.o_orderdate, source.o_orderstatus et customer.c_mktsegment.
Pour supprimer un champ :
- Cliquez sur l'onglet Fields tab .
- Cliquez sur la case à cocher à gauche du nom du champ pour sélectionner les champs que vous souhaitez supprimer.
- Cliquez sur **Supprimer**.
Pour supprimer des champs individuels, utilisez l' à droite du nom du champ.
Lorsque vous modifiez un champ, vous pouvez également ajouter des métadonnées :
- Nom d'affichage : un libellé descriptif.
- Commentaire : description du champ.
- Synonymes : noms alternatifs qui aident les outils d'IA à découvrir le domaine. Consultez Synonymes.
- Format : formatage de données personnalisé qui contrôle la manière dont les valeurs s'affichent. Le format est uniquement disponible pour les colonnes numériques, de date et de date/heure. Voir Spécifications de format.
- Tags gouvernés : tags gouvernés pour la classification et la gouvernance.

Pour définir chaque champ, cliquez sur son nom dans l’onglet Fields tab, construisez son expression et ajoutez un commentaire facultatif. Pour exécuter la transformation et afficher le résultat, cliquez sur **Aperçu**.
-
Mois de commande : cliquez sur Générateur . Ensuite, sélectionnez
source.o_orderdateet appliquez une transformation de mois pour produireDATE_TRUNC('MONTH', source.o_orderdate). Ajoutez le commentaireMonth of order. -
État de la commande : Cliquez sur Personnalisé . Ensuite, ajoutez le commentaire
Status of orderet entrez l'expression suivante :SQLCASE
WHEN source.o_orderstatus = 'O' THEN 'Open'
WHEN source.o_orderstatus = 'P' THEN 'Processing'
WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
END -
Segment de marché : Dans Générateur , sélectionnez la colonne
customer.c_mktsegmentde la tablecustomerjointe. Ajouter le commentaireCustomer market segment.
Étape 5 : Ajouter des mesures
L'exemple définit trois mesures. Les mesures sont des expressions agrégées qui produisent des métriques commerciales, telles que le chiffre d'affaires total ou le nombre de commandes. L'éditeur ajoute automatiquement une mesure COUNT(*) ; vous pouvez la modifier ou la supprimer.
Lorsque vous modifiez une mesure, vous pouvez également ajouter un Nom d'affichage , un Commentaire , des Synonymes , un Format et des Tags régis , les mêmes métadonnées disponibles pour les champs.
Pour ajouter chaque mesure, dans l'tab Mesures , cliquez sur + , créez son expression et ajoutez un commentaire facultatif. Pour exécuter l'agrégation et afficher le résultat, cliquez sur Aperçu . Lorsque vous ajoutez une mesure, les suggestions Genie apparaissent en haut du volet de l'éditeur de mesure ; cliquez sur une suggestion pour créer cette mesure.
- Nombre de commandes : Dans le Générateur, sélectionnez l'agrégation Décompte pour
COUNT(1)produire. Ajouter le commentaireTotal number of orders. - Revenu total : Dans Builder , sélectionnez
source.o_totalpriceet l'agrégation Somme pour produireSUM(source.o_totalprice). Ajoutez le commentaireSum of all order prices. - **Revenu total par client** : Dans **Personnalisé**,
SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)entrez. Ajouter le commentaireAverage revenue per unique customer.

Pour ajouter une mesure de fenêtre pour les calculs de séries temporelles tels que les moyennes mobiles ou les totaux cumulés, cliquez sur + Fenêtre lors de la modification de la mesure. Consultez Mesures de fenêtre.
Étape 6 : Enregistrez la vue métrique
Cliquez sur Enregistrer . La vue métrique achevée correspond à la définition de Définir une vue métrique en SQL ou YAML.
Définir une vue de métrique en SQL ou YAML
Au lieu de créer une vue de mesure dans l'interface utilisateur, vous pouvez la définir directement en YAML, ou en SQL en utilisant l'instruction CREATE VIEW avec la clause WITH METRICS. Voici la définition complète de l'exemple de vue de mesure. C'est une vue filtrée de samples.tpch.orders jointe à samples.tpch.customer, avec des champs pour le mois de commande, le statut de la commande et le segment de marché des clients, ainsi que des mesures pour le nombre de commandes, le revenu total et le revenu par client.
Ces exemples 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.
Définition YAML
Pour définir la vue de la métrique directement en YAML, utilisez la définition suivante :
Afficher la définition YAML
version: 1.1
comment: 'Orders KPIs for sales analysis'
source: samples.tpch.orders
joins:
- name: customer
source: samples.tpch.customer
'on': source.o_custkey = customer.c_custkey
rely:
at_most_one_match: true
filter: source.o_orderdate > '1990-01-01'
fields:
- name: Order Month
expr: DATE_TRUNC('MONTH', source.o_orderdate)
comment: 'Month of order'
- name: Order Status
expr: |-
CASE
WHEN source.o_orderstatus = 'O' THEN 'Open'
WHEN source.o_orderstatus = 'P' THEN 'Processing'
WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
END
comment: 'Status of order'
- name: Market Segment
expr: customer.c_mktsegment
comment: 'Customer market segment'
measures:
- name: Order Count
expr: COUNT(1)
comment: 'Total number of orders'
- name: Total Revenue
expr: SUM(source.o_totalprice)
comment: 'Sum of all order prices'
- name: Total Revenue per Customer
expr: SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)
comment: 'Average revenue per unique customer'
Pour plus de détails sur la syntaxe YAML complète, consultez la référence de syntaxe YAML de la vue métrique.
Instruction SQL
Pour créer la vue métrique en SQL, encapsulez la définition YAML dans une instruction CREATE VIEW avec la clause WITH METRICS, et placez le YAML entre les délimiteurs $$ :
Afficher l'instruction SQL
CREATE OR REPLACE VIEW orders_metric_view WITH METRICS LANGUAGE YAML AS
$$
version: 1.1
comment: "Orders KPIs for sales analysis"
source: samples.tpch.orders
joins:
- name: customer
source: samples.tpch.customer
'on': source.o_custkey = customer.c_custkey
rely:
at_most_one_match: true
filter: source.o_orderdate > '1990-01-01'
fields:
- name: Order Month
expr: DATE_TRUNC('MONTH', source.o_orderdate)
comment: "Month of order"
- name: Order Status
expr: |-
CASE
WHEN source.o_orderstatus = 'O' THEN 'Open'
WHEN source.o_orderstatus = 'P' THEN 'Processing'
WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
END
comment: "Status of order"
- name: Market Segment
expr: customer.c_mktsegment
comment: "Customer market segment"
measures:
- name: Order Count
expr: COUNT(1)
comment: "Total number of orders"
- name: Total Revenue
expr: SUM(source.o_totalprice)
comment: "Sum of all order prices"
- name: Total Revenue per Customer
expr: SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)
comment: "Average revenue per unique customer"
$$
Importer en masse des champs et des mesures avec des caractères génériques
S’applique à : Databricks Runtime 18.2 et versions ultérieures avec la spécification YAML 1.1
Au lieu de lister chaque champ, vous pouvez utiliser un caractère générique dans un expr pour importer toutes les colonnes de la source ou d'une table jointe. Ceci est utile lorsque vous souhaitez que la vue métrique expose chaque colonne d’un asset en amont. Omettez name sur un caractère générique, car Databricks dérive chaque nom de colonne de la source. Vous pouvez mélanger les caractères génériques avec des champs et des mesures définis explicitement.
La définition suivante importe tous les champs de la source sauf un, ajoute un champ de la table customer jointe, et définit une mesure explicite :
version: 1.1
source: samples.tpch.orders
joins:
- name: customer
source: samples.tpch.customer
'on': source.o_custkey = customer.c_custkey
fields:
- expr: source.* EXCEPT (o_comment)
- name: Market Segment
expr: customer.c_mktsegment
measures:
- name: Order Count
expr: COUNT(1)
Pour connaître la syntaxe complète des caractères génériques, y compris l'importation de toutes les colonnes d'une table jointe (customer.*), l'expansion de struct et la résolution des conflits de noms, consultez l'importation en bloc de champs et de mesures avec des caractères génériques.
Utiliser Genie Code
Genie Code est un assistant IA que vous ouvrez à partir du bouton dans le coin supérieur droit de l'éditeur. Décrivez ce que vous souhaitez en langage naturel, et Genie Code met à jour la définition de la vue des métriques pour vous. Genie Code est sensible au contexte : sur l'onglet UI , il met à jour l'éditeur pour vous, et dans l'éditeur YAML, il insère du YAML.
Pour ajouter une seule mesure à une vue métrique existante, décrivez-la :
Demandez à Genie Code (mode Agent) de le faire pour vous :
add an average sales per customer measure
Pour créer une vue métrique complète à partir d'une description en langage naturel, décrivez-la à Genie Code. Le résultat est une définition similaire à l'exemple sur cette page ; les noms de champ et les commentaires exacts peuvent varier.
Demandez à Genie Code (mode Agent) de le faire pour vous :
Create a metric view on samples.tpch.orders joined to samples.tpch.customer on o_custkey = c_custkey. Add a field for order month by truncating the order date to the month, a field for order status that maps 'O' to Open, 'P' to Processing, and 'F' to Fulfilled, and a field for the customer market segment. Add measures for the total number of orders, the total revenue as the sum of order price, and the total revenue per unique customer. Filter to orders placed after January 1, 1990.
Ressources supplémentaires
Après avoir créé une vue métrique, utilisez les ressources suivantes pour query, modéliser et gérer votre travail.
- Interroger les vues de métriques: Interrogez les vues de métriques à partir des éditeurs SQL, des Notebooks, des tableaux de bord et des alertes.
- Vues des métriques du modèle: sources du modèle, champs, mesures, filtres et jointures.
- Gérer les vues de métriques: contrôler l'accès, activer la modification collaborative et gérer le cycle de vie de la vue de métriques.
- Référence de la syntaxe YAML de la vue métrique: Référencez la spécification YAML complète de la vue métrique.