Actions

Structura sondajului Valoare separată cu tabele

From LimeSurvey Manual

Revision as of 08:28, 6 November 2023 by Maren.fritz (talk | contribs) (Created page with "Există un rând pe câmp pentru fiecare limbă în tabelul sondaje_setare limbi. Toate intrările pentru o anumită limbă sunt colectate înainte de a face inserarea în ace...")


Import și export cu valori separate prin file ale structurii sondajului

Această caracteristică este concepută pentru a facilita utilizarea unui software pentru foi de calcul precum LibreOffice, Excel sau Google Docs pentru a crea și edita chestionare. Elimină complet dependența de codurile SGQA.

Această caracteristică acceptă importul din fișiere TSV (Tabula Separated Value) codificate ASCII sau UTF-8 care au extensia .txt.


Template:Notă


Noțiuni introductive

Cea mai simplă modalitate este de a efectua un sondaj existent și de a-l exporta în format Valoare separată prin tabulatori. Folosiți butonul normal de export pentru sondaj și, în loc să selectați formatul .lss, selectați „Format valori separate prin tabele (*.txt)”. Acesta va fi salvat ca un fișier cu valori separate prin file în formatul adecvat (fișier Unicode delimitat prin file), cu toate titlurile de coloană corecte.

Orice software pentru foi de calcul care acceptă valori separate prin file este în regulă (de exemplu, OpenOffice sau LibreOffice). LimeSurvey ignoră orice formatare din foaia de calcul, dar nu ezitați să adăugați unele dacă vă ajută.

Rețineți că fișierul exportat este în format UTF-8, cu marca de ordine a octetilor (BOM) ca primele trei caractere (ascunse). Dacă faceți dublu clic pe .txt și încercați să îl deschideți direct cu Excel, acesta nu se va deschide corect deoarece Excel nu își dă seama că este formatat UTF-8. Pentru a deschide aceste fișiere cu Excel, deschideți mai întâi Excel, apoi selectați File:Open, selectați fișierul .txt și spuneți Excel că folosește codificarea UTF-8.

Va exista câte un rând pentru fiecare grup, întrebare, subîntrebare și răspuns. Există, de asemenea, rânduri pentru variabilele sondajului global și pentru variabilele sondajului specifice limbii. Prima limbă va fi listată, urmată de orice limbă secundară. Deci, dacă există mai multe limbi, va apărea mai întâi întregul conținut al limbii de bază (de exemplu, toate grupurile, întrebările, subîntrebările și răspunsurile). Aceasta va fi urmată de o copie tradusă pentru fiecare limbă secundară (cu exact același număr și ordine sau rânduri pentru setul tradus).

Relațiile sunt deduse prin proximitate. Deci, întrebările care urmează unui grup fac parte din acel grup; subîntrebările care urmează unei întrebări fac parte din acea întrebare, iar răspunsurile care urmează după o întrebare fac parte din întrebarea respectivă. Astfel, nu trebuie să cunoașteți ID-urile (gid, qid, sqid) pentru orice întrebări. Acestea vor fi calculate automat la import. De fapt, acest format nu folosește deloc gid, qid sau sqid (sau coduri SGQA).


Sfaturi

Scopul importului/exportului cu valori separate prin file este să vă permită să vă proiectați rapid sondajul folosind o foaie de calcul. Ne așteptăm să importați frecvent foaia, să verificați valabilitatea acesteia folosind funcția „Afișați logica sondajului” și să o testați. De fiecare dată când îl importați, veți primi un nou sondaj. Deci, s-ar putea să ajungeți cu multe sondaje parțial dezvoltate, dar asta este în regulă. Obișnuiește-te să ții evidența care este cel mai recent sau șterge-l pe cel vechi după ce le importați pe cele noi. Întrucât nu utilizați niciodată coduri SGQA în Valoare separată de file, nu trebuie să vă faceți griji cu privire la codurile atribuite de LimeSurvey pentru cheile primare de sondaj, grup, întrebări și răspunsuri. Deci, nu ezitați să importați și să exportați ori de câte ori doriți.

