Syntaxe parametru Mustache

Důležité

Syntaxe parametru Mustache je podporována pouze v starším editoru SQL. Databricks doporučuje pro nové dotazy používat pojmenované značky parametrů . Pokud zkopírujete dotaz pomocí syntaxe mustache do poznámkového bloku, editoru datových sad řídicího panelu AI/BI nebo prostoru Genie, musíte ho před spuštěním převést na pojmenované značky parametrů.

Ve starší verzi editoru SQL se všechny řetězce zabalené do dvojitých složených závorek ({{ }}) považují za parametr dotazu. Widget se zobrazí nad podoknem výsledků, kde nastavíte hodnotu parametru.

Přidání parametru mustache

  1. Stiskněte Cmd + I. Parametr se vloží na pozici kurzoru a zobrazí se dialogové okno Přidat parametr .
  2. Zadejte klíčové slovo, volitelně změňte název a vyberte typ.
  3. Klikněte na Přidat parametr.
  4. Nastavte hodnotu parametru ve widgetu.
  5. Klikněte na Použít změny.
  6. Klikněte na Uložit.

Případně můžete zadat {{ }} přímo do dotazu a kliknutím na ikonu ozubeného kola ve widgetu parametrů ho nakonfigurovat.

Pokud chcete dotaz znovu spustit s jinou hodnotou, aktualizujte widget a klikněte na Použít změny.

Úprava, odebrání a změna pořadí parametrů

Upravit: Klikněte na ikonu ozubeného kola vedle widgetu parametrů. Pokud chcete uživatelům, kteří dotaz nevlastní, zabránit změně hodnoty parametru, klikněte na Zobrazit pouze výsledky.

Odstraňte: Odstraňte z dotazu značku parametru. Widget se odebere automaticky.

Změnit pořadí: Klikněte a přetáhněte widgety parametrů do požadovaného pořadí.

Typy widgetů

K dispozici jsou následující typy widgetů:

Text

Přebírá řetězec jako vstup. Zpětné lomítko, jednoduché a dvojité uvozovky se zpracovávají automaticky unikáním. Azure Databricks přidává uvozovky kolem hodnoty.

SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}

Number

Přebírá číslo jako vstup.

SELECT * FROM users WHERE age = {{ number_param }}

Datum a čas

Parametrizuje hodnoty data a časového razítka. K dispozici jsou tři možnosti:

Typ Přesnost
Date Den
Datum a čas Minuta
Datum a čas (s sekundami) Second

Všechny hodnoty data a času se předávají jako řetězcové literály a musí být zabalené do jednoduchých uvozovek v dotazu:

SELECT * FROM usage_logs WHERE date = '{{ date_param }}'

Když vyberete možnost Range, Azure Databricks vytvoří dva parametry pomocí přípon .start a .end:

SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'

Poznámka:

Widget Rozsah dat vrátí správné výsledky pouze pro sloupce typu DATE. Pro sloupce s časovými razítky použijte widget pro rozsah data a času.

Dynamické hodnoty kalendářních dat: Widgety data obsahují modrou ikonu blesku. Kliknutím na ni vyberete dynamické hodnoty, například today, yesterday, this week, last week, last monthnebo last year. Tyto hodnoty se aktualizují automaticky.

Důležité

Dynamické hodnoty kalendářních dat nejsou kompatibilní s naplánovanými dotazy.

Omezí vstup na předdefinovaný statický seznam. Podporuje výběr s jednou hodnotou i více hodnotami.

  • Jedna hodnota: Zabalte parametr do jednoduchých uvozovek v dotazu.

  • Více hodnot: Povolit více hodnot v nastavení widgetu Pomocí možnosti Uvozovky můžete určit, jestli jsou hodnoty zabalené do jednoduchých uvozovek, dvojitých uvozovek nebo žádných. Aktualizujte klauzuli WHERE tak, aby používala IN:

    SELECT * FROM orders WHERE status IN ( {{ status_param }} )
    

    Při výběru dvojitých uvozovek se dotaz přeloží na: WHERE status IN ("value1", "value2", "value3").

Hodnoty rozevíracího seznamu jsou řetězce. Pokud chcete použít kalendářní data nebo časová razítka, zadejte je ve formátu, který váš zdroj dat vyžaduje.

Rozevírací seznam založený na dotazech

Naplní volby rozevíracího seznamu z uloženého dotazu. Chová se jako rozevírací seznam, ale možnosti jsou dynamické.

  1. V části Typ na panelu nastavení vyberte rozevírací seznam založený na dotazu.
  2. Klikněte na pole Dotaz a vyberte uložený dotaz.

Pokud dotaz vrátí více než jeden sloupec, Azure Databricks použije první sloupec. Pokud dotaz vrátí sloupce pojmenované name a value, widget zobrazí sloupec name, ale za běhu předá k dotazu přidružený value.

Příklad:

SELECT user_uuid AS 'value', username AS 'name' FROM users
value název
1001 John Smith
1002 Jane Doe
1003 Bobby Tables

Hodnota předaná databázi za běhu je 1001, 1002nebo 1003, nikoli zobrazovaný název.

Poznámka:

Výkon se sníží, pokud zdrojový dotaz vrátí velký počet záznamů.