Parameter mit Metrikansichten verwenden

Mithilfe von Parametern können Sie Werte beim Abfragen in eine Metrikansicht übergeben. Verwenden Sie Parameter, um eine einzelne Metrikansichtsdefinition für verschiedene Eingaben wiederzuverwenden, z. B. einen Rabattsatz oder ein Datumsfenster. Verwenden Sie einen Parameter überall dort, wo ein konstanter SQL-Ausdruck gültig ist, z. B. in Filtern, Feld- und Kennzahlausdrücken, der Datenquelle und Joins. Man kann auch einen ganzzahligen Parameter als Wert eines Fenstermaßes range oder offsetverweisen, sodass ein Aufrufer die Fenstergröße zur Abfragezeit eingibt. Übergeben Sie einen Wert als Argument, wenn Sie die Ansicht abfragen.

Parameter verringern die Duplizierung. Anstatt eine separate Metrikansicht für jede Variante beizubehalten, definieren Sie die Logik einmal und lassen jedem Aufrufer eigene Werte bereitstellen. Ein Parameter kann einen Standardwert enthalten, sodass Aufrufer, die kein Argument übergeben, auf den Standardwert zurückfallen.

Sie können Parameterwerte aus einer SQL-Abfrage oder aus einem AI/BI-Dashboard übergeben. Verbinden Sie in einem Dashboard einen Parameter mit einem Filter-Widget, damit Benutzer den Wert zur Laufzeit auswählen können. Siehe Verwenden einer parametrisierten Abfrage in einem Dashboard.

Anforderungen

  • Um eine Metrikansicht zu erstellen, in der Parameter definiert werden, benötigen Sie die Berechtigungen CREATE TABLE und USE SCHEMA für das Schema sowie die USE CATALOG-Berechtigung auf dem übergeordneten Katalog. Die vollständige Liste der Berechtigungen, die zum Erstellen einer Metrikansicht erforderlich sind, finden Sie unter Erstellen einer Metrikansicht.
  • Um eine Metrikansicht abzufragen, die Parameter definiert, benötigen Sie ein SQL Warehouse oder eine andere Computeressource mit Databricks Runtime 18.2 oder höher. Weitere Informationen zu den Versionsanforderungen finden Sie unter Verfügbarkeit der Funktion „Metrikansicht“.

Einschränkungen

Die folgenden Einschränkungen gelten für Metrikansichten, die Parameter definieren:

  • Sie können keine Metrikansicht materialisieren, die Parameter definiert.
  • Standardwerte haben Einschränkungen. Ein Standardwert muss in den deklarierten Datentyp des Parameters umgewandelt werden können und darf weder auf einen anderen Parameter verweisen noch eine Unterabfrage enthalten. Wenn Sie einen Standardwert für einen Parameter festlegen, muss jeder darauf folgende Parameter auch über einen Standardwert verfügen. Siehe Parameter.

Definieren von Parametern

Sie können Parameter im Katalog-Explorer-Editor mit geringem Code oder direkt in YAML definieren. Nachdem Sie einen Parameter erstellt haben, verweisen Sie auf ihn anhand des Namens an einer beliebigen Stelle, an der ein konstanter SQL-Ausdruck gültig ist, z. B. in Filtern, Feld- und Measureausdrücken, der Quelle und Verknüpfungen. Man kann auch einen ganzzahligen Parameter als Wert eines Fenstermaßes range oder offsetverweisen. Siehe Fenstermaße.

Um Parameter in YAML zu definieren, fügen Sie der Definition der Metrikansicht einen Block der obersten Ebene parameters hinzu. Die vollständige Feldreferenz und ein YAML-Beispiel finden Sie unter Parameters.

Die folgenden Schritte verwenden den Low-Code-Editor des Catalog Explorers und die in jedem Arbeitsbereich verfügbare samples.tpch.orders-Tabelle, um eine Metrikansicht mit einem discount-Parameter und zwei Kennzahlen zu erstellen. Ein Maß wendet den Parameter an, und das andere berechnet die nicht diskontierte Gesamtsumme, sodass Sie beide miteinander vergleichen können.

Schritt 1: Erstellen einer Metrikansicht

Erstellen Sie eine Metrikansicht, um Parameter und Kennzahlen zu enthalten.

  1. Klicken Sie auf das Symbol Katalog in der Arbeitsbereich-Randleiste, und verwenden Sie dann die Suchleiste, um den Tabellennamen zu suchen samples.tpch.orders und auf sie zu klicken.
  2. Klicken Sie auf "Metrische Ansicht erstellen>".
  3. Geben Sie im Dialogfeld " Metrikansicht erstellen" einen Namen ein, und wählen Sie dann einen Katalog und ein Schema aus, in dem die Metrikansicht erstellt werden soll. Klicke auf Erstellen.

Der Editor wird auf der Registerkarte „UI“ geöffnet. Eine vollständige Einführung in den Editor für Metrikansichten finden Sie unter Erstellen einer Metrikansicht.