Iată câteva lucruri convenabile pe care le puteți face cu această abordare a instrumentelor de creație:

  1. Utilizați aceleași răspunsuri pentru multe întrebări. Doar copiați rândurile „A” și lipiți după fiecare întrebare care ar trebui să aibă același set.
  2. Folosiți aceleași subîntrebări pentru multe întrebări. Doar copiați rândurile „SQ” și lipiți-le după fiecare întrebare care are nevoie.
  3. "Looping" - utilizați același grup de mai multe ori. După ce grupul este așa cum doriți, copiați-l de câte ori este necesar. Utilizați filtrarea Excel pentru a vizualiza doar rândurile „G” (pentru grupuri) și utilizați funcția de tragere a coloanei Excel pentru a actualiza ecuațiile de relevanță pentru fiecare grup (de exemplu, pentru un recensământ, prima relevanță ar putea fi „numPeople > 1”, următorul ar trebui să fie „numPeople > 2”. Funcția de glisare va actualiza automat numărul). Filtrați după rândurile „Q” și asigurați-vă că fiecare întrebare are o valoare unică (de exemplu, să spuneți că vă denumiți variabilele g1_q1, g1_q2, g1_qN, utilizați find/replace pentru a converti g1 în g2 al doilea grup; g3 pentru al treilea etc.) .
  4. Reordonarea întrebărilor/grupurilor. Pur și simplu reordonați rândurile fișierului tabelar.
  5. Testarea modulelor de sondaj. Pentru sondaje lungi, poate doriți să împărțiți testarea în module. Pur și simplu creați noi fișiere foaie de calcul pentru fiecare modul, ștergând toate rândurile de care nu aveți nevoie. Acest lucru evită nevoia de a introduce multe date pentru a testa secțiunile ulterioare ale sondajului.
  6. Testarea întrebărilor obligatorii. O plângere comună nu este necesitatea de a face multe întrebări obligatorii, ci nevoia de a dezactiva caracteristica obligatorie pentru testare. Pur și simplu creați foaia de calcul principală cu setarea obligatorie la valorile finale dorite. Apoi, pentru a-l testa, ștergeți coloana „obligatorie” și salvați versiunea de testare a foii de calcul. Când importați acea versiune, niciuna dintre întrebări nu va fi obligatorie. După ce ați terminat testarea, importați copia principală.
  7. Setarea setărilor implicite. În loc să utilizați interfața grafică, puteți introduce orice setări implicite dorite în coloana implicită. Acest lucru este util în special pentru cazurile în care GUI nu vă permite să introduceți valoarea dorită, cum ar fi expresii pentru a seta valoarea implicită pentru elementele din listă (cum ar fi popularea unei liste de la un participant la sondaj).
  8. Traducere. Puteți crea copii ale foii de calcul - una pentru fiecare limbă. Includeți toate rândurile pentru limba principală, apoi copiați și inserați-le mai jos și folosiți tragerea pentru a schimba câmpul de limbă în limba țintă. Acestea pot fi distribuite traducătorilor dvs. și reintegrate într-un singur fișier foaie de calcul când sunt terminate.
  9. Setarea în bloc a atributelor avansate ale întrebării. Poate doriți ca toate ecuațiile dvs. să înceapă vizibile (astfel încât să le puteți vedea valorile pe măsură ce colectați date), dar apoi să le ascundeți pe toate înainte de a trece la producție. Pur și simplu filtrați foaia de calcul pe class = „Q” și tipul întrebării = „*” (ecuație) și setați always_hide la 1 pentru fiecare dintre acele întrebări. În mod similar, să spunem că după ce creați sondajul, decideți ce întrebări ar trebui să apară în statisticile publice. În loc să editați fiecare întrebare prin GUI, filtrați pe class = 'Q' și setați public_statistics = 1 pentru toate întrebările care ar trebui să fie vizibile în statistici.
  10. Găsiți și înlocuiți. Să presupunem că decideți că trebuie să schimbați o parte din formularea tuturor întrebărilor dvs., puteți utiliza Excel pentru a găsi și înlocui pentru a face acele modificări. În mod similar, să presupunem că decideți să faceți o redenumire în bloc a variabilelor dvs., găsirea și înlocuirea poate veni în ajutor. Dacă aveți nevoie de găsirea și înlocuirea bazată pe expresii regulate, puteți selecta coloana dorită, puteți copia într-un editor de text, puteți căuta și înlocui și lipiți coloana înapoi în foaia de calcul.
  11. 'Obținerea aprobărilor '. Dacă faceți cercetări, este posibil să aveți un consiliu de evaluare instituțională care insistă să vadă textul întrebărilor. Aceasta poate fi o modalitate convenabilă de a-l partaja. La fel și pentru discuțiile cu un client.
  12. Consens de echipă. Dacă încercați să convingeți un grup să cadă de acord cu privire la formularea sau aspectul unei întrebări sau al unui grup, puteți să creați rapid prototipuri / editați foaia de calcul, să o importați și să arătați echipei (prin întrebare sau previzualizare de grup) exact ceea ce vor vedea utilizatorii. . În acest fel, puteți obține aprobarea echipei înainte de a părăsi sala, în loc să trebuiască să documentați cerințele, să le construiți și să obțineți aprobarea la întâlnirile viitoare.
  13. Actualizarea de la alte formate de sondaj. Dacă sondajul dvs. este în format XML, Word sau alt format, puteți crea un proces de traducere pentru a le mapa la acest format. Deși ați putea încerca și maparea în formatul .lss, avantajul acestui format este că nu vă necesită să urmăriți relațiile cheie străine dintre grupuri, întrebări, subîntrebări, răspunsuri și valori implicite.


