Sélections en cascade et externes

Les sélections en cascade permettent de restreindre une liste de réponses disponibles d’après la réponse à une question précédente. Leur contenu peut être stocké dans le formulaire XLSForm même ou dans un fichier externe.

Sélections en cascade

Les sélections en cascade permettent de restreindre une liste de réponses disponibles d’après la réponse à une question précédente. Elles facilitent l’utilisation des enquêtes en restreignant la taille des listes de choix, de manière à présenter uniquement les options pertinentes pour les utilisateurs.

Pour chaque liste de choix dans la hiérarchie, procédez comme suit :

  • Saisissez les valeurs pour les listes de choix dans l’onglet choix.
  • Ajoutez une ou plusieurs colonnes pour les critères de sélection en cascade (par exemple, pays, état, ville, banlieue).
  • Saisissez la valeur pertinente pour chaque choix dans les colonnes supplémentaires.

Il n’est pas recommandé d’inclure des noms de choix dupliqués dans une liste de choix. Pour plus d’informations, reportez-vous à la rubrique Questions à choix multiples.

Une fois les listes de choix renseignées, vous devez créer une colonne choice_filter dans l’onglet survey (enquête). Cette colonne contient l’expression utilisée pour restreindre vos listes de choix. La colonne choice_filter peut accepter le contenu d’un autre champ (state=${state_1}, par exemple) ou d’une autre expression (selected(${states_visited},state_code), par exemple).

Pour voir les sélections en cascade en action, consultez le modèle Choice Filters and Cascading Selects (Filtres de choix et sélections en cascade) dans Survey123 Connect.

Vous pouvez utiliser les sélections en cascade avec les questions select_one, select_multiple et rank. Les sélections en cascade ne sont pas prises en charge pour les questions rank dans l’application Web Survey123.

Conseil :

Lors de la révision des résultats d’une enquête contenant une question qui utilise une sélection en cascade, seul le nom du choix soumis s’affiche. Ceci diffère du comportement des questions de type select_one ou select_multiple sans filtre de choix, pour lesquelles c’est l’étiquette du choix qui s’affiche.

Utilisez la fonction jr:choice-name() dans une autre question pour renvoyer et stocker l’étiquette associée au choix d’une question. En principe, ceci peut être représenté par jr:choice-name(string value, 'question name').

Dans jr:choice-name(${city_choice}, '${city_choice}'), le premier paramètre représente la valeur sélectionnée et le second correspond au nom de la question. Vous devez définir le nom de votre question entre guillemets doubles.

Pour les questions à choix multiples, vous devez utiliser la fonction selected-at() afin d’extraire l’étiquette des réponses individuelles. Par exemple :

jr:choice-name(selected-at(${city_choice}, 1), '${city_choice}')

Vous pouvez utiliser la fonction jr:choice-name() dans des questions de type chaîne. Lorsque vous utilisez une question masquée, définissez également ses propriétés bind::esri:fieldType et bind::esri:fieldAlias.

Attention :

En commençant par Survey123 version 3.12, les listes de choix sont gérées via une base de données interne. Cela signifie que vous ne pouvez pas utiliser les mots clés réservés SQLite pour les noms de colonne dans les sélections en cascade et externes

Sélections externes

Les listes de choix associées à des sélections en cascade peuvent devenir très longues, ce qui a une incidence sur les performances de vos formulaires. Survey123 offre une option permettant d’enregistrer ces listes dans un fichier externe et de les charger dans l’enquête à la demande.

Pour implémenter cette option, créez un onglet dans la feuille de calcul de l’enquête, nommé external_choices (choix_externes). Ce nouvel onglet doit contenir les mêmes en-têtes de colonne que l’onglet choices (choix). Lorsque l’enquête est publiée, les valeurs contenues dans l’onglet external_choices sont enregistrées dans le fichier nommé itemsets.csv dans le dossier média de votre projet d’enquête, et non dans le cadre de l’élément de formulaire. Pour référencer la liste de choix sous l’onglet external_choices, utilisez select_one_external avant le nom de la liste.

Les sélections externes sont différentes d’une liste de choix externes, qui ne requiert pas la feuille de calcul external_choices.

Remarque :

Les sélections externes ne sont possibles que pour les questions select_one. Elles ne sont pas prises en charge pour les questions select_multiple.

Les sélections externes sont conçues pour fonctionner avec des listes de choix associées à une sélection en cascade. Seuls les choix auxquels est appliqué un filtre de choix sont ajoutés au fichier itemsets.csv.