Struktura průzkumu ve formátu hodnot oddělených tabulátory
From LimeSurvey Manual
Import a export struktury průzkumu ve formátu hodnot oddělených tabulátory
Tato funkce usnadňuje tvorbu a úpravy průzkumů v tabulkovém procesoru, jako je LibreOffice, Excel nebo Google Docs. Kompletně odstraní závislost na SGQA kódech.
Tato funkce podporuje import ze souborů s hodnotami oddělenými tabulátory (TSV) v kódování ASCII nebo UTF-8 s příponou .txt.
Začínáme
Nejjednodušší je vzít existující průzkum a exportovat ho ve formátu hodnot oddělených tabulátory. Použijte běžné tlačítko pro export průzkumu a místo formátu .lss vyberte "Tab Separated Values format (*.txt)". Průzkum se uloží jako soubor s hodnotami oddělenými tabulátory ve správném formátu (unicode soubor oddělený tabulátory) se všemi správnými záhlavími sloupců.
Vyhovuje jakýkoli tabulkový procesor, který podporuje hodnoty oddělené tabulátory (např. OpenOffice nebo LibreOffice). LimeSurvey ignoruje veškeré formátování v tabulce, ale pokud vám pomáhá, klidně ho použijte.
Pro každou skupinu, otázku, dílčí otázku a odpověď bude existovat jeden řádek. Jsou zde také řádky pro globální proměnné průzkumu a pro proměnné průzkumu specifické pro jazyk. Nejprve je uveden primární jazyk, následovaný případnými sekundárními jazyky. Pokud tedy existuje více jazyků, celý obsah základního jazyka se zobrazí jako první (např. všechny skupiny, otázky, dílčí otázky a odpovědi). Poté následuje přeložená kopie pro každý sekundární jazyk (s přesně stejným počtem a pořadím řádků pro přeloženou sadu).
Vztahy se odvozují podle blízkosti. Otázky následující za skupinou tedy patří do této skupiny; dílčí otázky následující za otázkou patří k této otázce a odpovědi následující za otázkou patří k této otázce. Nemusíte tedy znát ID (gid, qid, sqid) žádné otázky. Ta se při importu vypočítají automaticky. Tento formát ve skutečnosti vůbec nepoužívá gid, qid ani sqid (ani SGQA kódy).
Tipy
Cílem importu/exportu hodnot oddělených tabulátory je umožnit vám rychle navrhnout průzkum pomocí tabulky. Předpokládáme, že tabulku budete často importovat, kontrolovat její správnost pomocí funkce "Show Survey Logic" a testovat ji. Při každém importu získáte nový průzkum. Můžete tak skončit s mnoha částečně vytvořenými průzkumy, ale to nevadí. Zvykněte si sledovat, který z nich je nejnovější, nebo staré průzkumy po importu nových smažte. Protože v souboru s hodnotami oddělenými tabulátory nikdy nepoužíváte SGQA kódy, nemusíte se starat o to, jaké kódy LimeSurvey přiřadí primárnímu průzkumu, skupinám, otázkám a klíčům odpovědí. Importujte a exportujte tedy, jak často chcete.
Zde je několik užitečných věcí, které můžete s tímto přístupem k tvorbě dotazníků dělat:
- Použití stejných odpovědí pro více otázek. Zkopírujte řádky 'A' a vložte je za každou otázku, která má mít stejnou sadu.
- Použití stejných dílčích otázek pro více otázek. Zkopírujte řádky 'SQ' a vložte je za každou otázku, která je potřebuje.
- "Opakování" - použití stejné skupiny několikrát. Jakmile je skupina připravená podle vašich představ, zkopírujte ji tolikrát, kolikrát je potřeba. Pomocí filtru v Excelu zobrazte pouze řádky 'G' (skupiny) a pomocí přetažení sloupce v Excelu aktualizujte rovnice relevance pro každou skupinu (např. pro sčítání lidu může být první relevance "numPeople > 1", další by měla být "numPeople > 2". Funkce přetažení číslo automaticky aktualizuje). Vyfiltrujte řádky 'Q' a zajistěte, aby každá otázka měla jedinečnou hodnotu (např. pokud proměnné pojmenujete g1_q1, g1_q2, g1_qN, použijte najít/nahradit pro převod g1 na g2 u druhé skupiny; g3 u třetí atd.).
- Změna pořadí otázek/skupin. Jednoduše změňte pořadí řádků v tabulce.
- Testování modulů průzkumu. U dlouhých průzkumů můžete chtít rozdělit testování na moduly. Jednoduše vytvořte nové tabulky pro každý modul a smažte všechny řádky, které nepotřebujete. Tím se vyhnete nutnosti zadávat spoustu dat při testování pozdějších částí průzkumu.
- Testování povinných otázek. Častou stížností není potřeba nastavit mnoho otázek jako povinné, ale potřeba vypnout povinnost pro testování. Jednoduše vytvořte hlavní tabulku s povinností nastavenou na konečné požadované hodnoty. Pak pro testování stačí smazat sloupec "mandatory" a uložit testovací verzi tabulky. Po importu této verze nebude žádná z otázek povinná. Po dokončení testování importujte hlavní kopii.
- Nastavení výchozích hodnot. Místo grafického rozhraní můžete požadované výchozí hodnoty zadat do sloupce default. To je užitečné zejména tam, kde vám grafické rozhraní nedovolí zadat požadovanou hodnotu, například výrazy pro nastavení výchozí hodnoty položek seznamu (například naplnění seznamu z atributu respondenta).
- Překlad. Můžete vytvořit kopie tabulky - jednu pro každý jazyk. Zahrňte všechny řádky pro primární jazyk, poté je zkopírujte a vložte pod ně a pomocí přetažení změňte pole jazyka na cílový jazyk. Ty pak můžete rozeslat překladatelům a po dokončení je znovu sloučit do jediné tabulky.
- Hromadné nastavení pokročilých atributů otázek. Možná budete chtít, aby všechny vaše rovnice byly na začátku viditelné (abyste při sběru dat viděli jejich hodnoty), ale před nasazením do ostrého provozu je všechny skryli. Jednoduše vyfiltrujte tabulku podle class = 'Q' a typ otázky = '*' (rovnice) a u každé z těchto otázek nastavte always_hide na 1. Podobně, řekněme, že po vytvoření průzkumu se rozhodnete, které otázky se mají zobrazovat ve veřejné statistice. Místo úpravy každé otázky v grafickém rozhraní vyfiltrujte class = 'Q' a nastavte public_statistics = 1 u všech otázek, které mají být ve statistikách viditelné.
- Najít a nahradit. Pokud se rozhodnete změnit formulaci ve všech otázkách, můžete tyto změny provést pomocí funkce najít a nahradit v Excelu. Podobně, pokud se rozhodnete hromadně přejmenovat proměnné, pomůže vám najít a nahradit. Pokud potřebujete najít a nahradit pomocí regulárních výrazů, můžete vybrat požadovaný sloupec, zkopírovat ho do textového editoru, provést hledání a nahrazení a sloupec vložit zpět do tabulky.
- Získání schválení. Pokud provádíte výzkum, může existovat etická komise, která trvá na tom, že chce vidět text otázek. Toto může být pohodlný způsob, jak ho sdílet. Podobně při jednáních se zákazníkem.
- Shoda týmu. Pokud se snažíte, aby se skupina dohodla na formulaci nebo vzhledu otázky či skupiny, můžete tabulku rychle vytvořit jako prototyp / upravit, importovat ji a ukázat týmu (pomocí náhledu otázky nebo skupiny) přesně to, co uvidí uživatelé. Tak můžete získat schválení týmu dříve, než opustí místnost, místo abyste museli dokumentovat požadavky, vytvářet je a získávat schválení na budoucích schůzkách.
- Přechod z jiných formátů průzkumů. Pokud je váš průzkum ve formátu XML, Word nebo jiném, můžete vytvořit proces převodu do tohoto formátu. Ačkoli byste se mohli pokusit o převod i do formátu .lss, výhodou tohoto formátu je, že nemusíte sledovat vztahy cizích klíčů mezi skupinami, otázkami, dílčími otázkami, odpověďmi a výchozími hodnotami.
Omezení
- Tato funkce je záměrně určena pouze pro průzkumy, které používají pojmenování qcode (nikoli SGQA). Funkce předpokládá, že názvy proměnných (identifikátory otázek) jsou v celém průzkumu jedinečné. Názvy dílčích otázek se mohou opakovat, pokud jsou jedinečné v rámci dané otázky.
Formát souboru
Obecné
Stejná sada záhlaví sloupců se používá pro více účelů. Prvních 14 sloupců slouží různým účelům podle typu entity (např. skupina, otázka, odpověď). Zbývající sloupce jsou abecedním seznamem názvů polí databáze pro pokročilé kódy otázek. Níže je syntaxe pro každý typ entity
Prvních 14 sloupců je:
- id (New in 3.14.0 )
- related_id (New in 3.14.0 )
- class
- type/scale
- name
- relevance
- text
- help
- language
- validation
- mandatory
- other
- default
- same_default
Globální parametry průzkumu
Pro každý parametr v tabulce surveys existuje jeden řádek.
- class => 'S'
- name => název pole v databázi
- text => hodnota
Parametry průzkumu specifické pro jazyk
Pro každé pole a každý jazyk v tabulce surveys_languagesettings existuje jeden řádek. Všechny záznamy pro daný jazyk se shromáždí před vložením do této tabulky.
- class => 'SL'
- name => název pole v databázi
- text => hodnota
- language => jazyk
Skupiny
Jeden řádek skupiny na každý jazyk průzkumu (např. pokud má průzkum 3 jazyky, budou 3 řádky skupiny).
- id => jedinečný číselný identifikátor skupiny, začínající číslem 1, pro další jazyky patřící k aktuální skupině použijte stejné ID
- class => 'G'
- name => group_name -- jedinečný identifikátor skupiny
- relevance => grelevance -- rovnice relevance na úrovni skupiny, bez složených závorek
- text => description -- popis skupiny specifický pro jazyk
- language => language -- jazyk skupiny (např. 'en')
Otázky
Jeden řádek otázky na každý jazyk průzkumu (např. pokud má průzkum 3 jazyky, budou 3 řádky otázky). Předpokládá se, že otázky patří do skupiny, která jim předchází.
- id => jedinečný číselný identifikátor otázky, začínající číslem 1, pro další jazyky patřící k aktuální otázce použijte stejné ID
- class => 'Q'
- type/scale => type -- (obvykle jednopísmenný) typ otázky (např. 'M' je Vícenásobné možnosti)
- name => title -- jedinečný název otázky (základ systému pojmenování qcode)
- relevance => relevance -- rovnice relevance pro otázku
- text => question -- text otázky specifický pro jazyk
- help => help -- text nápovědy specifický pro jazyk
- language => language -- jazyk skupiny (např. 'en')
- validation => preg -- volitelná kritéria ověření otázky pomocí regulárního výrazu
- mandatory => mandatory -- 'Y', pokud je povinná
- other => other -- 'Y', pokud má být k dispozici možnost "Jiné" (pouze u některých typů otázek)
- default => default -- pokud je nastaveno, tato hodnota se vloží do tabulky defaultvalues pro tuto otázku
- same_default => same_default -- 'Y' pro pravda, v tom případě se jakákoli výchozí hodnota nastavená pro primární jazyk použije i pro ostatní jazyky
Dílčí otázky
Jeden řádek dílčí otázky na každý jazyk průzkumu. Dílčí otázky patří k otázce, která jim předchází.
- id => stejný jedinečný číselný identifikátor, který se používá u otázek. Dílčí otázky by měly používat další dostupnou hodnotu, ID otázek a dílčích otázek se musí lišit (např. použijte ID 1 pro otázku a ID 2, 3 a 4 pro dílčí otázky patřící k otázce 1, ID další otázky pak bude 5 atd.). Pro další jazyky téže dílčí otázky použijte stejné ID dílčí otázky.
- class => 'SQ'
- type/scale => scale_id -- 0 nebo 1, podle typu otázky (např. textová otázka typu pole bude mít dvě škály)
- name => title -- „jméno“ dílčí otázky, např. to, které se používá pro exclude_all_others
- relevance => relevance -- (v budoucnu) podpora relevance na úrovni dílčí otázky
- text => question -- text dílčí otázky specifický pro daný jazyk
- help => help -- (v budoucnu) podpora nápovědy na úrovni dílčí otázky
- language => language -- jazyk dílčí otázky
- validation => preg -- (v budoucnu) podpora ověření regulárním výrazem na úrovni dílčí otázky (např. pro části adresy)
- mandatory => mandatory -- (v budoucnu) podpora povinnosti na úrovni dílčí otázky (např. povinných jen několik dílčích otázek)
- default => default -- je-li nastaveno, jde o výchozí hodnotu dílčí otázky (vloží se do tabulky defaultvalues)
- same_default => same_default -- je-li nastaveno, použije se výchozí hodnota hlavního jazyka pro všechny ostatní jazyky
Odpovědi
Jeden řádek odpovědi na každý jazyk průzkumu (např. při 3 jazycích průzkumu budou 3 řádky odpovědi). Odpovědi patří k otázce, která jim předchází, a měly by být v požadovaném uspořádání.
- id => použijte stejné ID jako má otázka, ke které odpověď patří
- class => 'A'
- type/scale => scale_id -- 0 nebo 1 (např. u otázky se dvěma škálami)
- name => code -- jedinečný identifikátor odpovědi
- relevance => assessment_value -- při použití hodnocení jde o číselnou hodnotu hodnocení odpovědi
- text => answer -- text odpovědi specifický pro daný jazyk
- language => language -- jazyk této odpovědi (např. 'en')
Hodnocení
Jeden řádek hodnocení na každý jazyk průzkumu (např. při 3 jazycích průzkumu budou 3 řádky hodnocení). Hodnocení se zapisují na konec souboru.
- id => jedinečný číselný identifikátor hodnocení, počínaje číslem 1, pro další jazyky téhož hodnocení použijte stejné ID
- related_id => ID skupiny, ke které hodnocení patří
- class => 'AS'
- type/scale => rozsah hodnocení: T-celkové, G-skupina
- name => name
- text => message
- min_num_value => Minimum
- max_num_value => Maximum
- language => language -- jazyk této odpovědi (např. 'en')
Kvóty
Jeden řádek na každou kvótu. Kvóty se zapisují na konec souboru.
- id => jedinečný číselný identifikátor kvóty, počínaje číslem 1
- class => 'QTA'
- name => jméno kvóty
- mandatory => limit
- other => akce kvóty
- default => aktivní
- same_default => koncová URL
Nastavení kvóty jazyka
Jeden řádek kvóty na každý jazyk průzkumu. Nastavení kvóty jazyka patří ke kvótě, která mu předchází.
- id => jedinečný číselný identifikátor nastavení kvóty jazyka, počínaje číslem 1. Každý řádek pro jiný jazyk průzkumu by měl mít jiné ID
- related_id => ID kvóty, ke které toto nastavení patří
- class => 'QTALS'
- relevance => message
- text => URL
- help => popis URL
- language => language -- jazyk této kvóty (např. 'en')
Členové kvóty
Jeden řádek na každého člena kvóty, nezávisle na jazyce. Řádek člena kvóty by měl být umístěn bezprostředně za otázkou, ke které se vztahuje. Členové kvóty patří k otázce, která jim předchází.
- id => jedinečný číselný identifikátor člena kvóty, počínaje číslem 1
- related_id => ID kvóty, ke které tento člen patří
- class => 'QTAM'
- name => kód odpovědi
Podmínky
Jeden řádek na každou podmínku, nezávisle na jazyce. Řádek podmínky by měl být umístěn bezprostředně za otázkou, ke které se vztahuje. Podmínky patří k otázce, která jim předchází.
- id => jedinečný číselný identifikátor podmínky, počínaje číslem 1.
- related_id => ID související otázky, pokud je relevantní
- class => 'C'
- type/scale => scénář
- name => název pole odpovědi
- relevance => operátor porovnání
- text => očekávaná odpověď