Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Catalog Explorer biedt een visuele interface voor het maken van metrische weergaven. U definieert velden en metingen interactief, zonder dat u een YAML-definitie hoeft te schrijven.
Op deze pagina wordt uitgelegd hoe u een metrische weergave maakt in de gebruikersinterface van Catalog Explorer. Zie Zelfstudie: een metrische weergave maken met joins en gegevensmodellering voor een complexer voorbeeld met joins en geavanceerde metingen. Als u een metrische weergave wilt maken op basis van bestaande Tableau- of Power BI-assets, raadpleegt u Genie Code gebruiken om een Tableau- of Power BI-bestand te importeren.
Prerequisites
Voordat u een metrische weergave maakt, controleert u of u over de volgende machtigingen beschikt:
-
SELECTbevoegdheden voor de tabelachtige asset of SQL-query die als bron wordt gebruikt. -
CREATE TABLEenUSE SCHEMAbevoegdheden in het schema waarin u de metrische weergave wilt maken. -
USE CATALOGbevoegdheid voor de bovenliggende catalogus. -
CAN USEmachtiging voor een SQL-warehouse of een andere rekenresource waarop Databricks Runtime 17.3 of hoger wordt uitgevoerd.
Een metastore-beheerder of cataloguseigenaar kan al deze bevoegdheden verlenen. Een schema-eigenaar of gebruiker met MANAGE bevoegdheden kan het schema verlenen en USE SCHEMA bevoegdheden gevenCREATE TABLE.
Note
Het maken van een metrische weergave wordt ondersteund in Databricks Runtime 16.4 en hoger. Op deze pagina worden functies gebruikt waarvoor Databricks Runtime 17.3 of hoger is vereist, dus 17.3 is het minimum voor het voorbeeld. Voor afzonderlijke YAML-functies kan een latere runtime zijn vereist. Zie beschikbaarheid van metrische weergavefuncties voor de minimale runtime voor elke functie.
Een metrische weergave maken
Maak een metrische weergave in Catalog Explorer met behulp van een van de volgende methoden:
- UI-editor: definieer op het tabblad UI velden en metingen interactief, zonder code te schrijven.
-
YAML-editor: klik op de
<>knop om de definitie rechtstreeks te bewerken. Zie voor de syntaxis van de metrische weergave YAML-syntaxisreferentie. U kunt ook een YAML-definitie in een SQL-instructie gebruiken om een metrische weergave te maken. Zie Een metrische weergave definiëren in SQL of YAML voor het volledige voorbeeld in zowel YAML als SQL. -
Genie Code: open Genie Code vanuit het
knop in de rechterbovenhoek en beschrijf wat u in natuurlijke taal wilt. Zie Genie Code gebruiken.
In de volgende stappen worden het tabblad UI en de samples.tpch.orders tabel, die beschikbaar is in elke werkruimte, gebruikt om een voorbeeldweergave voor metrische verkoopanalyses te maken. De voltooide metrische weergave komt overeen met de definitie in Een metrische weergave definiëren in SQL of YAML. Zie Voorbeelddatasets voor meer informatie over deze gegevensset.
Stap 1: De metrische weergave maken en de editor openen
- Klik op
Catalogus in de zijbalk van de werkruimte.
- Gebruik de zoekbalk om te zoeken
samples.tpch.ordersen klik vervolgens op de tabelnaam. - Klik op Maken>Metrische weergave. Voer in het dialoogvenster Metrische gegevens maken een naam in, selecteer een catalogus en schemabestemming en klik vervolgens op Maken.
De editor wordt geopend op het tabblad UI . De editor voegt automatisch alle bronkolommen toe aan het tabblad Velden en voegt een voorbeeldmeting COUNT(*) toe.
Stap 2: Een join toevoegen
In het voorbeeld wordt de customer tabel samengevoegd, zodat klantkenmerken beschikbaar zijn als velden. Om de koppeling toe te voegen, klikt u op de knop Join in de rechterbovenhoek van de editor:
- Selecteer
samples.tpch.customeren klik op Toevoegen om lid te worden van de bron. - Voer
customerin als de deelnamenaam. - Gebruik de vervolgkeuzelijsten om de joinvoorwaarde in te stellen op
source.o_custkey = customer.c_custkey. Als u meer dan één joinkolom wilt toevoegen, klikt u op + Join Key. Als u een andere voorwaarde dan gelijkheid wilt instellen, klikt u op Expressie en verfijnt u de voorwaarde. - Onder Join-kardinaliteit, selecteer Veel-op-een. Zie Join-kardinaliteit voor hulp bij het kiezen van een kardinaliteit.
- Selecteer Hoogstens één overeenkomst onder Queryprestaties. Elke bestelling komt overeen met maximaal één klant, dus deze optimalisatie is veilig en wordt ingesteld
at_most_one_match: truein de YAML-definitie. - Klik op Deelnemen.
- Klik in het dialoogvenster Velden toevoegen op Alle kolommen toevoegen om alle kolommen uit de brontabel dynamisch te importeren. Als u in plaats daarvan afzonderlijke kolommen wilt toevoegen, slaat u deze stap over. Velden uit het gekoppelde object worden in de vervolgkeuzelijst weergegeven, samen met de velden uit de bron.
Joins koppelen de brontabel aan andere tabellen of query’s. Zie Werken met joins voor modelleringsconcepten, waaronder ster- en sneeuwvlokschema's en YAML-patronen.
Stap 3: Een filter definiëren
De volledige YAML-definitie verderop op deze pagina bevat een filter waarmee de metrische weergave wordt beperkt tot orders die na 1 januari 1990 zijn geplaatst.
Expressies invoeren met Opbouwfunctie of Aangepast
Wanneer u een filter, veld of meting definieert, stelt u de expressie in met behulp van een van de twee opties in de sectie Expressie :
- Opbouwfunctie: Selecteer uit contextbewuste vervolgkeuzelijsten en de editor stelt de SQL-expressie voor u samen.
- Aangepast: Voer de SQL-expressie rechtstreeks in.
De stappen die volgen gebruiken Builder voor eenvoudige kolomfilters, transformaties en aggregaties, en Aangepast voor expressies die Builder niet kan samenstellen, zoals CASE statements en samengestelde measures.
Het filter definiëren:
- Klik op
Filter in de rechterbovenhoek van de editor voor de metrische weergave.
- Stel de filterexpressie in:
- Selecteer in Opbouwfunctie de kolom
source.o_orderdate, de operatorGreater thanen de waarde1990-01-01. - Schrijf in Aangepast de SQL-expressie
source.o_orderdate > '1990-01-01'.
- Selecteer in Opbouwfunctie de kolom
Een filter is van toepassing op alle query's die verwijzen naar de metrische weergave. Zie Filters toepassen voor concepten voor filtermodellering en YAML-patronen.
Stap 4: Velden toevoegen
Wanneer u een filter, veld of meting definieert, stelt u de expressie in met behulp van een van de twee opties in de sectie Expressie :
- Opbouwfunctie: Selecteer uit contextbewuste vervolgkeuzelijsten en de editor stelt de SQL-expressie voor u samen. De beschikbare opties veranderen op basis van het kolomtype en de waarden.
- Aangepast: Voer de SQL-expressie rechtstreeks in.
De stappen die volgen, schakelen tussen de twee opties op basis van de complexiteit van elke expressie. Gebruik Builder voor eenvoudige kolomtransformaties en aggregaties en schakel over naar Aangepast voor expressies die builder niet kan opstellen, zoals CASE instructies en samengestelde metingen.
In het voorbeeld worden drie velden gedefinieerd: twee getransformeerde kolommen uit de bron en één kolom uit de gekoppelde customer tabel. Velden, ook wel dimensies genoemd, gedragen zich als normale tabelkolommen. Een veld kan een categorische kolom zijn die wordt gebruikt voor het groeperen en filteren, of een niet-geaggregeerde numerieke kolom die u tijdens de query kunt aggregeren. Zie Velden voor meer informatie over modelleringsvelden.
De editor voegt automatisch alle bronkolommen toe aan het tabblad Velden . Als u het voorbeeld wilt vergelijken, verwijdert u de kolommen die u niet nodig hebt, zodat alleen source.o_orderdate, source.o_orderstatusen customer.c_mktsegment blijven.
Een veld verwijderen:
- Klik op het tabblad Velden .
- Klik op het selectievakje links van de veldnaam om de velden te selecteren die u wilt verwijderen.
- Klik op Verwijderen.
Als u afzonderlijke velden wilt verwijderen, gebruikt u rechts van de veldnaam.
Wanneer u een veld bewerkt, kunt u ook metagegevens toevoegen:
- Weergavenaam: een beschrijvend label.
- Opmerking: een beschrijving van het veld.
- Synoniemen: alternatieve namen waarmee AI-hulpprogramma's het veld kunnen detecteren. Zie Synoniemen.
- Opmaak: aangepaste gegevensopmaak waarmee wordt bepaald hoe waarden worden weergegeven. Opmaak is alleen beschikbaar voor numerieke, datum- en datum-/tijdkolommen. Zie Opmaakspecificaties.
- Beheerde tags: beheerde tags voor classificatie en beheer.
Als u elk veld wilt definiëren, klikt u op de naam op het tabblad Velden , bouwt u de expressie en voegt u een optionele opmerking toe. Als u de transformatie wilt uitvoeren en het resultaat wilt weergeven, klikt u op .
Bestelmaand: Klik op Builder. Selecteer
source.o_orderdateen pas vervolgens een maandtransformatie toe om te producerenDATE_TRUNC('MONTH', source.o_orderdate). Voeg de opmerkingMonth of ordertoe.Orderstatus: klik op Aangepast. Voeg vervolgens de opmerking
Status of ordertoe en voer de volgende expressie in:CASE WHEN source.o_orderstatus = 'O' THEN 'Open' WHEN source.o_orderstatus = 'P' THEN 'Processing' WHEN source.o_orderstatus = 'F' THEN 'Fulfilled' ENDMarket Segment: Selecteer in Builder de
customer.c_mktsegmentkolom in de gekoppeldecustomertabel. Voeg de opmerkingCustomer market segmenttoe.
Stap 5: Metingen toevoegen
In het voorbeeld worden drie metingen gedefinieerd. Metingen zijn geaggregeerde expressies die zakelijke metrische gegevens produceren, zoals totale omzet of aantal orders. De editor voegt automatisch een COUNT(*) meting toe. U kunt deze bewerken of verwijderen.
Wanneer u een meting bewerkt, kunt u ook een weergavenaam, opmerking, synoniemen, opmaak en beheerde tags toevoegen, dezelfde metagegevens die beschikbaar zijn voor velden.
Als u elke meting wilt toevoegen, klikt u op het tabblad +, maakt u de expressie en voegt u een optionele opmerking toe. Als u de aggregatie wilt uitvoeren en het resultaat wilt weergeven, klikt u op . Wanneer u een meting toevoegt, worden Genie-suggesties boven aan het deelvenster van de metingseditor weergegeven; klik op een suggestie om die meting te maken.
-
Aantal orders: Selecteer in Builder de aggregatie Aantal die u wilt produceren
COUNT(1). Voeg de opmerkingTotal number of orderstoe. -
Totale omzet: selecteer en de aggregatie
source.o_totalpricedie moet worden geproduceerd inSUM(source.o_totalprice). Voeg de opmerkingSum of all order pricestoe. -
Totale omzet per klant: Voer in Aangepast
SUM(source.o_totalprice) / COUNT(DISTINCT source.o_custkey)in. Voeg de opmerkingAverage revenue per unique customertoe.
Als u een venstermeting wilt toevoegen voor tijdreeksberekeningen, zoals zwevende gemiddelden of lopende totalen, klikt u op + Venster tijdens het bewerken van de meting. Zie Vensterafmetingen.
Stap 6: De metrische weergave opslaan
Klik op Opslaan. De voltooide metrische weergave komt overeen met de definitie in Een metrische weergave definiëren in SQL of YAML.
Een metrische weergave definiëren in SQL of YAML
In plaats van een metrische weergave te bouwen in de gebruikersinterface, kunt u deze rechtstreeks definiëren in YAML of in SQL met behulp van de CREATE VIEW instructie met de WITH METRICS component. Hier volgt de volledige definitie van de metrische voorbeeldweergave. Het is een gefilterde weergave van samples.tpch.orders gekoppeld aan samples.tpch.customer, met velden voor ordermaand, orderstatus en klantmarktsegment, en metingen voor het aantal bestellingen, de totale omzet en de omzet per klant.
Note
In deze voorbeelden wordt het fields trefwoord gebruikt. Wanneer u een metrische weergave in de editor met weinig code maakt, wordt in plaats daarvan het equivalente dimensions trefwoord gebruikt voor de YAML die wordt gegenereerd. Zie Velden.
YAML-definitie
Als u de metrische weergave rechtstreeks in YAML wilt definiëren, gebruikt u de volgende definitie:
De YAML-definitie weergeven
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'
Voor volledige details van de YAML-syntaxis, zie de metrische weergave YAML-syntaxis naslaginformatie.
SQL-opdracht
Als u de metrische weergave in SQL wilt maken, verpakt u de YAML-definitie in een CREATE VIEW instructie met de WITH METRICS component en plaatst u de YAML tussen $$ scheidingstekens:
De SQL-instructie weergeven
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"
$$
Velden en metingen bulksgewijs importeren met jokertekens
Van toepassing op: Databricks Runtime 18.2 en hoger met YAML-specificatie 1.1
In plaats van elk veld weer te geven, kunt u een jokerteken in een expr veld gebruiken om alle kolommen uit de bron of een gekoppelde tabel te importeren. Dit is handig wanneer u wilt dat de metrische weergave elke kolom uit een upstream-asset beschikbaar maakt. Laat name weg bij een jokerteken, omdat Azure Databricks elke kolomnaam uit de bron afleidt. U kunt jokertekens combineren met expliciet gedefinieerde velden en metingen.
Met de volgende definitie worden alle velden uit de bron geïmporteerd, behalve één, een veld uit de gekoppelde customer tabel toegevoegd en een expliciete meting gedefinieerd:
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)
Voor de volledige jokertekensyntaxis, inclusief het importeren van alle kolommen uit een gekoppelde tabel (customer.*), structuitbreiding en het oplossen van naamconflicten, raadpleegt u Velden en metingen bulksgewijs importeren met jokertekens.
Genie Code gebruiken
Genie Code is een AI-assistent die u opent via de knop in de rechterbovenhoek van het editorvenster. Beschrijf wat u in natuurlijke taal wilt en Genie Code werkt de definitie van de metrische weergave voor u bij. Genie Code is contextbewust: op het tabblad UI wordt de editor voor u bijgewerkt en in de YAML-editor wordt YAML ingevoegd.
Als u één meting wilt toevoegen aan een bestaande metrische weergave, beschrijft u deze:
Als u een volledige metrische weergave wilt maken op basis van een beschrijving in natuurlijke taal, beschrijft u deze in Genie Code. Het resultaat is een definitie die vergelijkbaar is met het voorbeeld op deze pagina; de exacte veldnamen en opmerkingen kunnen variëren.
Tip
Laat Genie Code (agentmodus) dit voor u doen:
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.
U kunt ook een metrische weergave maken door een Tableau- of Power BI-bestand te importeren. Zie Genie Code gebruiken om een Tableau- of Power BI-bestand te importeren.
Aanvullende informatiebronnen
Nadat u een metrische weergave hebt gemaakt, gebruikt u de volgende resources om uw werk te doorzoeken, te modelleren en te beheren.
- Metrische weergaven opvragen: Vraag metrische weergaven op vanuit SQL-editors, notebooks, dashboards en waarschuwingen.
- Weergaven van modelstatistieken: modelbronnen, velden, metingen, filters en koppelingen.
- Metrische weergaven beheren: toegang beheren, samenwerking inschakelen en de levenscyclus van de metrische weergave beheren.
- Naslaginformatie over de YAML-syntaxis van de metrische weergave: Verwijs naar de volledige YAML-specificatie voor de metrische weergave.