Erstellen einer Metrikansicht

Der Katalog-Explorer stellt eine visuelle Schnittstelle zum Erstellen von Metrikansichten bereit. Sie definieren Felder und Measures interaktiv, ohne eine YAML-Definition zu schreiben.

Diese Seite führt Sie durch die Erstellung einer Metrikansicht in der Benutzeroberfläche des Katalog-Explorers. Ein komplexeres Beispiel mit Verknüpfungen und erweiterten Kennzahlen finden Sie unter Tutorial: Erstellen einer Metrikansicht mit Verknüpfungen und Datenmodellierung.

Voraussetzungen

Stellen Sie vor dem Erstellen einer Metrikansicht sicher, dass Sie über die folgenden Berechtigungen verfügen:

Ein Metastoreadministrator oder Katalogbesitzer kann all diese Berechtigungen gewähren. Ein Schemabesitzer oder ein Benutzer mit MANAGE-Berechtigungen kann USE SCHEMA- und CREATE TABLE-Berechtigungen für das Schema erteilen.

Note

Das Erstellen einer Metrikansicht wird für Databricks Runtime 16.4 und höher unterstützt. Diese Seite verwendet Features, die Databricks Runtime 17.3 oder höher erfordern, sodass 17.3 das Minimum für das Beispiel ist. Einzelne YAML-Features können eine spätere Laufzeit erfordern. Die Mindestlaufzeit für jedes Feature finden Sie unter Verfügbarkeit der Metrikansichtsfeatures.

Erstellen einer Metrikansicht

Erstellen Sie eine Metrikansicht im Katalog-Explorer mit einer der folgenden Methoden:

  • Benutzeroberflächen-Editor: Definieren Sie auf der Registerkarte " Ui " Felder und Measures interaktiv, ohne Code zu schreiben.
  • YAML-Editor: Klicken Sie auf die <> Schaltfläche, um die Definition direkt zu bearbeiten. Informationen zur Syntax finden Sie in der YaML-Syntaxreferenz zur Metrikansicht. Sie können auch eine YAML-Definition in einer SQL-Anweisung verwenden, um eine Metrikansicht zu erstellen. Das vollständige Beispiel in YAML und SQL finden Sie unter Definieren einer Metrikansicht in SQL oder YAML.
  • Genie Code: Öffnen Sie Genie Code aus dem Sparkle Genie Code Symbol. Schaltfläche in der oberen rechten Ecke und beschreiben Sie, was Sie in natürlicher Sprache wünschen. Siehe "Genie Code verwenden".

Die folgenden Schritte verwenden die Registerkarte UI und die samples.tpch.orders Tabelle, die in jedem Arbeitsbereich verfügbar sind, um eine Beispielansicht für eine Vertriebsanalysemetrik zu erstellen. Die abgeschlossene Metrikansicht entspricht der Definition in "Definieren einer Metrikansicht" in SQL oder YAML. Weitere Informationen zu diesem Dataset finden Sie unter Beispiel-Datasets.

Schritt 1: Erstellen der Metrikansicht und Öffnen des Editors

  1. Klicken Sie auf das Symbol Katalog in der Arbeitsbereich-Randleiste.
  2. Verwenden Sie die Suchleiste, um samples.tpch.orders zu finden, und klicken Sie dann auf den Tabellennamen.
  3. Klicken Sie auf "Metrische Ansicht erstellen>". Geben Sie im Dialogfeld " Metrikansicht erstellen " einen Namen ein, wählen Sie einen Katalog und ein Schemaziel aus, und klicken Sie dann auf "Erstellen".

Der Editor wird mit der Registerkarte UI geöffnet. Der Editor fügt automatisch alle Quellspalten auf der Registerkarte Felder hinzu und fügt eine Beispiel-COUNT(*)Kennzahl hinzu.

Die Bearbeitungsoberfläche für die Metrikansicht im Katalog-Explorer.

Schritt 2: Hinzufügen einer Verknüpfung

