Creare una visualizzazione delle metriche

Esplora cataloghi offre un'interfaccia visiva per la creazione di visualizzazioni delle metriche. È possibile definire campi e misure in modo interattivo, senza scrivere una definizione YAML.

Questa pagina illustra la creazione di una visualizzazione delle metriche nell'interfaccia utente di Esplora cataloghi. Per un esempio più complesso con join e misure avanzate, vedere Esercitazione: creare una visualizzazione delle metriche con join e modellazione dei dati.

Prerequisiti

Prima di creare una visualizzazione delle metriche, verificare di avere le autorizzazioni seguenti:

  • SELECT privilegi per l'asset di tipo tabella o la query SQL usata come origine.
  • CREATE TABLE e USE SCHEMA privilegi nello schema in cui si vuole creare la visualizzazione delle metriche.
  • USE CATALOG privilegio sul catalogo principale.
  • CAN USE autorizzazione per SQL Warehouse o per un'altra risorsa di calcolo che esegue Databricks Runtime 17.3 o versione successiva.

Un amministratore del metastore o un proprietario del catalogo può concedere tutti questi privilegi. Un proprietario dello schema o un utente con MANAGE privilegi può concedere USE SCHEMA e CREATE TABLE privilegi per lo schema.

Annotazioni

La creazione di una visualizzazione delle metriche è supportata in Databricks Runtime 16.4 e versioni successive. Questa pagina usa funzionalità che richiedono Databricks Runtime 17.3 o versione successiva, quindi 17.3 è il minimo per l'esempio. Le singole funzionalità YAML possono richiedere un runtime successivo. Per il runtime minimo per ogni funzionalità, vedere Disponibilità delle funzionalità di visualizzazione delle metriche.

Creare una visualizzazione delle metriche

Creare una visualizzazione metrica in Esplora cataloghi usando uno dei metodi seguenti:

La procedura seguente usa la scheda dell'interfaccia utente e la samples.tpch.orders tabella, disponibile in ogni area di lavoro, per creare una visualizzazione delle metriche di analisi delle vendite di esempio. La visualizzazione metrica completata corrisponde alla definizione in Definire una visualizzazione metrica in SQL o YAML. Per altre informazioni su questo set di dati, vedere Set di dati di esempio.

Passaggio 1: Creare la visualizzazione delle metriche e aprire l'editor

  1. Fare clic sull'icona Dati.Catalogo nella barra laterale dell'area di lavoro.
  2. Usare la barra di ricerca per trovare samples.tpch.orders, quindi fare clic sul nome della tabella.
  3. Fare clic su Crea>visualizzazione metrica. Nella finestra di dialogo Crea visualizzazione metriche immettere un nome, selezionare un catalogo e una destinazione dello schema e quindi fare clic su Crea.

L'editor viene aperto nella scheda dell'interfaccia utente . L'editor aggiunge automaticamente tutte le colonne di origine alla scheda Campi e aggiunge una misura di esempio COUNT(*) .

Interfaccia di modifica della visualizzazione delle metriche in Esplora cataloghi.

Passaggio 2: Aggiungi un'unione

L'esempio unisce la customer tabella in modo che gli attributi del cliente siano disponibili come campi. Per aggiungere il join, fare clic sul pulsante join nell'angolo superiore destro dell'editor:

  1. Per l'origine da aggiungere, selezionare samples.tpch.customer e fare clic su Aggiungi.
  2. Immettere customer come nome di join.
  3. Usare gli elenchi a discesa per impostare la condizione di unione come source.o_custkey = customer.c_custkey. Per aggiungere più colonne di join, fare clic su + Tasto join. Per impostare una condizione diversa dall'uguaglianza, fare clic su Espressione e perfezionare la condizione.
  4. In Cardinalità del join, seleziona Molti a uno. Per indicazioni sulla scelta di una cardinalità, consulta Join cardinality.
  5. Selezionare Al massimo una corrispondenza in Prestazioni della query. Ogni ordine corrisponde al massimo a un cliente, quindi questa ottimizzazione è sicura e imposta at_most_one_match: true nella definizione YAML.
  6. Fare clic su Partecipa.
  7. Nella finestra di dialogo Aggiungi campi fare clic su Aggiungi tutte le colonne per importare dinamicamente tutte le colonne dalla tabella di origine. Se invece si desidera aggiungere singole colonne, ignorare questo passaggio. I campi dell'oggetto unito vengono visualizzati nell'elenco a discesa con i campi dell'origine.

I join combinano la tabella di origine con altre tabelle o query. Per i concetti di modellazione relativi ai join, inclusi gli schemi star e snowflake e i pattern YAML, consulta Utilizzare i join.

Passaggio 3: Definire un filtro

La definizione YAML completa più avanti in questa pagina include un filtro che limita la visualizzazione delle metriche agli ordini effettuati dopo il 1° gennaio 1990.

Immettere espressioni con Builder o Custom