Schritt 2: Hinzufügen eines Parameters

Fügen Sie einen discount Parameter mit einem numerischen Typ und einem Standardwert hinzu.

  1. Klicken Sie in der Editorüberschrift auf "Parameter hinzufügen".

  2. Im Dialogfeld "Parameterdetails ":

    1. Geben Sie discount für den Namen ein.
    2. Wählen Sie "Numerisch" aus der Dropdownliste "Typ " aus.
    3. Wählen Sie Double aus der Numerischer Typ-Dropdownliste aus, die angezeigt wird.

    Die Schaltfläche „Parameter hinzufügen“ und das Dialogfeld „Parameterdetails“ mit einem Rabattparameter, der auf den Typ „Numerisch“ und den numerischen Typ „Double“ festgelegt ist.

  3. Klicken Sie außerhalb des Dialogfelds, um es zu schließen, und geben Sie dann 0.15 als Standardwert für Rabatt ein.

    Der Rabattparameter mit dem Standardwert 0,15.

Der Parameter wird nach dem Erstellen in der Editorüberschrift angezeigt. Der hier festgelegte Wert ist der Standardwert, der angewendet wird, wenn eine Abfrage das Argument ausgelassen.

Schritt 3: Fügen Sie ein Measure hinzu, das den Parameter verwendet

Verweisen Sie in einem Measureausdruck auf den Parameter anhand des Namens. Diese Maßnahme wendet den Rabatt auf jede Bestellsumme an.

  1. Klicken Sie oben im Editor auf die Registerkarte "Measures ".

  2. Klicken Sie auf + Hinzufügen.

  3. Geben Sie Discounted Sales als Messname ein.

  4. Klicken Sie auf "Benutzerdefiniert", und geben Sie dann den folgenden Ausdruck ein:

    SUM((1 - discount) * source.o_totalprice)
    

Schritt 4: Ein weiteres Maß hinzufügen

Fügen Sie eine zweite Kennzahl für die Gesamtsumme ohne Rabatt hinzu.

  1. Klicken Sie auf + Hinzufügen.
  2. Geben Sie Total Sales als Messname ein.
  3. Wählen Sie in Buildersource.o_totalprice und die Aggregation Sum aus, um SUM(source.o_totalprice) zu erzeugen.

Schritt 5: Speichern der Metrikansicht

Klicke auf Speichern. Informationen zum Abfragen der Metrikansicht und Übergeben eines Werts für den discount Parameter finden Sie unter Abfragen einer Metrikansicht mit Parametern.

Eine Metrikansicht mit Parametern abfragen

Um eine Metrikansicht abzufragen, die Parameter definiert, rufen Sie die Metrikansicht als Tabellenwertfunktion auf und übergeben Parameter als Argumente. Sie können Argumente nach Name oder Position übergeben oder auslassen, um die Standardwerte zu verwenden.

Argumente per Namen übergeben

Um ein Argument nach Namen zu übergeben, verwenden Sie den =>-Operator. Im folgenden Beispiel wird ein Wert von discount an 0.15 übergeben:

SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(discount => 0.15)
GROUP BY product;

Argumente nach Position übergeben

Um Argumente nach Position zu übergeben, listen Sie die Werte in der Reihenfolge auf, in der die Parameter definiert sind. Im folgenden Beispiel wird derselbe Wert von discount an 0.15 übergeben:

SELECT product, MEASURE(discountedSales)
FROM catalog.schema.metric_view(0.15)
GROUP BY product;

Verwenden von Standardparameterwerten

Wenn Sie beim Aufrufen der Metrikansicht die Standardparameterwerte verwenden möchten, lassen Sie Argumente aus. Die folgenden Abfragen sind gleichwertig und verwenden alle Standardwerte:

SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view() GROUP BY product;
SELECT product, MEASURE(discountedSales) FROM catalog.schema.metric_view GROUP BY product;

Anzeigen der Parameter, die eine Metrikansicht definiert

Um die Parameter anzuzeigen, die eine Metrikansicht definiert, zeigen Sie die YAML-Definition an, die den parameters Block enthält. Siehe Definition und Metadaten der Metrikansicht anzeigen.

Verwenden einer parametrisierten Abfrage in einem Dashboard

Sie können eine dieser Abfragen verwenden, um ein Dataset in einem AI/BI-Dashboard zu definieren. Verweisen Sie auf die Metrikansicht in einem SQL-Dataset, und übergeben Sie den Parameter als Argument im Aufruf der Tabellenwertfunktion. Um Dashboard-Viewern die Auswahl des Werts zur Laufzeit zu ermöglichen, übergeben Sie einen Dashboardparameter an das Argument, und verbinden Sie ihn mit einem Filter-Widget. Siehe Übergeben von Parametern an eine Metrikansicht.

Weitere Ressourcen