Im Beispiel wird die customer Tabelle verknüpft, sodass Kundenattribute als Felder verfügbar sind. Um die Verknüpfung hinzuzufügen, klicken Sie in der oberen rechten Ecke des Editors auf die Verknüpfungsschaltfläche:

  1. Wählen Sie zum Verbinden der Quelle samples.tpch.customer aus, und klicken Sie auf Hinzufügen.
  2. Geben Sie customer als Verknüpfungsname ein.
  3. Verwenden Sie die Dropdown-Listen, um die Verknüpfungsbedingung auf source.o_custkey = customer.c_custkey festzulegen. Wenn Sie mehr als eine Verknüpfungsspalte hinzufügen möchten, klicken Sie auf +Verknüpfungsschlüssel. Wenn Sie eine andere Bedingung als Gleichheit festlegen möchten, klicken Sie auf "Ausdruck ", und verfeinern Sie die Bedingung.
  4. Wählen Sie unter VerknüpfungskardinalitätViele-zu-eins aus. Anleitung zur Auswahl einer Kardinalität finden Sie unter Verbundkardinalität.
  5. Wählen Sie unter Query-Performance At most one match aus. Jede Bestellung entspricht höchstens einem Kunden, sodass diese Optimierung sicher ist und in der YAML-Definition at_most_one_match: true setzt.
  6. Klicken Sie auf "Beitreten".
  7. Klicken Sie im Dialogfeld " Felder hinzufügen " auf "Alle Spalten hinzufügen ", um alle Spalten dynamisch aus der Quelltabelle zu importieren. Wenn Sie stattdessen einzelne Spalten hinzufügen möchten, überspringen Sie diesen Schritt. Felder aus dem verknüpften Objekt werden in der Dropdownliste mit Feldern aus der Quelle angezeigt.

Verknüpfungen kombinieren die Quelltabelle mit anderen Tabellen oder Abfragen. Informationen zu Verknüpfungsmodellierungskonzepten, einschließlich Stern- und Schneeflakeschemas und YAML-Mustern, finden Sie unter "Arbeiten mit Verknüpfungen".

Schritt 3: Definieren eines Filters

Die vollständige YAML-Definition weiter unten auf dieser Seite enthält einen Filter, der die Metrikansicht auf Bestellungen beschränkt, die nach dem 1. Januar 1990 aufgegeben wurden.

Ausdrücke mit Builder oder Benutzerdefiniert eingeben

Wenn Sie einen Filter, ein Feld oder ein Measure definieren, legen Sie dessen Ausdruck mithilfe einer von zwei Optionen im Abschnitt "Ausdruck " fest:

  • Generator: Wählen Sie aus kontextabhängigen Dropdowns aus, und der Editor verfasst den SQL-Ausdruck für Sie.
  • Benutzerdefiniert: Geben Sie den SQL-Ausdruck direkt ein.

Die folgenden Schritte verwenden Builder für einfache Spaltenfilter, Transformationen und Aggregationen sowie Custom für Ausdrücke, die mit Builder nicht erstellt werden können, wie CASE-Anweisungen und zusammengesetzte Measures.

So definieren Sie den Filter:

  1. Klicken Sie auf das Symbol Filtern Sie in der oberen rechten Ecke des metrischen Ansichts-Editors.
  2. Festlegen des Filterausdrucks:
    • Wählen Sie im Generator die Spaltesource.o_orderdate, den OperatorGreater than und den Wert1990-01-01 aus.
    • Schreiben Sie in "Benutzerdefiniert" den SQL-Ausdruck source.o_orderdate > '1990-01-01'.

Ein Filter gilt für alle Abfragen, die auf die Metrikansicht verweisen. Informationen zu Filtermodellierungskonzepten und YAML-Mustern finden Sie unter Anwenden von Filtern.

Schritt 4: Hinzufügen von Feldern

Wenn Sie einen Filter, ein Feld oder ein Measure definieren, legen Sie dessen Ausdruck mithilfe einer von zwei Optionen im Abschnitt "Ausdruck " fest:

  • Generator: Wählen Sie aus kontextabhängigen Dropdowns aus, und der Editor verfasst den SQL-Ausdruck für Sie. Die verfügbaren Auswahlmöglichkeiten ändern sich basierend auf dem Spaltentyp und den Werten.
  • Benutzerdefiniert: Geben Sie den SQL-Ausdruck direkt ein.

Die folgenden Schritte wechseln je nach Komplexität des jeweiligen Ausdrucks zwischen den beiden Optionen. Verwenden Sie Builder für einfache Spaltentransformationen und Aggregationen und wechseln Sie zu Custom für Ausdrücke, die Builder nicht erstellen kann, z. B. CASE-Anweisungen und zusammengesetzte Kennzahlen.

Im Beispiel werden drei Felder definiert: zwei transformierte Spalten aus der Quelle und eine Spalte aus der verknüpften customer Tabelle. Felder, auch als Dimensionen bezeichnet, verhalten sich wie normale Tabellenspalten. Ein Feld kann eine kategorisierte Spalte sein, die zum Gruppieren und Filtern verwendet wird, oder eine nicht aggregierte numerische Spalte, die Sie zur Abfragezeit aggregieren können. Weitere Informationen zum Modellieren von Feldern finden Sie unter "Felder".