Quando si definisce un filtro, un campo o una misura, l'espressione viene impostata usando una delle due opzioni nella sezione Espressione :

  • Generatore: seleziona dai menu a discesa contestuali e l'editor compone l'espressione SQL per te.
  • Personalizzato: immettere direttamente l'espressione SQL.

I passaggi seguenti usano Builder per filtri di colonne semplici, trasformazioni e aggregazioni e Custom per le espressioni che Builder non può comporre, ad esempio CASE istruzioni e misure composte.

Per definire il filtro:

  1. Fare clic sull'icona Filtro.Filtrare nell'angolo superiore destro dell'editor di visualizzazione delle metriche.
  2. Impostare l'espressione di filtro:
    • In Generatore selezionare la colonnasource.o_orderdate, l'operatoreGreater than e il valore1990-01-01.
    • In Personalizzato, scrivi l'espressione SQL source.o_orderdate > '1990-01-01'.

Un filtro si applica a tutte le query che fanno riferimento alla visualizzazione metrica. Per i concetti di modellazione dei filtri e i modelli YAML, vedere Applicare filtri.

Passaggio 4: Aggiungere campi

Quando si definisce un filtro, un campo o una misura, l'espressione viene impostata usando una delle due opzioni nella sezione Espressione :

  • Generatore: seleziona dai menu a discesa contestuali e l'editor compone l'espressione SQL per te. Le scelte disponibili cambiano in base al tipo di colonna e ai valori.
  • Personalizzato: immettere direttamente l'espressione SQL.

I passaggi che seguono passano tra le due opzioni in base alla complessità di ogni espressione. Usa Builder per trasformazioni semplici delle colonne e aggregazioni, e passa a Personalizzato per le espressioni che Builder non può comporre, ad esempio istruzioni CASE e misure composte.

L'esempio definisce tre campi: due colonne trasformate dalla sorgente e una colonna dalla tabella customer oggetto del join. I campi, detti anche dimensioni, si comportano come colonne di tabella normali. Un campo può essere una colonna categorica usata per il raggruppamento e il filtro oppure una colonna numerica non raggruppata che è possibile aggregare in fase di query. Per altre informazioni sui campi di modellazione, vedere Campi.

L'editor aggiunge automaticamente tutte le colonne di origine alla scheda Campi . Per trovare una corrispondenza con l'esempio, rimuovere le colonne non necessarie in modo che rimangano solo source.o_orderdate, source.o_orderstatuse customer.c_mktsegment .

Per rimuovere un campo:

  1. Fare clic sulla scheda Campi .
  2. Fare clic sulla casella di controllo a sinistra del nome del campo per selezionare i campi da rimuovere.
  3. Fai clic su Elimina.

Per eliminare singoli campi, utilizzare l'icona del menu Kebab a destra del nome del campo.

Quando si modifica un campo, è anche possibile aggiungere metadati:

  • Nome visualizzato: un'etichetta descrittiva.
  • Commento: una descrizione del campo.
  • Sinonimi: nomi alternativi che consentono agli strumenti di intelligenza artificiale di individuare il campo. Vedere Sinonimi.
  • Formato: formattazione dei dati personalizzata che controlla la modalità di visualizzazione dei valori. Il formato è disponibile solo per le colonne numeriche, date e datetime. Vedere Specifiche di formato.
  • Tag regolati: tag regolati per la classificazione e la governance.

Editor di campi nell'interfaccia utente della visualizzazione delle metriche.

Per definire ogni campo, fare clic sul nome nella scheda Campi , compilarne l'espressione e aggiungere un commento facoltativo. Per eseguire la trasformazione e visualizzare il risultato, fare clic su icona RiproduciAnteprima.

  1. Mese dell'ordine: fai clic su Builder. Selezionare quindi e applicare una trasformazione mensile source.o_orderdate per produrre DATE_TRUNC('MONTH', source.o_orderdate). Aggiungere il commento Month of order.

  2. Stato dell'ordine: Fai clic su Personalizzato. Aggiungere quindi il commento Status of order e immettere l'espressione seguente:

    CASE
      WHEN source.o_orderstatus = 'O' THEN 'Open'
      WHEN source.o_orderstatus = 'P' THEN 'Processing'
      WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
    END
    
  3. Segmento di mercato: in Builder, seleziona la colonna customer.c_mktsegment dalla tabella customer unita. Aggiungere il commento Customer market segment.

Passaggio 5: Aggiungere misure

L'esempio definisce tre misure. Le misure sono espressioni di aggregazione che producono metriche aziendali, ad esempio ricavi totali o conteggio degli ordini. L'editor aggiunge automaticamente una COUNT(*) misura. È possibile modificarla o rimuoverla.

Quando si modifica una misura, è anche possibile aggiungere un nome visualizzato, commento, sinonimi, formato e tag regolamentati, gli stessi metadati disponibili per i campi.

