Actions

Tabulátorral elválasztott érték felmérés szerkezete

From LimeSurvey Manual

Revision as of 17:28, 9 October 2023 by Maren.fritz (talk | contribs) (Created page with "=Fájlformátum=")


Tabulátorral elválasztott érték felmérési szerkezet importálása és exportálása

Ezt a funkciót arra tervezték, hogy megkönnyítse a táblázatkezelő szoftverek, például a LibreOffice, az Excel vagy a Google Docs használatát felmérések készítéséhez és szerkesztéséhez. Teljesen kiküszöböli az SGQA kódoktól való függőséget.

Ez a funkció támogatja az importálást ASCII vagy UTF-8 kódolású tabulátorral elválasztott érték (TSV) fájlokból, amelyek kiterjesztése .txt.


Template:Megjegyzés


Első lépések

A legegyszerűbb módja egy meglévő felmérés elkészítése és tabulátorral elválasztott érték formátumban történő exportálása. Használja a normál export felmérés gombot, és az .lss formátum kiválasztása helyett válassza a "Tabulátorral elválasztott értékek formátuma (*.txt)" lehetőséget. A rendszer tabulátorral elválasztott értékfájlként menti a megfelelő formátumban (tabulátorral tagolt unicode fájl), az összes megfelelő oszlopfejléccel.

Bármely táblázatkezelő szoftver, amely támogatja a tabulátorral elválasztott értékeket, megfelelő (pl. OpenOffice vagy LibreOffice). A LimeSurvey figyelmen kívül hagy minden formázást a táblázaton belül, de nyugodtan adjon hozzá néhányat, ha ez segít.

Vegye figyelembe, hogy az exportált fájl UTF-8 formátumú, és az első három (rejtett) karakter a Byte Order Mark (BOM). Ha duplán rákattint a .txt fájlra, és megpróbálja megnyitni közvetlenül az Excel segítségével, akkor az nem nyílik meg megfelelően, mert az Excel nem veszi észre, hogy UTF-8 formátumú. A fájlok Excel programmal való megnyitásához először nyissa meg az Excel programot, majd válassza a Fájl:Megnyitás lehetőséget, válassza ki a .txt fájlt, és mondja meg az Excelnek, hogy UTF-8 kódolást használ.

Minden csoporthoz, kérdéshez, részkérdéshez és válaszhoz egy sor tartozik. Vannak sorok a globális felmérési változókhoz és a nyelvspecifikus felmérési változókhoz is. Először az elsődleges nyelv jelenik meg, majd a másodlagos nyelvek. Tehát ha több nyelv is van, akkor először az alapnyelv teljes tartalma jelenik meg (pl. minden csoport, kérdés, részkérdés és válasz). Ezt követi egy-egy lefordított példány minden másodlagos nyelvhez (pontosan azonos számmal és sorrendben vagy sorokkal a lefordított készlethez).

A kapcsolatokra a közelségből lehet következtetni. Tehát a csoportot követő kérdések ennek a csoportnak a részét képezik; a kérdést követő részkérdések a kérdés részét képezik, a kérdést követő válaszok pedig a kérdés részét képezik. Így nem kell tudnia az azonosítókat (gid, qid, sqid) bármilyen kérdés esetén. Ezeket az importáláskor a rendszer automatikusan kiszámolja. Valójában ez a formátum egyáltalán nem használ gid, qid vagy sqid (vagy SGQA kódokat).


Tippek

A tabulátorral elválasztott értékek importálása/exportálása célja, hogy gyorsan megtervezhesse felmérését táblázat segítségével. Elvárjuk, hogy gyakran importálja a lapot, ellenőrizze érvényességét a "Felmérés logikájának megjelenítése" funkcióval, majd tesztelje. Minden alkalommal, amikor importálja, új felmérést kap. Tehát sok, részben kidolgozott felmérést kaphat, de ez rendben van. Csak szokja meg nyomon követni, hogy melyik a legfrissebb, vagy törölje a régit, miután importálta az újakat. Mivel soha nem használ SGQA kódokat a Tabulátorral elválasztott értékben, soha nem kell aggódnia amiatt, hogy a LimeSurvey milyen kódokat rendel hozzá az elsődleges felmérési, csoportos, kérdés- és válaszkulcsokhoz. Tehát nyugodtan importáljon és exportáljon, amikor csak akarja.

