Structure d'enquête Valeur séparée par des tabulations
From LimeSurvey Manual
Importation et exportation de valeurs séparées par des tabulations de la structure d'enquête
Cette fonctionnalité est conçue pour faciliter l'utilisation d'un tableur tel que LibreOffice, Excel ou Google Docs pour créer et modifier des enquêtes. Cela élimine complètement la dépendance aux codes SGQA.
Cette fonctionnalité prend en charge l'importation à partir de fichiers TSV (Tab Separated Value) codés en ASCII ou UTF-8 qui ont une extension .txt.
Mise en route
Le moyen le plus simple consiste à prendre une enquête existante et à l'exporter au format Valeurs séparées par des tabulations. Utilisez le bouton d'exportation normal de l'enquête et, au lieu de sélectionner le format .lss, sélectionnez "Format de valeurs séparées par des tabulations (*.txt)". Il sera enregistré en tant que fichier de valeurs séparées par des tabulations au format approprié (fichier Unicode délimité par des tabulations), avec tous les en-têtes de colonnes corrects.
Tout logiciel de feuille de calcul prenant en charge les valeurs séparées par des tabulations convient (par exemple, OpenOffice ou LibreOffice). LimeSurvey ignore tout formatage dans la feuille de calcul, mais n'hésitez pas à en ajouter si cela vous aide.
Il y aura une ligne pour chaque groupe, question, sous-question et réponse. Il existe également des lignes pour les variables d'enquête globales et pour les variables d'enquête spécifiques à la langue. La langue principale sera répertoriée en premier, suivie de toutes les langues secondaires. Ainsi, s'il existe plusieurs langues, l'intégralité du contenu de la langue de base apparaîtra en premier (par exemple, tous les groupes, questions, sous-questions et réponses). Ceci sera suivi d'une copie traduite pour chaque langue secondaire (avec exactement le même numéro et le même ordre ou lignes pour l'ensemble traduit).
Les relations sont déduites de la proximité. Ainsi, les questions qui suivent un groupe font partie de ce groupe ; les sous-questions suivant une question font partie de cette question, et les réponses suivant une question font partie de cette question. Ainsi, vous n'avez pas besoin de connaître les identifiants (gid, qid, sqid) pour toute question. Ceux-ci seront calculés automatiquement lors de l'importation. En fait, ce format n'utilise pas du tout gid, qid ou sqid (ou codes SGQA).
Conseils
L’objectif de l’import/export de valeurs séparées par des tabulations est de vous permettre de concevoir rapidement votre enquête à l’aide d’une feuille de calcul. Nous nous attendons à ce que vous importiez fréquemment la feuille, vérifiiez sa validité à l'aide de la fonction « Afficher la logique d'enquête » et la testiez. Chaque fois que vous l'importerez, vous obtiendrez une nouvelle enquête. Ainsi, vous pourriez vous retrouver avec de nombreuses enquêtes partiellement développées, mais ce n’est pas un problème. Prenez simplement l’habitude de garder une trace du plus récent ou supprimez l’ancien après avoir importé les nouveaux. Puisque vous n'utilisez jamais de codes SGQA dans la valeur séparée par des tabulations, vous n'avez jamais à vous soucier des codes attribués par LimeSurvey pour l'enquête principale, le groupe, les questions et les réponses. Alors n’hésitez pas à importer et exporter aussi souvent que vous le souhaitez.
Voici quelques choses pratiques que vous pouvez faire avec cette approche des instruments auteurs :
- Utiliser les mêmes réponses pour de nombreuses questions. Copiez simplement les lignes « A » et collez-les après chaque question qui devrait avoir le même ensemble.
- Utilisez les mêmes sous-questions pour de nombreuses questions. Copiez simplement les lignes 'SQ' et collez-les après chaque question qui en a besoin.
- "Looping" - utilisez le même groupe plusieurs fois. Une fois que le groupe est tel que vous le souhaitez, copiez-le autant de fois que nécessaire. Utilisez le filtrage Excel pour afficher uniquement les lignes « G » (pour les groupes) et utilisez la fonction de glissement de colonne Excel pour mettre à jour les équations de pertinence pour chaque groupe (par exemple, pour un recensement, la première pertinence peut être « numPeople > 1 », le le prochain devrait être "numPeople > 2". La fonction glisser mettra automatiquement à jour le numéro). Filtrez par lignes « Q » et assurez-vous que chaque question a une valeur unique (par exemple, disons que vous nommez vos variables g1_q1, g1_q2, g1_qN, utilisez rechercher/remplacer pour convertir g1 en g2 pour le deuxième groupe ; g3 pour le troisième, etc.).
- Réorganisation des questions/groupes. Réorganisez simplement les lignes de la feuille de calcul.
- Test des modules d'enquête. Pour les enquêtes longues, vous souhaiterez peut-être diviser les tests en modules. Créez simplement de nouveaux fichiers de feuille de calcul pour chaque module, en supprimant toutes les lignes dont vous n'avez pas besoin. Cela évite d'avoir à saisir de nombreuses données pour tester les sections ultérieures de l'enquête.
- Test des questions obligatoires. Une plainte courante n’est pas la nécessité de rendre de nombreuses questions obligatoires, mais la nécessité de désactiver la fonctionnalité obligatoire pour les tests. Créez simplement la feuille de calcul principale avec les valeurs finales souhaitées obligatoires. Ensuite, pour le tester, il suffit de supprimer la colonne « obligatoire » et de sauvegarder la version test du tableur. Lorsque vous importerez cette version, aucune des questions ne sera obligatoire. Une fois vos tests terminés, importez la copie principale.
- Paramètres par défaut. Plutôt que d'utiliser l'interface graphique, vous pouvez saisir les valeurs par défaut souhaitées dans la colonne par défaut. Ceci est particulièrement utile dans les cas où l'interface graphique ne vous permet pas de saisir la valeur souhaitée, comme expressions pour définir la valeur par défaut des éléments de liste (comme remplir une liste à partir d'un participant à l'enquête).
- Traduction. Vous pouvez créer des copies de votre feuille de calcul – une par langue. Incluez toutes les lignes de la langue principale, puis copiez-les et collez-les ci-dessous et utilisez le glisser pour modifier le champ de langue en langue cible. Ceux-ci peuvent être distribués à vos traducteurs et réintégrés dans une seule feuille de calcul une fois terminés.
- Paramétrage groupé des attributs avancés des questions. Vous souhaiterez peut-être que toutes vos équations soient visibles au départ (afin que vous puissiez voir leurs valeurs au fur et à mesure que vous collectez des données), puis masquez-les toutes avant de passer en production. Filtrez simplement la feuille de calcul sur class = 'Q' et type de question = '*' (équation), et définissez always_hide sur 1 pour chacune de ces questions. De même, disons qu'après avoir créé l'enquête, vous décidez quelles questions doivent apparaître dans les statistiques publiques. Plutôt que de modifier chaque question via l'interface graphique, filtrez sur class = 'Q' et définissez public_statistics = 1 pour toutes les questions qui doivent être visibles dans les statistiques.
- Rechercher et remplacer. Supposons que vous décidiez que vous devez modifier certaines formulations dans toutes vos questions, vous pouvez utiliser Excel Rechercher et remplacer pour effectuer ces modifications. De même, disons que vous décidez de renommer en masse vos variables, rechercher et remplacer peuvent venir à la rescousse. Si vous avez besoin d'une recherche et d'un remplacement basés sur des expressions régulières, vous pouvez sélectionner la colonne souhaitée, la copier dans un éditeur de texte, effectuer votre recherche et remplacement, puis recoller la colonne dans la feuille de calcul.
- 'Obtenir les approbations '. Si vous effectuez des recherches, vous pouvez avoir un comité d'examen institutionnel qui insiste pour voir le texte des questions. Cela peut être un moyen pratique de le partager. De même pour les discussions avec un client.
- Consensus de l'équipe. Si vous essayez d'amener un groupe à se mettre d'accord sur la formulation ou l'apparence d'une question ou d'un groupe, vous pouvez rapidement prototyper/modifier la feuille de calcul, l'importer et montrer à l'équipe (via un aperçu de la question ou du groupe) exactement ce que les utilisateurs verront. . De cette façon, vous pouvez obtenir l'approbation de l'équipe avant qu'elle ne quitte la salle plutôt que d'avoir à documenter les exigences, à les élaborer et à obtenir l'approbation lors des réunions futures.
- Mise à niveau à partir d'autres formats d'enquête. Si votre enquête est au format XML, Word ou autre, vous pouvez créer un processus de traduction pour les mapper à ce format. Bien que vous puissiez également essayer de mapper au format .lss, l'avantage de ce format est qu'il ne vous oblige pas à suivre les relations de clé étrangère entre les groupes, les questions, les sous-questions, les réponses et les valeurs par défaut.
Limitations
- De par sa conception, cette fonctionnalité ne fonctionne correctement que pour les enquêtes qui utilisent la dénomination qcode (plutôt que SGQA). Cette fonctionnalité suppose que les noms de variables (identifiants de questions) sont uniques tout au long de l'enquête. Les noms des sous-questions peuvent être répétés, à condition qu'ils soient uniques dans le cadre d'une question particulière.
Format de fichier
Général
Nous utilisons le même ensemble d’en-têtes de colonnes à des fins multiples. Les 14 premières colonnes répondent à des objectifs différents selon le type d'entité (par exemple, groupe, question, réponse). Les colonnes restantes constituent une liste alphabétique des noms de champs de base de données pour les codes de questions avancées. Vous trouverez ci-dessous la syntaxe pour chaque type d'entité
Les 14 premières colonnes sont :
- id (New in 3.14.0 )
- rated_id (New in 3.14.0 )
- class
- type/scale
- nom
- pertinence
- texte
- help
- langue
- validation
- mandatoire
- autre
- default
- same_default
Paramètres globaux de l'enquête
Il y a une ligne par paramètre dans la table des enquêtes.
- class => 'S'
- name => nom du champ de la base de données
- text => valeur
Paramètres spécifiques à la langue de l'enquête
Il y a une ligne par champ et par langue dans la table Surveys_Languagesettings. Toutes les entrées pour une langue donnée sont collectées avant de procéder à l'insertion dans cette table.
- class => 'SL'
- name => nom du champ de base de données
- text => valeur
- langue = > langue
Groupes
Une ligne de groupe par langue d'enquête (par exemple, il y aurait 3 lignes de groupe si l'enquête comporte 3 langues).
- id => identifiant numérique unique pour le groupe, commençant par le numéro 1, utilisez le même identifiant pour les langues supplémentaires appartenant à current group
- class => 'G'
- name => group_name -- l'identifiant unique du groupe
- relevance => grelevance -- l'équation de pertinence au niveau du groupe, sans accolades!N !#text => description -- la description spécifique à la langue du groupe
- langue => langue -- la langue du groupe (par exemple, 'en')
Questions
Une ligne de questions par langue d'enquête (par exemple, il y aurait 3 lignes de questions si l'enquête comporte 3 langues). Les questions sont supposées appartenir au groupe qui les précède.
- id => identifiant numérique unique de la question, commençant par le numéro 1, utiliser le même identifiant pour les langues supplémentaires appartenant à la question actuelle
- class => ' Q'
- type/scale => type -- le (généralement une lettre) type de question (par exemple, 'M' est un choix multiple)
- name => titre -- le nom de question unique (la racine du système de dénomination qcode)
- relevance => pertinence -- l'équation de pertinence pour la question
- text => question -- le langage -texte spécifique de la question
- help => help -- le texte d'aide spécifique à la langue
- langue => langue -- la langue du groupe (par exemple, 'en')
- validation = > preg -- les critères facultatifs de validation des expressions régulières pour la question
- mandatory => obligatoire -- 'Y' si obligatoire
- other => other -- 'Y' si l'option "Autre" doit être disponible (uniquement pour certains types de questions)
- default => default -- si définie, cette valeur est insérée dans le tableau des valeurs par défaut pour cette question
- same_default => same_default -- 'Y' pour true, auquel cas toute valeur par défaut définie pour la langue principale s'applique aux autres langues
Sous-questions
Une ligne de sous-question par langue d'enquête. Les sous-questions sont supposées appartenir à la question qui les précède.
- id => même identifiant numérique unique qui est utilisé pour les questions. Les sous-questions doivent utiliser la prochaine valeur disponible, les ID de question et de sous-question doivent être différents (par exemple, utilisez l'ID 1 pour la question et les ID 2, 3 et 4 pour les sous-questions appartenant à la question 1, l'ID de question suivante doit être 5 et ainsi de suite). Utilisez le même ID de sous-question pour les langues supplémentaires appartenant aux sous-questions actuelles.
- class => 'SQ'
- type/scale => scale_id -- 0 ou 1, selon le type de question (par exemple, le texte du tableau aura deux scales)
- name => title -- le "nom" de la sous-question, par exemple celui utilisé pour discover_all_others
- relevance => pertinence -- (Future) pour prendre en charge la pertinence au niveau de la sous-question
- text => question -- le texte spécifique à la langue de la sous-question
- help => help -- (Future) pour prendre en charge l'aide au niveau de la sous-question
- langue => langue -- la langue de la sous-question
#validation => preg -- (Future) pour prendre en charge la validation des expressions régulières au niveau des sous-questions (par exemple pour les parties d'adresse)
- mandatory => obligatoire -- (Future) pour prendre en charge la validation obligatoire au niveau des sous-questions (par exemple, ne faire que quelques sous-questions obligatoire)
- default => default -- si défini, alors c'est la valeur par défaut pour la sous-question (insérée dans le tableau des valeurs par défaut)
- same_default => same_default -- si défini, alors la valeur par défaut pour la langue principale est utilisé pour toutes les autres langues
Réponses
Une ligne de réponses par langue d'enquête (par exemple, il y aurait 3 lignes de réponses si l'enquête comporte 3 langues). Les réponses sont supposées appartenir à la question qui les précède et être dans l'ordre de tri souhaité.
- id => utiliser le même identifiant que l'ID de la question à laquelle elle appartient
- class => 'A'
- type/scale => scale_id -- 0 ou 1 (par exemple pour une double échelle)
- name => code -- l'identifiant unique de la réponse
- relevance => Assessment_value -- si vous utilisez l'option d'évaluation , c'est la valeur d'évaluation de la réponse
- text => réponse -- le texte spécifique à la langue de la réponse
- langue => langue -- la langue de cette réponse (par exemple 'en')
Évaluations
Une ligne d'évaluation par langue d'enquête (par exemple, il y aurait 3 lignes d'évaluation si l'enquête comporte 3 langues). Les évaluations sont écrites à la fin du fichier.
- id => identifiant numérique unique de l'évaluation, commençant par le numéro 1, utiliser le même identifiant pour les langues supplémentaires appartenant à l'évaluation en cours
- rated_id => identifiant du groupe à à quelle évaluation actuelle appartient
- class => 'AS'
- type/scale => étendue de l'évaluation : T-Total, G-group
- name => nom
- text => message
- min_num_value => Minimum
- max_num_value => Maximum
- langue => langue -- la langue de cette réponse (par exemple 'en')
Quotas
Une ligne par quota. Les quotas sont écrits à la fin du fichier.
- id => identifiant numérique unique du quota, commençant par le numéro 1
- class => 'QTA'
- name => nom du quota
- obligatoire => limite
- other => action de quota
- default => actif
- same_default => URL de chargement automatique
Quota language settings
One quota row per survey language. Quota language settings are assumed to belong to the quota that precedes them.
- id => unique numeric identifier for the quota language settings, starting with number 1. Each row for different survey languages should have different IDs
- related_id => quota id of quota to which this setting belongs to
- class => 'QTALS'
- relevance => message
- text => URL
- help => URL description
- language => language -- the language for this quota (e.g. 'en')
Quota members
One row per quota member, no language dependent. Quota member row should be placed immediately after question it relates to. Quota members are assumed to belong to the question that precedes them.
- id => unique numeric identifier for the quota members, starting with number 1
- related_id => quota id of quota to which this member belongs to
- class => 'QTAM'
- name => answer code
Conditions
One row per condition, no language dependent. Condition row should be placed immediately after question it relates to. Conditions are assumed to belong to the question that precedes them.
- id => unique numeric identifier for the condition, starting with number 1.
- related_id => question id of related question, if applicable
- class => 'C'
- type/scale => scenario
- name => answer field name
- relevance => comparison operator
- text => expected answer