Der Editor fügt automatisch alle Quellspalten zum Felder-Tab hinzu. Um dem Beispiel zu entsprechen, entfernen Sie die Spalten, die Sie nicht benötigen, sodass nur source.o_orderdate, source.o_orderstatus und customer.c_mktsegment übrig bleiben.

So entfernen Sie ein Feld:

  1. Klicken Sie auf die Registerkarte Felder .
  2. Klicken Sie links neben dem Feldnamen auf das Kontrollkästchen, um die Felder auszuwählen, die Sie entfernen möchten.
  3. Klicken Sie auf Löschen.

Um einzelne Felder zu löschen, verwenden Sie das Kebab-Menüsymbol rechts neben dem Feldnamen.

Wenn Sie ein Feld bearbeiten, können Sie auch Metadaten hinzufügen:

  • Anzeigename: eine beschreibende Bezeichnung.
  • Kommentar: eine Beschreibung des Felds.
  • Synonyme: Alternative Namen, mit denen KI-Tools das Feld ermitteln können. Siehe Synonyme.
  • Format: Benutzerdefinierte Datenformatierung, die steuert, wie Werte angezeigt werden. Das Format ist nur für numerische, Datums- und Datum/Uhrzeit-Spalten verfügbar. Siehe Formatspezifikationen.
  • Verwaltete Tags: verwaltete Tags für Klassifizierung und Governance.

Der Feld-Editor in der Benutzeroberfläche der Metrikansicht.

Wenn Sie jedes Feld definieren möchten, klicken Sie auf der Registerkarte " Felder " auf den Namen, erstellen Sie dessen Ausdruck, und fügen Sie einen optionalen Kommentar hinzu. Um die Transformation auszuführen und das Ergebnis anzuzeigen, klicken Sie auf ".

  1. Bestellmonat: Klicken Sie auf Builder. Wählen Sie dann source.o_orderdate aus und wenden Sie eine Monatstransformation an, um DATE_TRUNC('MONTH', source.o_orderdate) zu erzeugen. Fügen Sie den Kommentar Month of orderhinzu.

  2. Bestellstatus: Klicken Sie auf "Benutzerdefiniert". Fügen Sie dann den Kommentar hinzu Status of order , und geben Sie den folgenden Ausdruck ein:

    CASE
      WHEN source.o_orderstatus = 'O' THEN 'Open'
      WHEN source.o_orderstatus = 'P' THEN 'Processing'
      WHEN source.o_orderstatus = 'F' THEN 'Fulfilled'
    END
    
  3. Market Segment: Wählen Sie im Generator die customer.c_mktsegment Spalte aus der verknüpften customer Tabelle aus. Fügen Sie den Kommentar Customer market segmenthinzu.

Schritt 5: Maße hinzufügen

Das Beispiel definiert drei Kennzahlen. Kennzahlen sind aggregierte Ausdrücke, die Geschäftsmetriken erzeugen, z. B. Gesamtumsatz oder Auftragsanzahl. Der Editor fügt automatisch ein COUNT(*) Measure hinzu. Sie können es bearbeiten oder entfernen.

Wenn Sie eine Kennzahl bearbeiten, können Sie auch einen Anzeigenamen, einen Kommentar, Synonyme, ein Format und verwaltete Tags hinzufügen – dieselben Metadaten, die auch für Felder verfügbar sind.

Um jede Kennzahl hinzuzufügen, klicken Sie auf der Registerkarte Measures auf +, erstellen Sie den Ausdruck, und fügen Sie einen optionalen Kommentar hinzu. Um die Aggregation auszuführen und das Ergebnis anzuzeigen, klicken Sie auf WiedergabesymbolVorschau. Wenn Sie ein Measure hinzufügen, werden Genie-Vorschläge oben im Bereich des Measure-Editors angezeigt; klicken Sie auf einen Vorschlag, um dieses Measure zu erstellen.

  1. Anzahl der Bestellungen: Wählen Sie im Builder die Aggregation Anzahl aus, um COUNT(1) zu erzeugen. Fügen Sie den Kommentar Total number of ordershinzu.
  2. Gesamtumsatz: Wählen Sie in Buildersource.o_totalprice und die Aggregation Sum aus, um SUM(source.o_totalprice) zu erzeugen. Fügen Sie den Kommentar Sum of all order priceshinzu.
  3. Gesamtumsatz pro Kunde: Geben Sie in „Benutzerdefiniert“SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey) ein. Fügen Sie den Kommentar Average revenue per unique customerhinzu.

Zeigen Sie eine Vorschau einer Maßnahme in der Metrikansicht der Benutzeroberfläche an.

