Travailler avec les widgets de parameter
Lorsque vous ajoutez un marqueur de paramètre nommé à une requête, Databricks affiche un widget de paramètre dans l'interface utilisateur. Les widgets permettent aux utilisateurs de définir des valeurs de paramètres sans modifier directement la query. Vous pouvez configurer le type, le titre et la valeur default de chaque widget.
Les widgets de parameter sont pris en charge dans l’éditeur SQL, les notebooks, les tableaux de bord AI/BI et les Agents Genie, mais leur comportement varie selon ces interfaces. Cette page décrit les widgets de parameter dans l’éditeur SQL. Pour les autres domaines, consultez :
- Travailler avec les paramètres de tableau de bord pour les tableaux de bord
- Ajouter des parameters de query pour les Agents Genie
- Widgets Databricks pour notebooks
Dans l'éditeur SQL, tout type de parameter (String, Integer, Decimal, Date, Timestamp) peut utiliser n'importe quel type de widget.
Syntaxe des paramètres dans le nouvel éditeur SQL
Le nouvel éditeur SQL utilise la syntaxe des paramètres nommés, la même syntaxe utilisée par d'autres outils Databricks comme les tableaux de bord AI/BI, les agents Genie et les notebooks. Les paramètres nommés sont précédés d'un signe deux-points, par exemple :parameter_name. Consultez les marqueurs de paramètres nommés pour la documentation de référence SQL.
Vous devez modifier les requêtes écrites dans l'éditeur SQL hérité qui utilisent des doubles accolades ( {{}} ) pour marquer les paramètres avant de pouvoir les exécuter dans le nouvel éditeur SQL. Consultez Exemples de syntaxe des paramètres nommés pour des exemples de conversion de la syntaxe des paramètres de l'éditeur SQL hérité vers les marqueurs de paramètres nommés.
Configurez un widget de parameter
-
Ajoutez un marqueur de paramètre nommé à votre requête. Un widget apparaît dans l'interface utilisateur.
-
Cliquez sur l'icône en forme d'engrenage à côté du widget pour ouvrir la boîte de dialogue du widget.

