x

Capitoli principali

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. LimeSurvey Cloud - Guida rapida
  3. LimeSurvey CE - Installazione
  4. Come progettare un buon sondaggio (Guida)
  5. Iniziare
  6. Configurazione di LimeSurvey
  7. Introduzione - Sondaggi
  8. Visualizza le impostazioni del sondaggio
  9. Visualizza il menu del sondaggio
  10. Visualizza la struttura del sondaggio
  11. Introduzione - Domande
  12. Introduzione - Gruppi di domande
  13. Introduzione - Indagini - Gestione
  14. Opzioni della barra degli strumenti del sondaggio
  15. Sondaggio multilinguale
  16. Guida rapida - ExpressionScript
  17. Funzionalità avanzate
  18. Domande frequenti generali
  19. Risoluzione dei problemi
  20. Soluzioni alternative
  21. Licenza
  22. Registro delle modifiche alla versione
  23. Plugin - Avanzati
 Actions

Struttura del sondaggio sul valore separato da tabulazioni

From LimeSurvey Manual

Revision as of 18:28, 25 July 2023 by Maren.fritz (talk | contribs) (Created page with "Una riga di gruppo per lingua del sondaggio (ad esempio, ci sarebbero 3 righe di gruppo se il sondaggio ha 3 lingue). #id => identificatore numerico univoco per il gruppo, a p...")


Importazione ed esportazione di valori separati da tabulazioni della struttura del sondaggio

Questa funzione è progettata per semplificare l'utilizzo di un software per fogli di calcolo come LibreOffice, Excel o Google Docs per creare e modificare sondaggi. Elimina completamente la dipendenza dai codici SGQA.

Questa funzione supporta l'importazione da file TSV (Tab Separated Value) con codifica ASCII o UTF-8 con estensione .txt.


Template:Nota


Per iniziare

Il modo più semplice è prendere un sondaggio esistente ed esportarlo in formato Valore separato da tabulazioni. Utilizza il normale pulsante di esportazione del sondaggio e, invece di selezionare il formato .lss, seleziona "Formato valori separati da tabulazioni (*.txt)". Verrà salvato come file con valori separati da tabulazioni nel formato corretto (file Unicode delimitato da tabulazioni), con tutte le intestazioni di colonna corrette.

Va bene qualsiasi software per fogli di calcolo che supporti i valori separati da tabulazioni (ad es. OpenOffice o LibreOffice). LimeSurvey ignora qualsiasi formattazione all'interno del foglio di calcolo, ma sentiti libero di aggiungerne qualcuna se ti aiuta.

Si noti che il file esportato è in formato UTF-8 con il Byte Order Mark (BOM) come primi tre caratteri (nascosti). Se fai doppio clic sul file .txt e provi ad aprirlo direttamente con Excel, non si aprirà correttamente perché Excel non si rende conto che è in formato UTF-8. Per aprire questi file con Excel, prima apri Excel, quindi seleziona File:Apri, seleziona il file .txt e comunica a Excel che sta utilizzando la codifica UTF-8.

Ci sarà una riga per ogni gruppo, domanda, sottodomanda e risposta. Ci sono anche righe per le variabili del sondaggio globale e per le variabili del sondaggio specifiche della lingua. La lingua principale verrà elencata per prima, seguita da eventuali lingue secondarie. Quindi, se sono presenti più lingue, verrà visualizzato per primo l'intero contenuto della lingua di base (ad esempio, tutti i gruppi, le domande, le sottodomande e le risposte). Questo sarà seguito da una copia tradotta per ogni lingua secondaria (con esattamente lo stesso numero e lo stesso ordine o righe per il set tradotto).

Le relazioni sono dedotte dalla prossimità. Quindi, le domande che seguono un gruppo fanno parte di quel gruppo; le sottodomande che seguono una domanda fanno parte di quella domanda e le risposte che seguono una domanda fanno parte di quella domanda. Pertanto, non è necessario conoscere gli ID (gid, qid, sqid) per qualsiasi domanda. Questi verranno calcolati automaticamente al momento dell'importazione. In effetti, questo formato non utilizza affatto gid, qid o sqid (o codici SGQA).


Suggerimenti