Wenn Sie ein Fenstermaß für Zeitreihenberechnungen wie gleitende Mittelwerte oder laufende Summen hinzufügen möchten, klicken Sie beim Bearbeiten des Measures auf +Fenster . Siehe Fenstermaße.

Schritt 6: Speichern der Metrikansicht

Klicke auf Speichern. Die abgeschlossene Metrikansicht entspricht der Definition in "Definieren einer Metrikansicht" in SQL oder YAML.

Definieren einer Metrikansicht in SQL oder YAML

Anstatt eine Metrikansicht in der Benutzeroberfläche zu erstellen, können Sie sie direkt in YAML oder in SQL mithilfe der CREATE VIEW Anweisung mit der WITH METRICS Klausel definieren. Im Folgenden sehen Sie die vollständige Definition der Beispielmetrikansicht. Es handelt sich um eine gefilterte Ansicht von samples.tpch.orders, verknüpft mit samples.tpch.customer, mit Feldern für Bestellmonat, Bestellstatus und Kundenmarktsegment sowie Kennzahlen für die Anzahl der Bestellungen, den Gesamtumsatz und den Umsatz pro Kunde.

Note

In diesen Beispielen wird das fields Schlüsselwort verwendet. Wenn Sie eine Metrikansicht im Low-Code-Editor erstellen, verwendet das generierte YAML stattdessen das entsprechende dimensions Schlüsselwort. Siehe Felder.

YAML-Definition

Verwenden Sie die folgende Definition, um die Metrikansicht direkt in YAML zu definieren:

Anzeigen der YAML-Definition
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'

Vollständige YAML-Syntaxdetails finden Sie in der YaML-Syntaxreferenz zur Metrikansicht.

SQL-Anweisung

Um die Metrikansicht in SQL zu erstellen, schließen Sie die YAML-Definition in einer CREATE VIEW Anweisung mit der WITH METRICS Klausel um, und platzieren Sie das YAML zwischen $$ Trennzeichen:

Anzeigen der SQL-Anweisung
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"
$$

Massenimport von Feldern und Kennzahlen mit Platzhaltern

Gilt für: Databricks Runtime 18.2 und höher mit YAML-Spezifikation 1.1

Statt jedes Feld aufzulisten, können Sie einen Platzhalter in einem expr Feld verwenden, um alle Spalten aus der Quelle oder einer verknüpften Tabelle zu importieren. Dies ist nützlich, wenn die Metrikansicht jede Spalte aus einer vorgelagerten Ressource offenlegen soll. Lassen Sie name bei einem Platzhalter weg, da Azure Databricks jeden Spaltennamen aus der Quelle ableitet. Sie können Wildcards mit explizit definierten Feldern und Measures kombinieren.

Die folgende Definition importiert alle Felder aus der Quelle außer einer, fügt ein Feld aus der verknüpften customer Tabelle hinzu und definiert ein explizites Measure:

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)

Die vollständige Wildcardsyntax, einschließlich des Importierens aller Spalten aus einer verknüpften Tabelle (customer.*), der Strukturerweiterung und der Auflösung von Namenskonflikten, finden Sie unter "Massenimportfelder und Measures" mit Wildcards.

Verwenden von Genie Code

Genie Code ist ein KI-Assistent, den Sie über das Sparkle Genie-Codesymbol öffnen. Schaltfläche in der oberen rechten Ecke des Editors. Beschreiben Sie, was Sie in natürlicher Sprache wünschen, und Genie Code aktualisiert die Metrikansichtsdefinition für Sie. Genie Code ist kontextbewusst: Auf der Registerkarte "Ui " aktualisiert er den Editor für Sie, und im YAML-Editor fügt er YAML ein.

Wenn Sie einer vorhandenen Metrikansicht ein einzelnes Measure hinzufügen möchten, beschreiben Sie folgendes:

Tipp

Weisen Sie Genie Code (Agent-Modus) an, dies für Sie zu tun.

add an average sales per customer measure

Um eine vollständige Metrikansicht aus einer Beschreibung der natürlichen Sprache zu erstellen, beschreiben Sie sie in Genie Code. Das Ergebnis ist eine Definition, die dem Beispiel auf dieser Seite ähnelt; Die genauen Feldnamen und Kommentare können variieren.

Tipp

Weisen Sie Genie Code (Agent-Modus) an, dies für Sie zu tun.

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.

Weitere Ressourcen

Verwenden Sie nach dem Erstellen einer Metrikansicht die folgenden Ressourcen, um Ihre Arbeit abzufragen, zu modellieren und zu verwalten.