ArcGIS Survey123 prend en charge une grande partie de la spécification XLSForm. Ce guide de référence présente un récapitulatif des entités XLSForm que vous pouvez utiliser dans Survey123. Les enquêtes peuvent être créées à l’aide de Survey123 Connect ou du site Web Survey123. Certaines entités sont uniquement disponibles dans l’un ou l’autre, et certaines dans les deux.
Types de questions
Le tableau suivant décrit les types de questions disponibles dans Survey123 Connect, l’application de terrain Survey123, le concepteur Web Survey123 et l’application Web Survey123. Pour certaines questions, il existe des différences en matière de comportement et de mise en œuvre sur les plateformes ; consultez les notes figurant sous le tableau pour en savoir plus.
Type de question Survey123 Connect | Type de question du concepteur Web Survey123 | Description | Pris en charge dans l’application de terrain Survey123 | Pris en charge dans l’application Web Survey123 |
---|---|---|---|---|
audio⁴ | Audio⁴ ⁶ | Enregistre un clip audio dans l’application de terrain. Enregistre un clip audio ou accepte un fichier audio téléchargé dans l’application Web. | Oui | Oui |
barcode | Numérise un code à barres ou un QR Code. | Oui | Oui | |
begin group | Commence un groupe de questions. | Oui | Oui | |
begin repeat | N/D | Commence un ensemble de questions répétées. | Oui | Oui |
calculate | N/D | Effectue un calcul sur les valeurs contenues dans le formulaire. Le champ de calcul contient le résultat du calcul. | Oui | Oui |
decimal¹ | Saisie de nombre décimal. | Oui | Oui | |
date | Saisie de date. | Oui | Oui | |
dateTime | Saisie de date et heure. | Oui | Oui | |
deviceid | N/D | UUID représentant l’appareil spécifique sur lequel l’enquête a été exécutée. | Oui | Non |
e-mail² | N/D | Lorsque vous êtes connecté avec un compte d’organisation, cette question est renseignée automatiquement avec l’adresse e-mail de l'utilisateur du compte. | Oui | Oui |
à la fin | N/D | Date et heure de fin de l’enquête. | Oui | Oui |
end group | Termine un groupe de questions. | Oui | Oui | |
end repeat | N/D | Termine un ensemble de questions répétées. | Oui | Oui |
fichier | Accepte un fichier sur l’appareil. | Oui | Oui | |
geopoint³ | Recueille des coordonnées GPS. Prend par défaut la valeur de la localisation actuelle. | Oui | Oui | |
geoshape³ | Collecte un polygone sur une carte. | Oui | Oui | |
geotrace³ | Collecte une ligne sur une carte. | Oui | Oui | |
masqué | N/D | Crée un champ dans votre couche d’entités qui ne s’affiche pas dans le formulaire. Utilisez les colonnes bind::esri:fieldType et bind::esri:fieldLength pour préciser le schéma de date pour ce champ. | Oui | Oui |
integer¹ | Saisie de nombre entier. | Oui | Oui | |
image | Accepte une image issue de fichiers d’un appareil ou d’une photo prise directement. | Oui | Oui | |
note | Affiche du texte à l’écran. Permet aussi de gérer des calculs masqués. | Oui | Oui | |
plage | Curseur⁶ | Saisie d’une plage de nombres. | Oui | Oui |
rank list_name | Question de type Classement ; classe une liste de choix. Remplacez list_name par le nom de votre liste de choix. | Oui | Oui | |
select_one list_name | Menu déroulant⁵ ⁶, Échelle de Likert⁵ ⁶, Évaluation⁶, Sélection unique⁶, Grille à sélection unique⁶ | Question à choix multiples ; une seule réponse peut être sélectionnée. Remplacez list_name par le nom de votre liste de choix. | Oui | Oui |
select_one_from_file file_name.csv | N/D | Question à choix multiples ; une seule réponse peut être sélectionnée. Remplacez file_name.csv par le nom du fichier situé dans le dossier media de l’enquête qui contient la liste des choix. | Oui | Oui |
select_multiple list_name | Question à choix multiples ; plusieurs réponses peuvent être sélectionnées. Remplacez list_name par le nom de votre liste de choix. | Oui | Oui | |
select_multiple_from_file file_name.csv | N/D | Question à choix multiples ; plusieurs réponses peuvent être sélectionnées. Remplacez file_name.csv par le nom du fichier situé dans le dossier media de l’enquête qui contient la liste des choix. | Oui | Oui |
start | N/D | Date et heure de début de l’enquête. | Oui | Oui |
Texte | Adresse⁶, Courrier électronique⁶, Texte multiligne⁵ ⁶, Texte uniligne⁶, Site Web⁶ | Réponse sous forme de texte libre. Une expression régulière est appliquée pour les courriers électroniques et les sites Web. L’apparence de type geocode s’applique à une adresse. | Oui | Oui |
heure | Saisie d’heure. | Oui | Oui | |
nom d’utilisateur | N/D | Lorsque vous êtes connecté avec un compte d’organisation, cette question est renseignée automatiquement avec le nom d'utilisateur du compte. | Oui | Oui |
¹Le concepteur Web combine les questions comportant des nombres entiers et décimaux en un seul type de question nommé Nombre. Une case à cocher dans les propriétés de la question permet au concepteur de l’enquête de définir le type d’entrée requis.
²Les questions de type courrier électronique dans Survey123 Connect et dans le concepteur Web Survey123 sont mises en œuvre différemment. L’implémentation dans Survey123 Connect renseigne automatiquement l’adresse électronique du compte d’organisation auquel l’utilisateur est connecté. L’implémentation dans le concepteur Web Survey123 est un champ de texte autorisant uniquement un format correspondant à une adresse électronique.
Les questions de type geopoint, geotrace et geoshape ont été fusionnées en un seul type de question nommé Carte. Une case à cocher dans les propriétés de la question permet au concepteur de l’enquête de définir le type d’entrée requis. Un type de question supplémentaire nommé Adresse autorise l’envoi de points géocodés.
⁴Les questions audio ne peuvent pas être téléchargées dans l’application de terrain Survey123, comme c’est le cas dans l’application Web. Pour pouvoir télécharger une question audio dans l’application de terrain, utilisez une question de type fichier.
⁵Plusieurs apparences disponibles dans Survey123 Connect ne sont disponibles que sous la forme de types de questions distinctes dans le concepteur Web Survey123. Cela inclut Texte multiligne, Menu déroulant et Échelle de Likert.
⁶Pour chaque question, le concepteur Web fournit une option permettant de mettre en cache la réponse. Dans l’application Web , après l’envoi d’un enregistrement d’enquête, la réponse à la question est mise en cache dans le navigateur et est préchargée lors de la soumission suivante effectuée pour cette enquête sur le même appareil. La mise en cache d’une réponse peut être définie pour tous les types de questions à l’exception des types Audio, Image, Téléchargement de fichiers et Signature.
Colonnes de feuille de calcul d’enquête
Le tableau suivant contient toutes les colonnes prises en charge par Survey123. Ces colonnes sont incluses dans la feuille de calcul de l’enquête dans le modèle Avancé ; elles figurent dans cette table dans leur ordre d’affichage au sein de la feuille de calcul.
Colonne | Description |
---|---|
type | Sélectionnez un type de question dans la liste fournie. Saisissez un nom de liste valide si vous utilisez une question à choix unique ou à choix multiple. |
nom | Nom du champ de la couche d’entités. |
label | L’étiquette des questions affichées dans votre enquête. |
hint | Informations permettant de répondre plus facilement à la question de l’enquête. |
guidance_hint | Informations supplémentaires qui s’affichent uniquement lorsque l’utilisateur clique sur une icône. |
appearance | Sélectionnez l’apparence de ce champ dans votre enquête. |
required | Sélectionnez yes (oui) pour demander une valeur dans ce champ avant de réaliser l’enquête. |
required_message | Lorsqu’un champ obligatoire n’a pas de réponse, le message dans cette colonne apparaît pour demander une réponse. |
readonly | Sélectionnez yes (oui) pour définir les valeurs de ce champ en lecture seule. Ces valeurs ne peuvent pas être mises à jour dans l’enquête. |
default | Définissez la valeur par défaut du champ. L’enquête sera ainsi préalablement renseignée avec la valeur par défaut. Cette fonction permet de gagner du temps en fournissant une réponse fréquemment utilisée ou en affichant le type de réponse attendu. |
calculation | Effectuez des calculs à l’aide des valeurs des questions précédentes (par exemple, ${number} * 100). Faites référence au champ de calcul pour afficher le résultat (par exemple, The answer is ${calc}). |
constraint | Limitez la plage de nombres pouvant être saisis (par exemple, .>0 and .<100). Vous pouvez utiliser cette fonction avec tous les types de questions. |
constraint_message | Lorsque les conditions de contrainte ne sont pas respectées, ce message apparaît pour demander une réponse valide. |
relevant | Cela vous permet d’ignorer des questions ou de faire apparaître des questions supplémentaires en fonction de la réponse à une question précédente. Une question est visible lorsque les conditions de la colonne correspondante sont respectées (par exemple, ${name} = 'value'). Une question masquée par cette colonne envoie uniquement des valeurs nulles. |
choice_filter | Avec les sélections en cascade, ce champ contient l’expression permettant d’apparier les colonnes attributaires supplémentaires dans l’onglet des choix (par exemple, attribute = ${value}). |
repeat_count | Cette valeur indique le nombre d’enregistrements disponibles dans une répétition. Une fois le nombre de répétitions spécifié, les enregistrements ne peuvent pas être ajoutés ou supprimés de la répétition. |
media::audio | Copiez un fichier audio dans le sous-dossier media du projet et saisissez le nom du fichier audio (par exemple, audio.mp3) pour proposer la version sonore de la question. |
media::image | Copiez un fichier image dans le sous-dossier media du projet et saisissez le nom du fichier image (par exemple, image.jpg) pour afficher une image avec la question. |
bind::type | Type de champ qui remplace le type de champ par défaut pour la question. |
bind::esri:fieldType | Définissez le type de champ cible dans la couche d’entités. Ceci peut permettre de remplacer le type de champ par défaut (par exemple, les champs calculate et select_one sont des chaînes par défaut. Pour enregistrer les valeurs dans la couche d’entités en tant qu’entiers, sélectionnez esriFieldTypeInteger). |
bind::esri:fieldLength | Définissez la longueur du champ cible dans la couche d’entités. Vous pouvez utiliser ce paramètre pour remplacer la longueur du champ par défaut. |
bind::esri:fieldAlias | Spécifiez des valeurs pour l’alias de champ dans la couche d’entités. Vous pouvez utiliser ce paramètre pour remplacer les valeurs d’alias de champ par défaut, qui découlent de l’étiquette des questions. |
body::esri:style | Fournissez des expressions pour définir le style et le comportement d’une question (par exemple, la couleur d’arrière-plan des groupes et des répétitions). |
bind::esri:parameters | Fournissez des expressions propres à Survey123 (par exemple, des paramètres pour contrôler le comportement des répétitions lors de la mise à jour de votre enquête). |
bind::esri:workflow | Fournit des paramètres qui permettent de rendre une enquête disponible dans un mode de mesure télémétrique. |
paramètres | Fournissez des paramètres XLSForm standard pour une question (par exemple, les paramètres start, end et step pour une question de type plage). |
body::accept | Définissez les types de fichiers acceptés pour les questions de type fichier. Accepte des extensions de fichier séparées par des virgules (par exemple, .jpg, .png). |
body::esri:visible | Cela vous permet d’ignorer des questions ou de faire apparaître des questions supplémentaires en fonction de la réponse à une question précédente. Une question est visible lorsque les conditions de la colonne body::esri:visible sont respectées (par exemple, ${name} = 'value'). Une question masquée par cette colonne contient toujours les valeurs et les envoie. |
body::esri:inputMask | Fournissez une expression qui permet d’utiliser un masque de saisie afin d’offrir un format défini pour la saisie de données à l’aide de caractères et de symboles. |
label::language (xx) | Traduisez les libellés de vos questions. La langue doit être spécifiée par son nom et son code (par exemple, label::Español (es)). Ajoutez une nouvelle colonne pour chaque langue. La liste des langues apparaîtra dans un menu déroulant dans l’enquête. |
hint::language (xx) | Traduisez vos questions de type astuce. La langue doit être spécifiée par son nom et son code (par exemple, hint::Español (es)). Ajoutez une nouvelle colonne pour chaque langue. La liste des langues apparaîtra dans un menu déroulant dans l’enquête. |
guidance_hint::language (xx) | Traduisez vos questions de type conseil. Vous devez spécifier la langue par son nom et son code (par exemple, guidance_hint::Español (es)). Ajoutez une nouvelle colonne pour chaque langue. La liste des langues apparaîtra dans un menu déroulant dans l’enquête. |
required_message::language (xx) | Traduisez le message qui s’affiche si une question obligatoire n’a pas été répondue. La langue doit être spécifiée par son nom et son code (par exemple, required_message::Español (es)). Ajoutez une nouvelle colonne pour chaque langue. La liste des langues apparaîtra dans un menu déroulant dans l’enquête. |
body::accuracyThreshold | Indiquez une valeur numérique pour le seuil (en mètres) au-dessus duquel les valeurs de position ne sont pas acceptées. S’applique aux questions Géopoint et aux sommets des questions Géoforme et Géotrace. |
bind::esri:warning | Appliquez une expression qui affiche des avertissements si les conditions ne sont pas respectées. |
bind::esri:warning_message | Le message qui s’affiche si les conditions bind::esri:warning ne sont pas respectées. |
bind::saveIncomplete | Définissez cette fonction sur True (Vrai) si l’application doit enregistrer automatiquement la réponse après la question. |
Apparences
Vous pouvez saisir les valeurs suivantes dans la colonne d’apparence pour des types spécifiques de questions afin de modifier leur aspect ou leur comportement. Pour plus d’informations sur ces types, reportez-vous à la rubrique Apparence.
Apparence | Type de question concerné | Description | Pris en charge dans l’application de terrain Survey123 | Pris en charge dans l’application Web Survey123 |
---|---|---|---|---|
annotate | image | Permet à l’utilisateur d’ouvrir une fenêtre avec une zone d’affichage où il peut tracer des esquisses et prenant en charge les annotations sur les images. | Oui | Oui |
autocomplete | select_one | Les choix de réponse s’affichent dans un menu déroulant avec du texte pour restreindre les options. | Oui | Oui |
calculator | integer, decimal | Affiche un widget de calcul personnalisé pour cette question. | Oui | Non |
compacter | select_one, select_multiple, begin group, begin repeat | Pour les questions de type select_one (choix unique) et select_multiple (choix multiples), présente les choix horizontalement d’une manière qui optimise l’espace. Pour les groupes et les répétitions, présente les questions à l’état réduit au démarrage, qui peut être agrandi par l’utilisateur. | Oui | Oui |
compact-n | select_one, select_multiple | Présente les choix horizontalement d’une manière qui optimise l’espace avec un nombre maximal de colonnes spécifié par n. Par exemple, compact-3 limite la question à un maximum de trois colonnes. | Oui | Oui |
distress | entier | Affiche la question sous la forme d’une échelle colorée. | Oui | Non |
draw | image | Permet à l’utilisateur d’ouvrir une fenêtre avec une zone d’affichage où il peut tracer des esquisses. | Oui | Oui |
field-list | begin group, begin repeat | Affiche un groupe de questions sur une page distincte si l'enquête est de style paginé. | Oui | Oui |
géocoder | Texte | Recherchez une adresse géocodée et envoyez-la. | Oui | Oui |
getinframarkerid | Texte | Récupère et stocke un ID de balise InfraMarker de 24 caractères. | Oui | Non |
masqué | Tous | Masque la question de la vue, tout en permettant d’accepter les valeurs par défaut et les calculs. | Oui | Oui |
hide-input | geopoint | Réduit la section de saisie des coordonnées lorsque l’enquête est ouverte dans l’application web. | Non | Oui |
horizontal | select_one, select_multiple | Affiche les options de réponse horizontalement et dans des colonnes. | Oui | Oui |
horizontal-compact | select_one, select_multiple | Similaire à l’apparence compacte. | Oui | Oui |
Image-map (image-carte) | select_one, select_multiple | Affiche une image .svg jointe avec des régions sélectionnables. | Oui | Non |
inframarker | Texte | Indique les informations à écrire dans une balise InfraMaker. | Oui | Non |
likert | select_one | Affiche les options de réponse sous la forme d'une échelle de Likert. | Oui | Oui |
minimaliste | select_one, select_multiple, barcode, begin repeat | Présente plusieurs réponses (select_one, select_multiple), plusieurs questions (repeats), et une zone de texte (barcode) dans un style masqué ou réduit. | Oui | Oui |
minimal compact | begin repeat | Présente les questions d’une répétition sous forme réduite (compact) et masquée (minimal). | Oui | Oui |
month-year | date | Sélectionne seulement un mois et une année comme date. | Oui | Oui |
multiline | text, image, file | Présente une question de type texte sous forme d’une zone de texte multiligne Plusieurs pièces jointes dans une question image ou fichier sont autorisées. | Oui | Oui |
new-front | image | Limite la question à une prise de vue via le capteur avant par défaut. | Oui | Non |
new-rear | image | Limite la question à une prise de vue via le capteur arrière par défaut. | Oui | Non |
no-ticks | plage | Affiche le curseur de plage sans positions, ni valeurs minimum ou maximum. | Oui | Oui |
nopredictivetext | Texte | Désactive le texte prédictif pour les appareils mobiles | Oui | Non |
numbers | integer, decimal | Affiche un clavier numérique personnalisé pour cette question. | Oui | Non |
predictivetext | Texte | Active le texte prédictif pour les appareils mobiles | Oui | Non |
press-to-locate | geopoint, geotrace, geoshape | Pour les questions géopoint, accepte uniquement une localisation une fois que l’utilisateur a interagi avec la question. Pour géotrace et géoforme, se focalise sur la localisation de l’utilisateur sans capturer de point à la première interaction avec la question. | Uniquement pour geopoint | Oui |
rangefinder | Texte | Accepte l’objet JSON entier ou une valeur spécifiée qui est renvoyée par un télémètre. | Oui | Non |
rechercher | Texte | Remplit la liste de choix avec les valeurs d’une table CSV figurant dans le dossier media de l’enquête ou d’une table ou couche d’entités existante. | Oui | Non |
signature | image | Présente une interface pour la capture d'une signature. La signature est ajoutée à l’entité en tant que pièce jointe. | Oui | Oui |
pic | image | Nécessite un appareil Spike et une application Spike. L’intégration Spike permet de mesurer la distance et l’emplacement dans une photo. | Oui | Non |
spike-full-measure | image | Nécessite un appareil Spike et une application Spike. L’intégration Spike permet de mesurer la distance, l’emplacement, la superficie et des longueurs dans une photo. | Oui | Non |
spike-point-to-point | image | Nécessite un appareil Spike et une application Spike. L’intégration Spike permet de mesurer la distance entre deux points photographiés. | Oui | Non |
spinner | integer, decimal | Ajoute des boutons permettant d’incrémenter et de décrémenter une valeur. | Oui | Non |
table-list | begin group | Présente un ensemble de questions select_one, dans un groupe utilisant la même liste de choix dans un format tabulaire. | Oui | Oui |
thousands-sep (séparateur des milliers) | decimal | Affiche les réponses avec des séparateurs de milliers. Cela concerne uniquement les réponses prérenseignées. | Oui | Non |
week-number | date | Sélectionne un numéro de semaine. | Oui | Non |
year | date | Sélectionne seulement une année comme date. | Oui | Oui |
Paramètres
Des paramètres supplémentaires peuvent être utilisés pour certains types de question dans XLSForm afin de contrôler le style et le comportement des questions d’une enquête. Dans certains cas, ces paramètres complètent les apparences prises en charge par un type de question. Pour avoir une vue d’ensemble des paramètres pris en charge par chaque type de question, consultez la section Paramètres XLSForm.
Valeurs par défaut
Saisir today() dans la colonne valeur par défaut d’une question définit la valeur par défaut à la date du jour.
Saisissez le choix name (nom) (et non le choix label (étiquette)) pour les valeurs par défaut des questions select_one (choix unique).
Les réponses aux questions de type sélection multiple fonctionnent différemment des autres. Elles sont ajoutées dans l’ordre dans lequel elles ont été sélectionnées, séparées par des virgules. Pour définir plusieurs valeurs en tant que valeurs par défaut dans une question select_multiple, séparez-les par des virgules, par exemple : élément1,élément2,élément3.
Validation des données
Saisir oui comme valeur dans la colonne obligatoire fait en sorte que la question de l’enquête requière que la question contienne une valeur pour que le formulaire puisse être renseigné.
Opérateurs
Les opérateurs répertoriés dans le tableau ci-dessous peuvent être utilisés dans les colonnes XLSForm prenant en charge les expressions, notamment les colonnes constraint (contrainte), calculation (calcul) et relevant (pertinence).
Pour plus d’informations sur les calculs et les contraintes, reportez-vous à la rubrique Formules ; pour en savoir plus sur l’utilisation de la colonne relevant (pertinence), reportez-vous à la rubrique Expressions de formulaire.
Opérateur | Description | Exemple |
---|---|---|
. | La réponse actuelle | .=1 |
+ | Addition | ${question_one} + 4 |
- | Soustraction | ${question_one} - 4 |
* | Multiplication | ${question_one} * 4 |
div | Division | ${question_one} div 4 |
= | Égal | ${price}=9.80 |
!= | Différent | ${price}!=9.80 |
< | Inférieur à | ${price}<9.80 |
<= | Inférieur ou égal à | ${price}<=9.80 |
> | Supérieur à | ${price}>9.80 |
>= | Supérieur ou égal à | ${price}>=9.80 |
and | Et | ${price}>9.00 and ${price}<9.90 |
mod | Modulo (reste de la division) | ${question_one} mod ${question_two} |
or | Ou | ${price}=9.80 or ${price}=9.70 |
Fonctions
Les fonction suivantes sont prises en charge dans Survey123 :
Fonction | Description | Exemple |
---|---|---|
boolean(question, expression, or value) | Renvoie true (vrai) si la valeur indiquée n’est pas nulle. Il est recommandé d’utiliser à la place la fonction boolean-from-string(). Attention :Cette fonction renvoie toujours la valeur true (vrai) dans l’application Web Survey123. Pour connaître les alternatives, reportez-vous à la rubrique Valeurs vides. | boolean(${question_one}) |
boolean-from-string() | Renvoie true (vrai) si la chaîne indiquée est « true » (vrai) ou « 1 ». Sinon, renvoie false (faux). | boolean-from-string(${question_one}) |
coalesce(value1, value2) | Renvoie la première valeur non vide. Cette fonction prend en charge deux valeurs uniquement. | coalesce(${question_one}, ${question_two}) |
concat(value1, value2, …) | Renvoie la concaténation des valeurs de chaîne. | concat(${question_one}, ' and ', ${question_two}) |
contains(string, substring) | Renvoie true (vrai) si la chaîne donnée contient la sous-chaîne. | contains(${question_one}, 'red') |
count(repeat) | Renvoie la quantité de réponses à une question donnée dans des répétitions. Pour plus d’informations, reportez-vous à la rubrique Fonctions d’agrégation. Remarque :Lorsqu’elle est utilisée dans l’application de terrain Survey123, cette fonction peut être placée dans la répétition ou en dehors de celle-ci. Si cette fonction doit être utilisée dans l’application Web Survey123, elle doit être placée en dehors de la répétition. Une valeur count externe à la répétition peut être référencée dans un calcul interne à la répétition. | count(${question}) |
count-selected(question) | Renvoie le nombre de réponses sélectionnées aux questions select_one et select_multiple. Cette fonction renvoie également le nombre de fichiers joints aux questions de type image, audio et file (fichier) à l’aide de l’apparence multiligne. | count-selected(${question_one}) |
date(question, expression, or value) | Convertit un nombre ou une chaîne en objet de date, sans conserver l'heure. | date('2017-05-28T04:39:02+10:00') |
date-time(question, expression, or string) | Convertit un nombre ou une chaîne en objet de date. | date-time('2017-05-28T04:39:02+10:00') |
Convertit un objet de date en nombre date-heure décimal. | decimal-date-time(${date_question}) | |
decimal-time(question, expression, or string) | Convertit un objet de type heure en un nombre représentant une fraction décimale de jour dans le fuseau horaire de l’appareil. | decimal-time(${time_question}) |
ends-with(string, substring) | Renvoie true (vrai) si la chaîne donnée se termine par la sous-chaîne. | ends-with(${question_one}, 'hand.') |
false() | False | false() |
Ajuste une valeur de date ou d’heure existante à un format défini. | format-date(${previous_time}, '%H:%M') | |
if(condition, a, b) | Si la condition évaluée est vraie (true), renvoie a ; sinon, renvoie b. | if(selected(${question_one}, 'yes') and selected(${question_two}, 'yes'), 'yes', 'no') |
indexed-repeat(question, repeat, index number) | Renvoie la valeur d’une question spécifique dans un enregistrement de répétition. Pour plus d'informations, reportez-vous à la rubrique Répétitions. | indexed-repeat(${room_no}, ${floor}, 3) |
int(question, expression, or value) | Convertit en nombre entier. La conversion varie selon le type de données. Remarque :Si cette fonction est vide, elle renvoie NaN et la question reste vide. | int(${question_one}) |
join(separator, question) | Concatène toutes les réponses à une question donnée en une répétition, chacune séparée par le séparateur donné. | join(',', ${question_in_repeat}) |
jr:choice-name(choice_name, 'question') | Utilisée pour les questions select_one. Renvoie l’étiquette associée au nom du choix dans la question donnée. N’oubliez pas que la question doit être définie entre guillemets. | jr:choice-name(${select_one}, '${select_one}') |
Utilisée pour les questions select_multiple. Renvoie l’étiquette associée au nom du choix dans la question donnée. La fonction selected-at() doit être utilisée pour extraire l’étiquette des réponses individuelles. N’oubliez pas que la question doit être définie entre guillemets. | jr:choice-name(selected-at(${select_multiple}, 3), '${select_multiple}') | |
max(value1, value2, ...) | Renvoie la valeur maximale dans une plage donnée, ou vers une seule question dans des répétitions. | max(${question_one}, ${question_two}) |
min(value1, value2, ...) | Renvoie la valeur minimale dans une plage donnée, ou vers une seule question dans des répétitions. | min(${question_one}, ${question_two}) |
not(expression) | Renvoie une valeur false (Faux) si l’expression renvoyait true (Vrai) et renvoie une valeur true (Vrai) si l’expression renvoyait false (Faux). | not(selected(., 'yes')) |
now() | Renvoie un horodatage pour cet instant. Cette fonction est utilisée dans les questions time et dateTime. Elle se comporte comme today() dans les questions date. | now() |
number(question, expression, or value) | Convertit en nombre. La conversion varie selon le type de données. Remarque :Si cette fonction est vide, elle renvoie NaN et la question reste vide. | number(${question_one}) |
once() | Si une question possède déjà une valeur, renvoie la valeur existante. Cette fonction est utile si vous utilisez random() ou uuid() dans une question répétée pour s’assurer que la valeur ne change pas lorsque vous parcourez les enregistrements répétés du formulaire. | once(uuid()) |
position(..) | Renvoie l’index de la enregistrement actuel dans une répétition. Pour plus d'informations, reportez-vous à la rubrique Répétitions. | position(..) |
pulldata() | Renvoie une valeur provenant d’un fichier CSV externe. Pour plus d’informations, voir Extraire une valeur d’un fichier CSV. | pulldata('users', 'email', 'name', ${respondent_name}) |
pulldata("@exif") | Renvoie une valeur provenant des métadonnées EXIF d’une image. Pour plus d’informations, voir Extraire des métadonnées d’une image. | pulldata("@exif", ${photo}, "GpsLatitude") |
pulldata("@geopoint") | Renvoie une valeur d’une question géopoint. Pour plus d’informations, voir Extraire des valeurs de géopoints. | pulldata("@geopoint", ${location}, "horizontalAccuracy") |
pulldata("@javascript") | Exécute une fonction JavaScript dans le formulaire et renvoie le résultat. Pour plus d’informations, voir Fonctions JavaScript dans les formulaires d’enquête. | pulldata("@javascript", "functions.js", "uniqueID", ${buildings}) |
pulldata("@json") | Renvoie une valeur d’un objet JSON. Pour plus d’informations, voir Extraire une valeur d’un objet JSON. | pulldata("@json", ${json_output}, "attributes.ZIP_CODE") |
pulldata("@layer") | Interroge une couche d’entités ou une table d’entités ArcGIS, ou le service de carte avec la fonction d’interrogation activée et renvoie le résultat. Pour plus d’informations, reportez-vous à la rubrique Interroger une couche d’entités. | pulldata("@layer", "getRecordAt", "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Time_Zones/FeatureServer/0", ${location}) |
pulldata("@property") | Renvoie des informations sur l’appareil ou l’utilisateur connecté. Pour plus d’informations, voir Propriétés concernant l’appareil et l’utilisateur. | pulldata("@property", 'username') |
random() | Renvoie une valeur aléatoire comprise entre 0 (inclusive) et 1 (exclusive). | random() |
regex() | Applique une expression régulière à la saisie de la question. Renvoie true (vrai) si le modèle est respecté. Pour plus d’informations, reportez-vous à la rubrique Expressions régulières. | regex(., '^\d{5}$') |
selected(question, value) | Vérifie si la réponse est sélectionnée. Cette fonction est utilisée pour les questions select_one et select_multiple. | selected(${question_one}, 'a') |
selected-at(question, number) | Utilisée pour les questions select_multiple. Renvoie le nom du choix sélectionné pour le nombre donné, en commençant à compter à partir de zéro ; par exemple, « 2 » renvoie le troisième choix sélectionné. | selected-at(${question_one}, 2) |
starts-with(string, substring) | Renvoie true (vrai) si la chaîne donnée commence par la sous-chaîne. | starts-with(${question_one}, 'The') |
string(question, expression, or value) | Convertit en chaîne. La conversion varie selon le type de données. | string(${question_one}) |
string-length(question, expression, or value) | Renvoie la longueur d'une chaîne non vide. | string-length(${question_one}) |
substr(question, start, end) | Renvoie la sous-chaîne commençant par le début spécifié (start) et s’étend jusqu’au caractère à l’index de fin end -1, où start et end commencent à 0. | substr(${question_one}, 1, 2) |
sum(repeat) | Renvoie la somme de toutes les réponses à une question donnée dans des répétitions. Pour plus d’informations, reportez-vous à la rubrique Fonctions d’agrégation. Remarque :Lorsqu’elle est utilisée dans l’application de terrain Survey123, cette fonction peut être placée dans la répétition ou en dehors de celle-ci. Si cette fonction doit être utilisée dans l’application Web Survey123, elle doit être placée en dehors de la répétition. Une valeur sum externe à la répétition peut être référencée dans un calcul interne à la répétition. | sum(${question}) |
today() | Renvoie la date du jour, stockée en interne à midi heure locale. Cette fonction est utilisée dans les questions date. | today() |
true() | True | true() |
uuid() | Renvoie une chaîne UUID aléatoire. | uuid() |
version() | Retourne la version de l'enquête définie dans la feuille de calcul des paramètres. | version() |
Les fonctions mathématiques suivantes sont prises en charge dans Survey123 :
Fonction | Description | Exemple |
---|---|---|
acos(value) | Renvoie l’arc cosinus de la valeur. | acos(${question_one}) |
asin(value) | Renvoie l’arc sinus de la valeur. | asin(${question_one}) |
atan(value) | Renvoie l’arc tangent de la valeur. | atan(${question_one}) |
atan2(value1, value2) | Renvoie l’arc tangent du quotient des valeurs. | atan2(${question_one}, ${question_two}) |
cos(value) | Renvoie le cosinus de la valeur en tant qu’angle en radians. | cos(${question_one}) |
sin(value) | Renvoie le sinus de la valeur en tant qu’angle en radians. | sin(${question_one}) |
tan(value) | Renvoie la tangente de la valeur en tant qu’angle en radians. | tan(${question_one}) |
exp(value) | Renvoie l'exposant naturel de la valeur. | exp(${question_one}) |
exp10(value) | Renvoie 10 à la puissance de la valeur. | exp10(${question_one}) |
log(value) | Renvoie le logarithme naturel de la valeur. | log(${question_one}) |
log10(value) | Renvoie le logarithme en base 10 de la valeur. | log10(${question_one}) |
pi() | Renvoie pi. | pi() |
pow(value, power) | Renvoie la valeur à la puissance spécifiée. | pow(${question_one}, 3) |
round(value, places) | Renvoie la valeur arrondie. | round(${question_one}, 5) |
sqrt(value) | Renvoie la racine carrée de la valeur. | sqrt(${question_one}) |
Mise en forme HTML
Vous pouvez utiliser la mise en forme HTML dans les étiquettes et les astuces des questions, ainsi que dans les étiquettes des listes de choix. La mise en forme HTML prise en charge est la suivante :
Balise | Attribut |
---|---|
a | href, style |
abbr | title |
audio¹ | autoplay, controls, loop, muted, preload |
b, strong, i, em, u, ul, ol, li, tbody, br, hr | |
dd, dl, dt | style |
div¹ | style, align |
figcaption | style |
figure | style |
font | size, color, style |
h1, h2, h3, h4, h5, h6 | style |
img | src, width, height, border, alt, style |
p | style |
source¹ | media, src, type |
span | style |
sub | style |
sup | style |
table | width, height, cellpadding, cellspacing, border, style |
td, th | height, width, valign, align, colspan, rowspan, nowrap, style |
tr | height, valign, align, style |
video¹ | autoplay, controls, height, loop, muted, poster, preload, width |
¹Prise en charge uniquement dans l’application Web Survey123.
Conseil :
Par défaut, un hyperlien créé au format HTML ouvert dans l’application Web Survey123 ouvre la destination sous le même onglet que l’enquête. Si vous préférez ouvrir ce lien sous un nouvel onglet, ajoutez target="_blank" à la balise a href ; par exemple :
<a href="https://www.esri.com" target="_blank">Link to Esri website</a>
Expressions régulières
Les expressions régulières sont des séquences de caractères qui définissent un modèle de recherche. Vous pouvez les utiliser dans une question pour déterminer ses valeurs en fonction d’autres questions ou pour restreindre la saisie de données. Il est possible de créer une expression régulière à partir des sous-expressions présentées dans le tableau suivant. Pour plus d’informations, reportez-vous à la rubrique Formules.
Sous-expression | Apparier |
---|---|
^ | Correspond au début de la ligne. |
$ | Correspond à la fin de la ligne. |
. | Correspond à tout caractère unique sauf une nouvelle ligne. |
[...] | Correspond à tout caractère unique entre crochets. |
[^...] | Correspond à tout caractère unique sans crochets. |
(re) | Regroupe les expressions régulières et mémorise le texte apparié. |
(?: re) | Regroupe les expressions régulières sans mémoriser le texte apparié. |
a| b | Correspond soit à a soit à b. |
\A | Début de la chaîne entière. |
\b | Correspond aux limites de mot en dehors de crochets, et au retour arrière (0x08) à l’intérieur de crochets. |
\B | Correspond à des limites non alphanumériques. |
\d | Correspond à des chiffres. Elle équivaut à [0 à 9]. |
D | Correspond à des caractères qui ne sont pas des chiffres. |
\G | Correspond au point où la dernière correspondance a fini. |
\n, \t, \e, etc. | Correspond à une nouvelle ligne, une tabulation, un espace, etc. |
\N | Référence arrière pour capturer le numéro N d’un groupe. |
re* | Correspond à 0 occurrence ou plus de l’expression précédente. |
re+ | Correspond à au moins 1 occurrence de l’expression précédente. |
re? | Correspond à 0 ou 1 occurrence de l’expression précédente. |
re{ n} | Correspond au nombre exact d’occurrences d’une expression précédente défini à la place de n. |
re{ n,} | Correspond à au moins n occurrences de l’expression précédente. |
re{ n, m} | Correspond à au moins le nombre d’occurrences défini par n et, au plus, défini par m dans l’expression précédente. |
\s | Correspond à un espace blanc : onglet, saut de ligne, saut de page, retour chariot ou espace. |
\S | Correspond à des caractères qui ne sont pas des espaces blancs. |
\w | Correspond à des caractères alphanumériques. |
\W | Correspond à des caractères non alphanumériques. |
\z | Fin de la chaîne entière. |
\Z | Fin de la chaîne entière, sauf terminateur de dernière ligne autorisé. |
Par exemple, l’expression régulière regex(.,'^[A-Za-z]*$') nécessite que l’utilisateur saisisse uniquement des lettres, aucun nombre ni caractère spécial, dans une question de type chaîne.
Types de champ Esri
La colonne bind::esri:fieldType permet de remplacer le type de champ par défaut par l’une des valeurs suivantes. Pour plus d’informations, reportez-vous à la rubrique Colonnes personnalisées de Esri.
Valeur de champ | Résultat |
---|---|
esriFieldTypeDate | Valeurs de date et d’heure |
esriFieldTypeDateOnly | Valeurs de date uniquement sans valeurs d’heure |
esriFieldTypeTimeOnly | Valeurs d’heure uniquement sans valeurs de date |
esriFieldTypeTimestampOffset | Valeur de date, d’heure et de décalage par rapport au temps universel coordonné (UTC) |
esriFieldTypeDouble | Nombres à virgule flottante à double précision |
esriFieldTypeGUID | Identifiant unique global |
esriFieldTypeInteger | Nombres entiers (32 bits) |
esriFieldTypeBigInteger | Nombres entiers (64 bits) |
esriFieldTypePointZ | Permet la capture de l'altitude dans des géopoints |
esriFieldTypeString | Série de symboles alphanumériques |
null | Champ nul, ne stocke pas de valeurs |
Caractères spéciaux
Les noms de question et de choix ne doivent pas contenir de caractères spéciaux, comme des espaces, virgules, traits d’union, parenthèses, crochets ou caractères tels que $, % et #. Il est important que les noms de choix des questions de type select_multiple ne contiennent pas d’espace ou de virgule.
Vous avez un commentaire à formuler concernant cette rubrique ?