Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Parametersyntaxen för Mustache stöds endast i den äldre SQL-redigeraren. Databricks rekommenderar att du använder namngivna parametermarkörer för nya frågor. Om du kopierar en fråga med mustaschsyntax till en notebook-fil, AI/BI-instrumentpanelsdatauppsättningsredigerare eller Genie-utrymme måste du konvertera den till namngivna parametermarkörer innan den körs.
I den äldre SQL-redigeraren behandlas alla strängar som omsluts av dubbla klammerparenteser ({{ }}) som en frågeparameter. En widget visas ovanför resultatfönstret där du anger parametervärdet.
Lägga till en mustaschparameter
- Tryck på
Cmd + I. Parametern infogas vid markörens position och dialogrutan Lägg till parameter visas. - Ange nyckelordet, ändra rubrik och välj en typ.
- Klicka på Lägg till parameter.
- Ange parametervärdet i widgeten.
- Klicka på Tillämpa ändringar.
- Klicka på Spara.
Du kan också skriva {{ }} direkt i frågan och klicka på kugghjulsikonen i parameterwidgeten för att konfigurera den.
Om du vill köra frågan igen med ett annat värde uppdaterar du widgeten och klickar på Tillämpa ändringar.
Redigera, ta bort och ändra ordning på parametrar
Redigera: Klicka på kugghjulsikonen bredvid parameterwidgeten. Om du vill förhindra att användare som inte äger frågan ändrar parametervärdet klickar du på Visa endast resultat.
Ta bort: Ta bort parametermarkören från frågan. Widgeten tas bort automatiskt.
Ändra ordning: Klicka och dra parameterwidgetar till önskad ordning.
Widgettyper
Följande widgettyper är tillgängliga:
Text
Tar en sträng som indata. Omvänt snedstreck, enkla och dubbla citattecken är undantagna automatiskt. Azure Databricks lägger till citattecken runt värdet.
SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}
Siffra
Tar ett tal som indata.
SELECT * FROM users WHERE age = {{ number_param }}
Datum och tid
Parameteriserar datum- och tidsstämpelvärden. Det finns tre alternativ:
| Type | Noggrannhet |
|---|---|
| Datum | Dag |
| Datum och tid | Minut |
| Datum och tid (med sekunder) | Sekund |
Alla datum- och tidsvärden skickas som strängliteraler och måste omslutas med enkla citattecken i din fråga:
SELECT * FROM usage_logs WHERE date = '{{ date_param }}'
När du väljer alternativet Range skapar Azure Databricks två parametrar med .start och .end suffix:
SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'
Anmärkning
Widgeten Datumintervall returnerar endast korrekta resultat för DATEkolumner av typen -. För tidsstämpelkolumner använder du en widget för datum och tidsintervall.
Dynamiska datumvärden: Datumwidgetar innehåller en blå blixtikon. Klicka på den för att välja dynamiska värden som today, yesterday, this week, last week, last montheller last year. Dessa värden uppdateras automatiskt.
Viktigt!
Dynamiska datumvärden är inte kompatibla med schemalagda frågor.
Listruta
Begränsar indata till en fördefinierad statisk lista. Stödjer både enkelvärdes- och flervärdesval.
Enskilt värde: Omslut parametern med enkla citattecken i frågan.
Flera värden: Aktivera Tillåt flera värden i widgetinställningarna. Använd alternativet Citat för att styra om värden är omslutna med enkla citattecken, dubbla citattecken eller inga.
WHEREUppdatera satsen så att den använderIN:SELECT * FROM orders WHERE status IN ( {{ status_param }} )Med dubbla citattecken markerade resulterar frågan i:
WHERE status IN ("value1", "value2", "value3").
Rullgardinsmenyns värden är strängar. Om du vill använda datum eller tidsstämplar anger du dem i det format som datakällan kräver.
Query-Based listruta
Fyller alternativ för listrutan från en sparad fråga. Fungerar som listrutan, men alternativen är dynamiska.
- Under Typ i inställningspanelen väljer du Frågebaserad listruta.
- Klicka på fältet Fråga och välj en sparad fråga.
Om frågan returnerar mer än en kolumn använder Azure Databricks den första kolumnen. Om frågan returnerar kolumner med namnet name och value, visar widgeten name-kolumnen, men skickar den associerade value till frågan vid körning.
Exempel:
SELECT user_uuid AS 'value', username AS 'name' FROM users
| value | Namn |
|---|---|
| 1001 | John Smith |
| 1002 | Jane Doe |
| 1003 | Bobby-tabeller |
Värdet som skickas till databasen vid körning är 1001, 1002 eller 1003, inte visningsnamnet.
Anmärkning
Prestanda försämras om källförfrågan returnerar ett stort antal dataposter.