Íme néhány kényelmes dolog, amit a szerzői eszközök ilyen megközelítésével megtehet:

  1. Sok kérdésre használja ugyanazt a választ. Csak másolja ki az 'A' sorokat, és illessze be minden olyan kérdés után, amelynek ugyanabban a halmazban kell lennie.
  2. Sok kérdéshez használja ugyanazt az alkérdést. Csak másolja ki az 'SQ' sorokat, és illessze be azokat minden olyan kérdés után, amelyiknek szüksége van rá.
  3. "Looping" - többször használja ugyanazt a csoportot. Miután a csoport olyan lett, ahogyan szeretné, másolja le annyiszor, ahányszor szükséges. Használja az Excel szűrését, hogy csak a „G” sorokat jelenítse meg (csoportok esetén), és használja az Excel oszlophúzási funkcióját az egyes csoportok relevanciaegyenleteinek frissítéséhez (pl. népszámlálás esetén az első relevancia lehet „numPeople > 1”, a következő a „numPeople > 2” legyen. A drag funkció automatikusan frissíti a számot). Szűrje a „Q” sorokat, és győződjön meg arról, hogy minden kérdésnek egyedi értéke van (pl. mondjuk elnevezi a g1_q1, g1_q2, g1_qN változóit, használja a find/replace parancsot a g1-ből g2-re konvertálásához a második csoportba; a g3-at a harmadikhoz stb.) .
  4. Kérdések/csoportok átrendezése. Egyszerűen rendezze újra a táblázatfájl sorait.
  5. Felmérési modulok tesztelése. Hosszú felmérések esetén érdemes modulokra bontani a tesztelést. Egyszerűen hozzon létre új táblázatokat minden modulhoz, és törölje a felesleges sorokat. Ezzel elkerülhető, hogy sok adatot kelljen megadni a felmérés későbbi szakaszainak teszteléséhez.
  6. Kötelező kérdések tesztelése. Gyakori panasz nem az, hogy sok kérdést kötelezővé kell tenni, hanem az, hogy ki kell kapcsolni a kötelező funkciót a teszteléshez. Egyszerűen hozza létre a fő táblázatot, kötelezően beállítva a végső kívánt értékekre. Ezután a teszteléshez egyszerűen törölje a "kötelező" oszlopot, és mentse el a táblázat tesztverzióját. Amikor importálja ezt a verziót, egyik kérdés sem lesz kötelező. Miután befejezte a tesztelést, importálja a mester másolatot.
  7. Alapértelmezések beállítása. A grafikus felhasználói felület használata helyett bármilyen kívánt alapértelmezett értéket megadhat az alapértelmezett oszlopban. Ez különösen olyan esetekben hasznos, amikor a grafikus felhasználói felület nem teszi lehetővé a kívánt érték megadását, például expressions a listaelemek alapértelmezett beállításához (például egy lista feltöltése egy [[felmérés résztvevőitől] ] attribútum).
  8. Fordítás. A táblázatról másolatokat készíthet – nyelvenként egyet. Vegye fel az elsődleges nyelv összes sorát, majd másolja és illessze be őket alább, és a húzással módosítsa a nyelvi mezőt a célnyelvre. Ezeket ki lehet osztani a fordítóinak, és ha elkészültek, újra integrálhatók egyetlen táblázatfájlba.
  9. Speciális kérdésattribútumok tömeges beállítása. Érdemes lehet, hogy az összes egyenlete láthatóvá váljon (hogy az adatok gyűjtése közben megtekinthesse az értékeket), de aztán elrejti őket, mielőtt élesre lépne. Egyszerűen szűrje le a táblázatot a class = 'Q' és a kérdés típusa = '*' (egyenlet) alapján, és állítsa az always_hide értéket 1-re mindegyik kérdésnél. Hasonlóképpen, mondjuk a felmérés elkészítése után Ön dönti el, hogy mely kérdések jelenjenek meg a nyilvános statisztikákban. Ahelyett, hogy az egyes kérdéseket a grafikus felhasználói felületen keresztül szerkesztené, szűrje a class = 'Q' elemet, és állítsa a public_statistics = 1 értéket az összes olyan kérdésre, amelyeknek látniuk kell a statisztikákban.
  10. Keressen és cseréljen. Tegyük fel, hogy úgy dönt, hogy módosítania kell néhány megfogalmazást az összes kérdésében, használhatja az Excel keresési és cseréjét a módosítások végrehajtásához. Hasonlóképpen, ha úgy dönt, hogy tömegesen átnevezte változóit, a keresés és a csere segíthet. Ha reguláris kifejezés alapú keresésre és cserére van szüksége, kiválaszthatja a kívánt oszlopot, átmásolhatja egy szövegszerkesztőbe, elvégezheti a keresést és cserét, majd visszaillesztheti az oszlopot a táblázatba.
  11. 'Jóváhagyások megszerzése '. Ha kutatást végez, lehet, hogy van egy intézményi felülvizsgálati testülete, amely ragaszkodik a kérdések szövegének megtekintéséhez. Ez kényelmes módja lehet a megosztásnak. Hasonlóan az ügyféllel folytatott megbeszélésekhez.
  12. Csapatkonszenzus. Ha megpróbál rávenni egy csoportot, hogy megegyezzen egy kérdés vagy csoport megfogalmazásában vagy megjelenésében, gyorsan prototípust készíthet / szerkesztheti a táblázatot, importálhatja, és megmutathatja a csapatnak (kérdés vagy csoport előnézetén keresztül), hogy pontosan mit fognak látni a felhasználók. . Így Ön jóváhagyást kaphat a csapattól, mielőtt elhagynák a helyiséget, ahelyett, hogy dokumentálnia kellene a követelményeket, ki kellene alakítania azokat, és jóváhagyást kellene szereznie a jövőbeli találkozókon.
  13. Frissítés más felmérési formátumokról. Ha a felmérés XML, Word vagy más formátumú, létrehozhat egy fordítási folyamatot, amely leképezi őket erre a formátumra. Bár meg lehet próbálni az .lss formátumra való leképezést is, ennek a formátumnak az az előnye, hogy nem szükséges nyomon követni a csoportok, kérdések, alkérdések, válaszok és alapértelmezett értékek közötti idegen kulcs kapcsolatokat.


Korlátozások

  1. A tervezés szerint ez a szolgáltatás csak olyan felméréseknél működik megfelelően, amelyek qcode (nem SGQA) elnevezést használnak. Ez a szolgáltatás azt feltételezi, hogy a változónevek (kérdésazonosítók) egyediek a felmérés során. Az alkérdések nevei megismételhetők, amennyiben egyediek egy adott kérdés hatókörén belül.


Fájlformátum

General

We use the same set of column headings for multiple purposes. The first 14 columns serve different purposes depending upon the type of entity (e.g., group, question, answer). The remaining columns are an alphabetical list of the database field names for the advanced question codes. Below is the syntax for each entity type

The first 14 columns are:

  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: Columns id and related_id are used only for quota and are optional. If you don't have quota, you can directly remove this 2 columns.


Survey Global Parameters

There is one row per parameter in the surveys table.

  1. class => 'S'
  2. name => database field name
  3. text => value


Survey Language-Specific Parameters

There is one row per field per language in the surveys_languagesettings table. All entries for a given language are collected before doing the insert into that table.

  1. class => 'SL'
  2. name => database field name
  3. text => value
  4. language => language


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