Parameters gebruiken met metrische weergaven

Met parameters kunt u waarden doorgeven aan een metrische weergave wanneer u er query's op uitvoert. Gebruik parameters om één definitie van de metrische weergave opnieuw te gebruiken voor verschillende invoerwaarden, zoals een kortingstarief of een datumvenster. Verwijs naar een parameter waar een constante SQL-expressie geldig is, zoals in filters, veld- en metingexpressies, de bron en joins. Je kunt ook een geheel parameter refereren als de waarde van een venstermaat range of offset, zodat een caller de venstergrootte bij het query-moment doorgeeft. Geef een waarde door als argument wanneer u een query uitvoert op de weergave.

Parameters verminderen duplicatie. In plaats van een afzonderlijke metrische weergave voor elke variant te onderhouden, definieert u de logica eenmaal en laat elke beller zijn eigen waarden opgeven. Een parameter kan een standaardwaarde bevatten, zodat bellers die geen argument doorgeven, terugvallen op de standaardwaarde.

U kunt parameterwaarden doorgeven vanuit een SQL-query of vanuit een AI/BI-dashboard. Verbind in een dashboard een parameter met een filterwidget om kijkers de waarde tijdens runtime te laten kiezen. Zie Een geparameteriseerde query gebruiken in een dashboard.

Requirements

  • Als u een metrische weergave wilt maken waarin parameters worden gedefinieerd, hebt u de bevoegdheden CREATE TABLE en USE SCHEMA voor het schema en de bevoegdheid USE CATALOG voor de bovenliggende catalogus nodig. Zie Een metrische weergave maken voor de volledige lijst met bevoegdheden die zijn vereist voor het maken van een metrische weergave.
  • Als u een query wilt uitvoeren op een metrische weergave die parameters definieert, hebt u een SQL-warehouse of een andere rekenresource nodig waarop Databricks Runtime 18.2 of hoger wordt uitgevoerd. Zie beschikbaarheid van functies in de metrische weergave voor meer versievereisten.

Limitations

De volgende beperkingen gelden voor metrische weergaven die parameters definiëren:

  • U kunt een metrische weergave die parameters definieert, niet materialiseren.
  • Standaardwaarden hebben beperkingen. Een standaardwaarde moet worden geconverteerd naar het gedeclareerde gegevenstype van de parameter en kan niet verwijzen naar een andere parameter of een subquery bevatten. Als u een standaardwaarde instelt voor één parameter, moet elke volgende parameter ook een standaardwaarde hebben. Zie Parameters.

Parameters definiëren

U kunt parameters definiëren in de Catalogusverkenner editor met weinig code of rechtstreeks in YAML. Nadat u een parameter hebt gemaakt, kunt u ernaar verwijzen op naam waar een constante SQL-expressie geldig is, zoals in filters, veld- en metingexpressies, de bron en joins. Je kunt ook een geheel getal parameter aanduiden als de waarde van een venstermaat of rangeoffset. Zie Vensterafmetingen.

Als u parameters in YAML wilt definiëren, voegt u een blok op het hoogste niveau parameters toe aan de definitie van de metrische weergave. Zie Parameters voor de volledige veldreferentie en een YAML-voorbeeld.

In de volgende stappen wordt de Editor met weinig code van Catalog Explorer en de samples.tpch.orders tabel, die beschikbaar is in elke werkruimte, gebruikt om een metrische weergave te maken met een discount parameter en twee metingen. De ene meting past de parameter toe en de andere berekent het niet-getelde totaal, zodat u de twee kunt vergelijken.

Stap 1: Een metrische weergave maken

Maak een metrische weergave voor het opslaan van de parameter en metingen.

  1. Klik op het pictogram Gegevens.Catalogus in de zijbalk van de werkruimte en gebruik vervolgens de zoekbalk om de tabelnaam te zoeken samples.tpch.orders en te klikken.
  2. Klik op Maken>Metrische weergave.
  3. Voer in het dialoogvenster Metrische gegevens maken een naam in en selecteer vervolgens een catalogus en schema om de metrische weergave te maken. Klik op Create.