Per aggiungere ogni misura, nella scheda Misure fare clic su +, compilarne l'espressione e aggiungere un commento facoltativo. Per eseguire l'aggregazione e visualizzare il risultato, fare clic su Riproduci iconaAnteprima. Quando si aggiunge una misura, i suggerimenti Genie vengono visualizzati nella parte superiore del riquadro dell'editor di misure; fare clic su un suggerimento per creare tale misura.

  1. Numero di ordini: in Builder, seleziona l'aggregazione Count per produrre COUNT(1). Aggiungere il commento Total number of orders.
  2. Total Revenue (Ricavi totali): in Generatore selezionare source.o_totalprice e l'aggregazione Somma per produrre SUM(source.o_totalprice). Aggiungere il commento Sum of all order prices.
  3. Total Revenue per Customer (Ricavi totali per cliente): in Personalizzato immettere SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey). Aggiungere il commento Average revenue per unique customer.

Visualizzare in anteprima una misura nell'interfaccia utente della visualizzazione delle metriche.

Per aggiungere una misura finestra per i calcoli delle serie temporali, ad esempio medie mobili o totali in esecuzione, fare clic su + Finestra durante la modifica della misura. Vedi Dimensioni della finestra.

Passaggio 6: Salvare la visualizzazione delle metriche

Fare clic su Salva. La visualizzazione metrica completata corrisponde alla definizione in Definire una visualizzazione metrica in SQL o YAML.

Definire una visualizzazione metrica in SQL o YAML

Anziché creare una vista metrica nell'interfaccia utente, è possibile definirla direttamente in YAML o in SQL usando l'istruzione CREATE VIEW con la WITH METRICS clausola . Di seguito è riportata la definizione completa della visualizzazione metrica di esempio. È una visualizzazione filtrata di samples.tpch.orders unita a samples.tpch.customer, con campi per il mese dell'ordine, lo stato dell'ordine e il segmento di mercato dei clienti, e metriche per il conteggio degli ordini, i ricavi totali e il ricavo per cliente.

Annotazioni

Questi esempi usano la fields parola chiave . Quando si compila una visualizzazione delle metriche nell'editor a basso codice, il codice YAML generato usa invece la parola chiave equivalente dimensions . Vedi Campi.

Definizione YAML

Per definire la visualizzazione delle metriche direttamente in YAML, usare la definizione seguente:

Visualizzare la definizione 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'

Per informazioni complete sulla sintassi YAML, vedere Informazioni di riferimento sulla sintassi YAML per la visualizzazione delle metriche.

Istruzione SQL

Per creare la vista metrica in SQL, racchiudere la definizione YAML in un'istruzione CREATE VIEW con la clausola WITH METRICS e inserire il codice YAML tra i delimitatori $$:

Visualizza l'istruzione 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"
$$

Importa in blocco campi e misure con caratteri jolly

Si applica a: Databricks Runtime 18.2 e versioni successive con la specifica YAML 1.1

Anziché elencare ogni campo, è possibile usare un carattere jolly in un expr per importare tutte le colonne dalla sorgente o da una tabella unita. Ciò è utile quando si vuole che la visualizzazione delle metriche esponga ogni colonna da un asset upstream. Omettere name con un carattere jolly, perché Azure Databricks ricava il nome di ogni colonna dall'origine dati. È possibile combinare caratteri jolly con campi e misure specificati esplicitamente.

La definizione seguente importa tutti i campi dall'origine ad eccezione di uno, aggiunge un campo dalla tabella unita in join customer e definisce una misura esplicita:

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)

Per la sintassi completa dei caratteri jolly, inclusa l'importazione di tutte le colonne da una tabella collegata (customer.*), l'espansione della struttura e la risoluzione dei conflitti di nomi, consulta Importazione in blocco di campi e misure con caratteri jolly.

Usare il codice Genie

Genie Code è un assistente IA che puoi aprire dal pulsante icona Genie Code di Sparkle. nell'angolo in alto a destra dell'editor. Descrivere ciò che si vuole nel linguaggio naturale e Genie Code aggiorna automaticamente la definizione della visualizzazione delle metriche. Genie Code è compatibile con il contesto: nella scheda dell'interfaccia utente aggiorna automaticamente l'editor e nell'editor YAML inserisce YAML.

Per aggiungere una singola misura a una visualizzazione metrica esistente, descriverla:

Tip

Indicare a Genie Code (modalità agente) di eseguire questa operazione:

add an average sales per customer measure

Per creare una visualizzazione metrica completa da una descrizione del linguaggio naturale, descriverla in Codice Genie. Il risultato è una definizione simile all'esempio in questa pagina; i nomi e i commenti di campo esatti possono variare.

Tip

Indicare a Genie Code (modalità agente) di eseguire questa operazione:

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.

Risorse aggiuntive

Dopo aver creato una vista metrica, usare le risorse seguenti per eseguire query, modellare e gestire il lavoro.