Syntaxe de paramètre Mustache
La syntaxe des paramètres Mustache est prise en charge uniquement dans l'éditeur SQL hérité. Databricks recommande d’utiliser des marqueurs de parameter nommés pour les nouvelles query. Si vous copiez une query utilisant la syntaxe Mustache dans un Notebook, un éditeur de dataset de AI/BI dashboard ou Genie Agent, vous devez la convertir en marqueurs de paramètres nommés avant qu'elle ne s'exécute.
Dans l'éditeur SQL hérité, toute chaîne entre accolades doubles ({{ }}) est traitée comme un paramètre de requête. Un widget apparaît au-dessus du volet des résultats où vous définissez la valeur du parameter.
Ajouter un paramètre mustache
- Appuyez sur
Cmd + I. Le paramètre est inséré à la position du curseur et la boîte de dialogue Ajouter un paramètre s'affiche. - Saisissez le **mot-clé**, modifiez éventuellement le **titre** et sélectionnez un **type**.
- Cliquez sur Ajouter un paramètre .
- Définissez la valeur du paramètre dans le widget.
- Cliquez sur **Appliquer les modifications**.
- Cliquez sur Enregistrer .
Sinon, saisissez {{ }} directement dans la requête et cliquez sur l'icône d'engrenage dans le widget de paramètre pour le configurer.
Pour réexécuter la query avec une valeur différente, mettez à jour le widget et cliquez sur Appliquer les modifications .
Modifier, supprimer et réorganiser les paramètres
Modifier : cliquez sur l'icône d'engrenage à côté du widget de paramètre. Pour empêcher les utilisateurs qui ne sont pas propriétaires de la query de modifier la valeur du parameter, cliquez sur Afficher les résultats uniquement .
Supprimer : Supprimez le marqueur de paramètre de la requête. Le widget est supprimé automatiquement.
Réorganiser : Cliquez et faites glisser les widgets de parameter dans l'ordre souhaité.
Types de widgets
Les types de widget suivants sont disponibles :
Texte
Prend une chaîne en entrée. La barre oblique inverse, les guillemets simples et doubles sont automatiquement échappés. Databricks ajoute des guillemets autour de la valeur.
SELECT * FROM samples.tpch.customer WHERE c_name = {{ name_param }}
Nombre
Prend un nombre en entrée.
SELECT * FROM users WHERE age = {{ number_param }}
Date et heure
Paramétrer les valeurs de date et de Timestamp. Trois options sont disponibles :
Type | Précision |
|---|---|
Date | jour |
Date et heure | minute |
Date et heure (avec secondes) | seconde |
Toutes les valeurs de date et d'heure sont transmises sous forme de littéraux de chaîne et doivent être placées entre guillemets simples dans votre query :
SELECT * FROM usage_logs WHERE date = '{{ date_param }}'
Lorsque vous sélectionnez l'option **Plage**, Databricks crée deux paramètres en utilisant .start les .end suffixes et :
SELECT * FROM usage_logs
WHERE modified_time > '{{ date_range.start }}'
AND modified_time < '{{ date_range.end }}'
Le widget Plage de dates ne renvoie des résultats corrects que pour les colonnes de type DATE. Pour les colonnes Timestamp, utilisez un widget Plage de dates et d'heures.
Valeurs de date dynamiques : les widgets de date comprennent une icône en forme d’éclair bleu. Cliquez dessus pour sélectionner des valeurs dynamiques telles que today, yesterday, this week, last week, last month ou last year. Ces valeurs se mettent à jour automatiquement.
Les valeurs de date dynamiques ne sont pas compatibles avec les query planifiées.
Liste déroulante
Restreint l'entrée à une liste statique prédéfinie. Prend en charge la sélection de valeur unique et de valeurs multiples.
-
Valeur unique : Enveloppez le parameter entre guillemets simples dans la query.
-
Valeurs multiples : Activez Autoriser plusieurs valeurs dans les paramètres du widget. Utilisez l’option Guillemets pour contrôler si les valeurs sont entourées de guillemets simples, de guillemets doubles ou d’aucun. Mettez à jour votre clause
WHEREpour utiliserIN:SQLSELECT * FROM orders WHERE status IN ( {{ status_param }} )Avec les guillemets doubles sélectionnés, la query se résout en :
WHERE status IN ("value1", "value2", "value3").
Les valeurs de liste déroulante sont des chaînes de caractères. Pour utiliser des dates ou des Timestamp, saisissez-les au format requis par votre source de données.
Liste déroulante basée sur des query
Remplit les choix de la liste déroulante à partir d'une query enregistrée. Se comporte comme un menu déroulant, mais les options sont dynamiques.
- Sous Type dans le panneau des paramètres, sélectionnez Query Based Dropdown list .
- Cliquez sur le champ **Query** et sélectionnez une query enregistrée.
Si la query renvoie plus d'une colonne, Databricks utilise la première colonne. Si la requête renvoie des colonnes nommées name et value, le widget affiche la colonne name mais transmet le value associé à la requête lors de l'exécution.
Exemple :
SELECT user_uuid AS 'value', username AS 'name' FROM users
Valeur | Nom |
|---|---|
1001 | John Smith |
1002 | Jane Doe |
1003 | Bobby Tables |
La valeur transmise à la base de données au moment de l'exécution est 1001, 1002 ou 1003, et non le nom d'affichage.
Les performances se dégradent si la query source renvoie un grand nombre d’enregistrements.