Aller au contenu principal

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 SELECT sur l'asset de type table ou la query SQL utilisée comme source.
  • Les privilèges CREATE TABLE et USE SCHEMA dans le schéma où vous souhaitez créer la vue de métrique.
  • Privilège USE CATALOG sur le catalogue parent.
  • CAN USE autorisation 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.

remarque

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 Icône de code Sparkle genie. 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

  1. Cliquez sur Icône de données. le Catalogue dans la barre latérale du Workspace.
  2. Utilisez la barre de recherche pour trouver samples.tpch.orders, puis cliquez sur le nom du tableau.
  3. 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.

L&#39;interface d&#39;édition des vues de métriques dans l&#39;Explorateur de catalogues.

É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 :

  1. Pour la source à joindre, sélectionnez samples.tpch.customer et cliquez sur Ajouter .
  2. Saisissez customer en tant que **Nom de la jointure**.
  3. 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.
  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.
  5. 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: true dans la définition YAML.
  6. Cliquez sur Joindre .
  7. 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 :

  1. Cliquez Icône de filtre. sur **Filtrer** dans le coin supérieur droit de l'éditeur de vue métrique.
  2. Définissez l’expression du filtre :
    • Dans Builder , sélectionnez la colonne source.o_orderdate, l' opérateur Greater than et la valeur 1990-01-01.
    • Dans Personnalisé , écrivez l'expression SQL source.o_orderdate > '1990-01-01'.

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 :

  1. Cliquez sur l'onglet Fields tab .
  2. Cliquez sur la case à cocher à gauche du nom du champ pour sélectionner les champs que vous souhaitez supprimer.
  3. Cliquez sur **Supprimer**.

Pour supprimer des champs individuels, utilisez l'Icône du menu kebab. à 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.

L&#39;éditeur de champs dans l&#39;interface utilisateur de la vue métrique.

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 Icône de lecture sur **Aperçu**.

  1. Mois de commande : cliquez sur Générateur . Ensuite, sélectionnez source.o_orderdate et appliquez une transformation de mois pour produire DATE_TRUNC('MONTH', source.o_orderdate). Ajoutez le commentaire Month of order.

  2. État de la commande : Cliquez sur Personnalisé . Ensuite, ajoutez le commentaire Status of order et entrez l'expression suivante :

    SQL
    CASE
    WHEN source.o_orderstatus = 'O' THEN 'Open'
    WHEN source.o_orderstatus = 'P' THEN 'Processing'
    WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
    END
  3. Segment de marché : Dans Générateur , sélectionnez la colonne customer.c_mktsegment de la table customer jointe. Ajouter le commentaire Customer 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 Icône de lecture 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.

  1. Nombre de commandes : Dans le Générateur, sélectionnez l'agrégation Décompte pour COUNT(1) produire. Ajouter le commentaire Total number of orders.
  2. Revenu total : Dans Builder , sélectionnez source.o_totalprice et l'agrégation Somme pour produire SUM(source.o_totalprice). Ajoutez le commentaire Sum of all order prices.
  3. **Revenu total par client** : Dans **Personnalisé**, SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)entrez. Ajouter le commentaire Average revenue per unique customer.

Prévisualiser une mesure dans l&#39;interface utilisateur de la vue métrique.

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.

remarque

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

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

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 :

YAML
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 Icône de code Sparkle genie. 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 :

prompt

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.

prompt

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.