L'obiettivo dell'importazione/esportazione di valori separati da tabulazioni è consentirti di progettare rapidamente il tuo sondaggio utilizzando un foglio di calcolo. Prevediamo che importerai frequentemente il foglio, ne verificherai la validità utilizzando la funzione "Mostra logica del sondaggio" e lo testerai. Ogni volta che lo importi, otterrai un nuovo sondaggio. Quindi, potresti ritrovarti con molti sondaggi parzialmente sviluppati, ma va bene. Basta prendere l'abitudine di tenere traccia di quale è il più recente o eliminare quello vecchio dopo aver importato quelli nuovi. Dal momento che non utilizzi mai i codici SGQA nel valore separato da tabulazioni, non devi mai preoccuparti di quali codici LimeSurvey assegna per il sondaggio principale, il gruppo, la domanda e le chiavi di risposta. Quindi, sentiti libero di importare ed esportare tutte le volte che vuoi.

Ecco alcune cose utili che puoi fare con questo approccio agli strumenti di creazione:

  1. Usa le stesse risposte per molte domande. Basta copiare le righe 'A' e incollarle dopo ogni domanda che dovrebbe avere lo stesso insieme.
  2. Usa le stesse sottodomande per molte domande. Basta copiare le righe 'SQ' e incollarle dopo ogni domanda che ne ha bisogno.
  3. "Looping" - usa lo stesso gruppo molte volte. Dopo che il gruppo è come lo desideri, copialo tutte le volte che è necessario. Utilizza i filtri di Excel per visualizzare solo le righe "G" (per i gruppi) e utilizza la funzione di trascinamento della colonna di Excel per aggiornare le equazioni di rilevanza per ciascun gruppo (ad esempio, per un censimento, la prima rilevanza potrebbe essere "numPeople > 1", la successiva dovrebbe essere "numPeople > 2". La funzione di trascinamento aggiornerà automaticamente il numero). Filtra per righe 'Q' e assicurati che ogni domanda abbia un valore univoco (ad esempio, supponi di nominare le tue variabili g1_q1, g1_q2, g1_qN, usa trova/sostituisci per convertire g1 in g2 il secondo gruppo; g3 per il terzo, ecc.).
  4. Riordino di domande/gruppi. È sufficiente riordinare le righe del foglio di calcolo.
  5. Testare i moduli di indagine. Per lunghi sondaggi, potresti voler suddividere il test in moduli. Crea semplicemente nuovi file di fogli di calcolo per ciascun modulo, eliminando tutte le righe che non ti servono. Questo evita la necessità di inserire molti dati per testare sezioni successive del sondaggio.
  6. Domande obbligatorie di test. Una lamentela comune non è la necessità di rendere obbligatorie molte domande, ma la necessità di disattivare la funzione obbligatoria per i test. Crea semplicemente il foglio di calcolo principale con l'impostazione obbligatoria sui valori finali desiderati. Quindi, per testarlo, basta eliminare la colonna "obbligatoria" e salvare la versione di prova del foglio di calcolo. Quando importi quella versione, nessuna delle domande sarà obbligatoria. Dopo aver terminato il test, importa la copia master.
  7. Setting defaults. Anziché utilizzare la GUI, è possibile inserire qualsiasi impostazione predefinita desiderata nella colonna predefinita. Ciò è particolarmente utile nei casi in cui la GUI non consente di inserire il valore desiderato, come espressioni per impostare l'impostazione predefinita per gli elementi dell'elenco (come la compilazione di un elenco da un attributo partecipante al sondaggio.
  8. Traduzione. Puoi creare copie del tuo foglio di calcolo, una per lingua. Includi tutte le righe per la lingua principale, quindi copiale e incollale di seguito e usa il trascinamento per cambiare il campo della lingua nella lingua di destinazione. Questi possono essere distribuiti ai tuoi traduttori e reintegrati in un singolo file di foglio di calcolo quando hanno finito.
  9. Impostazione in blocco degli attributi delle domande avanzate. Potresti volere che tutte le tue equazioni inizino a essere visibili (così puoi vedere i loro valori mentre raccogli i dati), ma poi nascondile tutte prima di andare in produzione. Basta filtrare il foglio di calcolo su class = 'Q' e tipo di domanda = '*' (equazione) e impostare always_hide su 1 per ciascuna di queste domande. Allo stesso modo, supponiamo che dopo aver creato il sondaggio, tu decida quali domande dovrebbero apparire nelle statistiche pubbliche. Piuttosto che modificare ogni domanda tramite la GUI, filtrare su class = 'Q' e impostare public_statistics = 1 per tutte le domande che dovrebbero essere visibili nelle statistiche.
  10. Trova e sostituisci. Supponiamo che tu decida di dover modificare alcune frasi in tutte le tue domande, puoi utilizzare Trova e sostituisci di Excel per apportare tali modifiche. Allo stesso modo, supponiamo che tu decida di eseguire una ridenominazione in blocco delle tue variabili, trova e sostituisci può venire in soccorso. Se hai bisogno di ricerca e sostituzione basata su espressioni regolari, puoi selezionare la colonna desiderata, copiarla in un editor di testo, eseguire la ricerca e la sostituzione e incollare nuovamente la colonna nel foglio di calcolo.
  11. Ottenimento di approvazioni. Se stai facendo ricerche, potresti avere un comitato di revisione istituzionale che insiste per vedere il testo delle domande. Questo può essere un modo conveniente per condividerlo. Allo stesso modo per le discussioni con un cliente.
  12. Consenso del team. Se stai cercando di convincere un gruppo a concordare la formulazione o l'aspetto di una domanda o di un gruppo, puoi prototipare/modificare rapidamente il foglio di calcolo, importarlo e mostrare al team (tramite domanda o anteprima di gruppo) esattamente ciò che vedranno gli utenti. In questo modo puoi ottenere l'approvazione dal team prima che lasci la stanza invece di dover documentare i requisiti, crearli e ottenere l'approvazione durante le riunioni future.
  13. Aggiornamento da altri formati di sondaggio. Se il tuo sondaggio è in XML, Word o altro formato, puoi creare un processo di traduzione per mapparli a questo formato. Sebbene tu possa anche provare a eseguire il mapping al formato .lss, il vantaggio di questo formato è che non richiede di tenere traccia delle relazioni di chiave esterna tra gruppi, domande, domande secondarie, risposte e impostazioni predefinite.


Limitazioni

  1. In base alla progettazione, questa funzione funziona correttamente solo per i sondaggi che utilizzano la denominazione qcode (piuttosto che SGQA). Questa funzione presuppone che i nomi delle variabili (identificatori di domanda) siano univoci in tutto il sondaggio. I nomi delle sottodomande possono essere ripetuti, purché siano univoci nell'ambito di una particolare domanda.


Formato file

Generale

Utilizziamo lo stesso insieme di intestazioni di colonna per più scopi. Le prime 14 colonne hanno scopi diversi a seconda del tipo di entità (ad esempio, gruppo, domanda, risposta). Le restanti colonne sono un elenco alfabetico dei nomi dei campi del database per i codici delle domande avanzate. Di seguito è riportata la sintassi per ogni tipo di entità

Le prime 14 colonne sono:

  1. id (New in 3.14.0 )
  2. related_id (New in 3.14.0 )
  3. class
  4. type/scale
  5. name
  6. relevance
  7. text
  8. help
  9. language
  10. validation
  11. mandatory
  12. other
  13. default
  14. same_default
 Hint: Le colonne id e related_id sono utilizzate solo per la quota e sono facoltative. Se non disponi di quota, puoi rimuovere direttamente queste 2 colonne.


Parametri globali del sondaggio

C'è una riga per parametro nella tabella dei sondaggi.

  1. class => 'S'
  2. name => nome del campo del database
  3. text => valore


Parametri specifici della lingua del sondaggio

C'è una riga per campo per lingua nella tabella surveys_languagesettings. Tutte le voci per una determinata lingua vengono raccolte prima di eseguire l'inserimento in quella tabella.

  1. class => 'SL'
  2. name => nome del campo del database
  3. text => valore
  4. language => lingua


Gruppi

Una riga di gruppo per lingua del sondaggio (ad esempio, ci sarebbero 3 righe di gruppo se il sondaggio ha 3 lingue).

  1. id => identificatore numerico univoco per il gruppo, a partire dal numero 1, usa lo stesso ID per altre lingue appartenenti al gruppo corrente
  2. class => 'G'

N!#name => nome_gruppo -- l'identificatore univoco per il gruppo

  1. relevance => grelevance -- l'equazione di rilevanza a livello di gruppo, senza parentesi graffe
  2. text => descrizione -- la descrizione specifica della lingua del gruppo
  3. language => language -- la lingua del gruppo (ad esempio, 'en')


Questions

One question row per survey language (e.g., there would be 3 question rows if survey has 3 languages). Questions are assumed to belong to the group that precedes them.

  1. id => unique numeric identifier for the question, starting with number 1, use the same ID for additional languages belonging to current question
  2. class => 'Q'
  3. type/scale => type -- the (usually one letter) question type (e.g., 'M' is Multiple Choice)
  4. name => title -- the unique question name (the root of the qcode naming system)
  5. relevance => relevance -- the relevance equation for the question
  6. text => question -- the language-specific text of the question
  7. help => help -- the language-specific help text
  8. language => language -- the language for the group (e.g., 'en')
  9. validation => preg -- the optional regular expression validation criteria for the question
  10. mandatory => mandatory -- 'Y' if mandatory
  11. other => other -- 'Y' if the "Other" option should be available (only for some question types)
  12. default => default -- if set, this value is inserted into the defaultvalues table for this question
  13. same_default => same_default -- 'Y' for true, in which case any defaultvalue set for primary language applies to other languages


Subquestions

One subquestion row per survey language. Subquestions are assumed to belong to the question that precedes them.

  1. id => same unique numeric identifier which is used for the questions. Subquestions should use next available value, question and subquestion IDs should be different (e.g. use ID 1 for question and IDs 2, 3 and 4 for subquestions belonging to question 1, next question ID should be 5 and so on). Use the same subquestion ID for additional languages belonging to current subquestions.
  2. class => 'SQ'
  3. type/scale => scale_id -- 0 or 1, depending upon question type (e.g. array text will have two scales)
  4. name => title -- the "name" of the subquestion, e.g. the one used for exclude_all_others
  5. relevance => relevance -- (Future) to support subquestion-level relevance
  6. text => question -- the language-specific text of the subquestion
  7. help => help -- (Future) to support subquestion-level help
  8. language => language -- the language for the subquestion
  9. validation => preg -- (Future) to support subquestion-level regular expression validation (e.g. for address parts)
  10. mandatory => mandatory -- (Future) to support subquestion-level mandatory (e.g. make only a few subquestions mandatory)
  11. default => default -- if set, then this is the default value for the subquestion (inserted into defaultvalues table)
  12. same_default => same_default -- if set, then the default for the primary language is  used for all other languages


Answers

One answer row per survey language (e.g., there would be 3 answer rows if survey has 3 languages). Answers are assumed to belong to the question that precedes them, and be in the desired sort order.

  1. id => use the same ID as the ID of the question it belongs to
  2. class => 'A'
  3. type/scale => scale_id -- 0 or 1 (e.g. for dual-scale)
  4. name => code -- the unique answer identifier
  5. relevance => assessment_value -- if using assessment option, this is the assessment value for the answer
  6. text => answer -- the language-specific text of the answer
  7. language => language -- the language for this answer (e.g. 'en')


Assessments

One assessment row per survey language (e.g., there would be 3 assessment rows if survey has 3 languages). Assessments are written at the end of file.

  1. id => unique numeric identifier for the assessment, starting with number 1, use the same ID for additional languages belonging to current assessment
  2. related_id => id of group to which current assessment belongs to
  3. class => 'AS'
  4. type/scale => assessment scope: T-Total, G-group
  5. name => name
  6. text => message
  7. min_num_value => Minimum
  8. max_num_value => Maximum
  9. language => language -- the language for this answer (e.g. 'en')


Quotas

One row per quota. Quotas are written at the end of file.

  1. id => unique numeric identifier for the quota, starting with number 1
  2. class => 'QTA'
  3. name => quota name
  4. mandatory => limit
  5. other => quota action
  6. default => active
  7. same_default => autoload URL


Quota language settings

One quota row per survey language. Quota language settings are assumed to belong to the quota that precedes them.

  1. id => unique numeric identifier for the quota language settings, starting with number 1. Each row for different survey languages should have different IDs
  2. related_id => quota id of quota to which this setting belongs to
  3. class => 'QTALS'
  4. relevance => message
  5. text => URL
  6. help => URL description
  7. 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.

  1. id => unique numeric identifier for the quota members, starting with number 1
  2. related_id => quota id of quota to which this member belongs to
  3. class => 'QTAM'
  4. 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.

  1. id => unique numeric identifier for the condition, starting with number 1.
  2. related_id => question id of related question, if applicable
  3. class => 'C'
  4. type/scale => scenario
  5. name => answer field name
  6. relevance => comparison operator
  7. text => expected answer