De editor wordt geopend op het tabblad UI . Zie Een metrische weergave maken voor een volledig overzicht van de editor voor metrische gegevens.

Stap 2: Een parameter toevoegen

Voeg een discount parameter toe met een numeriek type en een standaardwaarde.

  1. Klik in de kop van de editor op Parameter toevoegen.

  2. In het dialoogvenster Parameterdetails :

    1. Voer discount de naam in.
    2. Kies Numeriek in de vervolgkeuzelijst Type .
    3. Kies Dubbel in de vervolgkeuzelijst Numeriek type die wordt weergegeven.

    De knop Parameter toevoegen en het dialoogvenster Parameterdetails met een kortingsparameter ingesteld op het numerieke type en het dubbele numerieke type.

  3. Klik weg van het dialoogvenster om het te sluiten en voer 0.15 vervolgens in als de standaardwaarde voor korting.

    De kortingsparameter met een standaardwaarde van 0,15.

De parameter wordt weergegeven in de kop van de editor nadat u deze hebt gemaakt. De waarde die u hier instelt, is de standaardwaarde die van toepassing is wanneer een query het argument weglaat.

Stap 3: Een meting toevoegen die gebruikmaakt van de parameter

Verwijs naar de parameter op naam in een metingexpressie. Deze meting past de korting toe op elk ordertotaal.

  1. Klik op het tabblad Metingen boven aan de editor.

  2. Klik op + Toevoegen.

  3. Voer Discounted Sales de naam van de meting in.

  4. Klik op Aangepast en voer de volgende expressie in:

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

Stap 4: Een andere meting toevoegen

Voeg een tweede meting toe voor het niet-getelde totaal.

  1. Klik op + Toevoegen.
  2. Voer Total Sales de naam van de meting in.
  3. Selecteer in Buildersource.o_totalprice en de aggregatie Sum om SUM(source.o_totalprice) te maken.

Stap 5: De metrische weergave opslaan

Klik op Opslaan. Als u een query wilt uitvoeren op de metrische weergave en een waarde voor de discount parameter wilt doorgeven, raadpleegt u Een metrische weergave opvragen met parameters.

Een metriekweergave opvragen met parameters

Als u een query wilt uitvoeren op een metrische weergave die parameters definieert, roept u de metrische weergave aan als een tabelwaardefunctie en geeft u parameters door als argumenten. U kunt argumenten doorgeven op naam of op positie of weglaten om de standaardwaarden te gebruiken.

Argumenten op naam doorgeven

Als u een argument op naam wilt doorgeven, gebruikt u de => operator. In het volgende voorbeeld wordt een waarde van discount doorgegeven aan 0.15:

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

Argumenten doorgeven op basis van positie

Als u argumenten per positie wilt doorgeven, geeft u de waarden weer in de volgorde waarin de parameters zijn gedefinieerd. In het volgende voorbeeld wordt dezelfde discount waarde doorgegeven als:0.15

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

Standaardparameterwaarden gebruiken

Als u de standaardparameterwaarden wilt gebruiken wanneer u de metrische weergave aanroept, laat u argumenten weg. De volgende query's zijn gelijkwaardig en gebruiken alle standaardwaarden:

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

De parameters weergeven die een metrische weergave definieert

Als u wilt zien welke parameters een metrische weergave definieert, bekijkt u de YAML-definitie, die het parameters blok bevat. Zie De definitie en metagegevens van de metrische weergave weergeven.

Een geparameteriseerde query gebruiken in een dashboard

U kunt een van deze query's gebruiken om een gegevensset te definiëren in een AI/BI-dashboard. Verwijs naar de metrische weergave in een SQL-gegevensset en geef de parameter door als argument in de aanroep van de functie tabelwaarde. Als u dashboardviewers de waarde tijdens runtime wilt laten kiezen, geeft u een dashboardparameter door aan het argument en verbindt u deze met een filterwidget. Zie Parameters doorgeven aan een metrische weergave.

Aanvullende informatiebronnen