-
Définissez les champs suivants :
- Nom du parameter : Le nom du parameter tel qu'il apparaît dans la query. Si vous modifiez le nom du parameter, dans la boîte de dialogue du widget, vous devez également le modifier dans la query.
- **Libellé du widget** : une chaîne qui décrit le widget
- Type de widget : Contrôle la manière dont les utilisateurs saisissent la valeur. Voir les types de widget ci-dessous.
- **Type de paramètre** : Le type de données du paramètre. Voir Types de paramètres.
-
Cliquez en dehors de la boîte de dialogue du widget pour enregistrer vos modifications.
Modifier, supprimer et réorganiser les widgets
Modifier : cliquez sur l'icône en forme d'engrenage à côté du widget pour rouvrir le volet des paramètres.
Supprimer : Supprimez le marqueur de paramètre de la requête. Le widget est supprimé automatiquement.
Réorganiser : Utilisez la poignée de glissement à gauche d’un widget pour le réorganiser.
Types de widgets
Databricks prend en charge les types de widgets suivants pour les query parameters :
Type de widget | Description |
|---|---|
Les utilisateurs doivent choisir à partir d’une liste prédéfinie. | |
Les utilisateurs peuvent choisir parmi une liste prédéfinie ou saisir une valeur personnalisée. | |
Accepte toute valeur de forme libre sans suggestion. | |
Les utilisateurs peuvent sélectionner plus d'une valeur dans une liste prédéfinie. | |
Renseigne les choix à partir d'une query enregistrée au lieu d'une liste statique. | |
Définit une plage de start et de fin à l’aide des paramètres |
Saisie de texte
Accepte une valeur de forme libre directement de l’utilisateur. Utilisez ce widget lorsqu'aucune option prédéfinie n'est nécessaire.
SELECT * FROM samples.tpch.region WHERE r_name = :region_param
Menu déroulant
Présente une liste de valeurs prédéfinie. Les utilisateurs doivent sélectionner dans la liste — la saisie libre n'est pas autorisée. Saisissez les valeurs autorisées dans le volet des paramètres, une par ligne.
SELECT * FROM samples.tpch.orders WHERE o_orderstatus = :status_param
Pour créer un type de widget déroulant :
- Cliquez sur l'icône d'engrenage à côté du widget
:status_param. - Définissez le **type de widget** sur **liste déroulante**.
- Définissez le **type de paramètre** sur **Chaîne**.
- Saisissez les valeurs dans le champ de saisie de texte Choix pour la valeur du paramètre . Cliquez sur Ajouter ou appuyez sur Entrée entre chaque valeur.
Boîte combinée
Présente une liste prédéfinie de valeurs suggérées, mais permet également aux utilisateurs de saisir une valeur personnalisée ne figurant pas dans la liste. Utilisez une boîte combinée lorsque des options courantes sont utiles par commodité, mais que vous souhaitez autoriser la saisie de texte libre.
SELECT * FROM samples.tpch.part WHERE p_brand = :brand_param
Sélection multiple
Permet aux utilisateurs de sélectionner plusieurs valeurs à partir d'une liste prédéfinie. Les valeurs sélectionnées sont transmises à la requête sous forme de collection.
SELECT * FROM samples.nyctaxi.trips WHERE
array_contains(
TRANSFORM(SPLIT(:list_parameter, ','), s -> TRIM(s)),
CAST(dropoff_zip AS STRING)
)
Pour ajouter des options à une liste déroulante de sélection multiple :
- Cliquez sur l'icône d'engrenage à côté du widget
list_parameter. - Définissez **Type de widget** sur **Sélection multiple**.
- Définissez le **type de paramètre** sur **Chaîne**.
- Saisissez les valeurs dans le champ de saisie de texte Choix pour la valeur du paramètre . Cliquez sur Ajouter ou appuyez sur Entrée entre chaque valeur.
Menu déroulant dynamique
Les widgets déroulants dynamiques sont disponibles uniquement dans l'éditeur SQL, pas dans les notebooks.
Remplit la liste de choix à partir d'une query enregistrée au lieu d'une liste statique. À mesure que les données sous-jacentes changent, les options disponibles se mettent à jour automatiquement.
Pour utiliser un menu déroulant dynamique :
-
Créez et enregistrez une requête qui renvoie les valeurs que vous souhaitez dans la liste déroulante :
SQLSELECT DISTINCT c_mktsegment FROM samples.tpch.customer ORDER BY c_mktsegment -
Dans une query nouvelle ou existante, ajoutez un marqueur de parameter nommé :
SQLSELECT c_custkey, c_name, c_acctbal
FROM samples.tpch.customer
WHERE c_mktsegment = :segment_param -
Cliquez sur l'icône d'engrenage à côté du widget
segment_param. -
Définissez Type de widget sur Liste déroulante dynamique .
-
Cliquez sur le champ query pour ouvrir la boîte de dialogue Sélectionner une query existante . Sélectionnez la query enregistrée à l'étape 1, puis cliquez sur Sélectionner .
-
Choisissez une default parameter value .
-
Cliquez sur **Appliquer les modifications**.
Une liste déroulante dynamique affiche un maximum de 1 024 valeurs. Si la **query** enregistrée renvoie plus de 1 024 valeurs, le widget n’affiche que les 1 024 premières et n’affiche pas le reste.
Plage de dates et de Timestamp
Les parameters Date et Timestamp prennent en charge un type de widget Range . Une fois sélectionné, Databricks crée deux parameters à l'aide des suffixes .min et .max pour définir le start et la fin de la plage.
SELECT * FROM samples.nyctaxi.trips
WHERE tpep_pickup_datetime
BETWEEN CAST(:date_range_min AS TIMESTAMP) AND CAST(:date_range_max AS TIMESTAMP)
Cliquez sur l'icône de l'éclair bleu pour sélectionner des valeurs dynamiques telles que today, yesterday, this week, last week, last month ou last year. Ces valeurs sont mises à jour automatiquement.
Les valeurs de date dynamiques ne sont pas compatibles avec les query planifiées.