Limitări

  1. Din proiect, această caracteristică funcționează corect numai pentru sondajele care utilizează denumirea qcode (mai degrabă decât SGQA). Această caracteristică presupune că numele variabilelor (identificatorii întrebărilor) sunt unice pe tot parcursul sondajului. Numele subîntrebărilor pot fi repetate, atâta timp cât sunt unice în sfera unei anumite întrebări.


Format fișier

General

Folosim același set de titluri de coloane pentru mai multe scopuri. Primele 14 coloane servesc scopuri diferite în funcție de tipul de entitate (de exemplu, grup, întrebare, răspuns). Coloanele rămase sunt o listă alfabetică a numelor câmpurilor bazei de date pentru codurile de întrebări avansate. Mai jos este sintaxa pentru fiecare tip de entitate

Primele 14 coloane sunt:

  1. id (New in 3.14.0 )
  2. related_id (New in 3.14.0 )
  3. class
  4. type/scale
  5. nume
  6. relevanță
  7. text
  8. ajutor
  9. limbă
  10. validare
  11. obligatoriu
  12. altele
  13. default
  14. same_default
 Hint: Columnele id și related_id sunt folosite numai pentru cotă și sunt opționale. Dacă nu aveți cotă, puteți elimina direct aceste 2 coloane.


Parametri globali de sondaj

Există un rând pe parametru în tabelul de anchete.

  1. class => 'S'
  2. name => numele câmpului bazei de date
  3. text => valoare


Parametri specifici limbajului sondajului

Există un rând pe câmp pentru fiecare limbă în tabelul sondaje_setare limbi. Toate intrările pentru o anumită limbă sunt colectate înainte de a face inserarea în acel tabel.

  1. class => 'SL'
  2. name => numele câmpului bazei de date
  3. text => valoare
  4. language = > limba


Groups

One group row per survey language (e.g., there would be 3 group rows if survey has 3 languages).

  1. id => unique numeric identifier for the group, starting with number 1, use the same ID for additional languages belonging to current group
  2. class => 'G'
  3. name => group_name -- the unique identifier for the group
  4. relevance => grelevance -- the group-level relevance equation, without curly braces
  5. text => description -- the language-specific description of the group
  6. language => language -- the language for the group (e.g., '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