Les variables externes ✨
Pogues permet de référencer dans le questionnaire des variables externes, c'est à dire des variables qui sont fournies au chargement du questionnaire lors de la collecte, en provenance d'un fichier de données produit à partir de données connues et attachées à l'unité enquêtée.
Danger
Le typage disponible dans Pogues pour ces variables est celui disponible par ailleurs pour les variables collectées et calculées, mais l'outil impose un format texte afin d'être facilement lu tout au long de la chaîne de traitement : l'ensemble des variables externes injectées dans le questionnaire sont du texte.
Impact : si ces variables doivent être utilisées comme numériques, il faut alors les transformer avec la fonction [cast()](../../💻_VTL/fonctions-vtl.md/#cast):
```vtl
cast($VAR_EXT$, integer)
```
Création d'une variable externe
✨ On crée les variables externes via le menu "Variables" en cliquant sur le bouton en haut à droite "Créer une variable".
Nouvelle variable externe
Type de variable*: permet de sélectionner le type de variable souhaité : calculée ou externeVariable réinitialisable: attribut réservé aux enquêtes ayant un protocole complexe de collecte concurrentielle enquêteur / web : il peut arriver que l'enquêteur reprenne la main sur un questionnaire web et ait besoin de "supprimer" les réponses web : on offrira donc à l'enquêteur, dans Sabiane, la possibilité de remettre les données du questionnaire à vide. L'attributVariable réinitialisablepermet de tagger les variables qu'on permet de vider.Identifiant*: correspond au nom de la variableLibellé*: description de la variable-
Niveau de calcul*: correspond à la portée de la variable. Plus de détails iciNote
Par défaut il faut laisser
Questionnairecomme niveau de calcul si la variable vaut la même valeur sur l’ensemble du questionnaire. Si la variable est occurrentielle (cad, sa valeur dépend de la ligne sur laquelle on se trouve au sein d’un tableau dynamique ou de l’occurrence sur laquelle on se trouve au sein d’une boucle), on renseigne ici l'élément itérable (identifiant du tableau dynamique ou boucle du questionnaire) auquel se réfère la variable. -
Type de réponse*: parmi Texte, Date, Nombre, Booléen (cf. Création d'une question de type réponse simple)Suivant la valeur sélectionnée, d'autres champs associés au type apparaissent. Plus de détails sur les différents types ici
Ajouter des variables externes de portée Boucle
Dans certains protocoles complexes, on peut vouloir intégrer des variables externes correspondant à des variables collectées précédemement dans un autre questionnaire à l'intérieur d'une boucle.
Imaginons par exemple que dans le premier questionnaire, on ait demandé le nombre d'habitants du logement (variable NBHAB), puis, à l'intérieur d'une boucle répétée pour chaque habitant on ait collecté les prénoms et ages (respectivement les variables PRENOM et AGE).
Afin de récupérer ces variables dans le second questionnaire :
- je crée dans celui-ci la boucle
BOUCLE_PRINCIPALE, avec un min et max dont la valeur est la variableNBHAB(à créer, voir ci-dessous), - je crée les variables externes
NBHAB(Portée Questionnaire),PRENOMetAGE(portéeBOUCLE_PRINCIPALE).
Il faudra ensuite fournir à l'intégration un fichier CSV contenant les variables et valeurs ad hoc (voir ici, section "Variables de portée Boucle")
Danger
Éviter de finir le nom d'une variable externe par une valeur numérique. Une variable externe peut contenir un vecteur (par exemple : liste d'habitant issue de la base de sondages ou de la précédente enquête) et sera personnalisée en collecte avec un suffixe séquentiel. Par exemple : pour un vecteur de produits appelé PRODUITS, dans le fichier de personnalisation on pourra avoir PRODUITS_01, PRODUITS_02, etc
