Štruktúra prieskumu vo formáte hodnôt oddelených tabulátormi
From LimeSurvey Manual
Import a export štruktúry prieskumu vo formáte hodnôt oddelených tabulátormi
Táto funkcia uľahčuje používanie tabuľkového softvéru, ako je LibreOffice, Excel alebo Google Docs, na tvorbu a úpravu prieskumov. Úplne odstráni závislosť na kódoch SGQA.
Táto funkcia podporuje import súborov s hodnotami oddelenými tabulátormi (TSV) v kódovaní ASCII alebo UTF-8 s príponou .txt.
Začíname
Najjednoduchší spôsob je vziať existujúci prieskum a exportovať ho vo formáte hodnôt oddelených tabulátormi. Použite bežné tlačidlo na export prieskumu a namiesto formátu .lss vyberte „Tab Separated Values format (*.txt)“. Prieskum sa uloží ako súbor s hodnotami oddelenými tabulátormi v správnom formáte (unicode súbor oddelený tabulátormi) so všetkými správnymi hlavičkami stĺpcov.
Vyhovuje akýkoľvek tabuľkový softvér, ktorý podporuje hodnoty oddelené tabulátormi (napr. OpenOffice alebo LibreOffice). LimeSurvey ignoruje všetko formátovanie v tabuľke, ale pokojne ho pridajte, ak vám pomáha.
Pre každú skupinu, otázku, podotázku a odpoveď bude existovať jeden riadok. Existujú aj riadky pre globálne premenné prieskumu a pre premenné prieskumu špecifické pre daný jazyk. Primárny jazyk bude uvedený ako prvý, po ňom nasledujú všetky sekundárne jazyky. Ak teda existuje viac jazykov, najprv sa zobrazí celý obsah základného jazyka (napr. všetky skupiny, otázky, podotázky a odpovede). Potom nasleduje preložená kópia pre každý sekundárny jazyk (s presne rovnakým počtom a poradím riadkov pre preloženú sadu).
Vzťahy sa odvodzujú podľa blízkosti. Otázky nasledujúce po skupine teda patria do tejto skupiny; podotázky nasledujúce po otázke patria k tejto otázke a odpovede nasledujúce po otázke patria k tejto otázke. Preto nemusíte poznať ID (gid, qid, sqid) žiadnej otázky. Tie sa vypočítajú automaticky pri importe. Tento formát v skutočnosti vôbec nepoužíva gid, qid ani sqid (ani kódy SGQA).
Tipy
Cieľom importu/exportu hodnôt oddelených tabulátormi je umožniť vám rýchlo navrhnúť prieskum pomocou tabuľky. Očakávame, že tabuľku budete často importovať, overovať jej platnosť pomocou funkcie „Zobraziť logiku prieskumu“ a testovať ju. Pri každom importe získate nový prieskum. Môže sa teda stať, že budete mať veľa čiastočne vytvorených prieskumov, ale to je v poriadku. Len si zvyknite sledovať, ktorý je najnovší, alebo po importe nových odstráňte starý. Keďže vo formáte hodnôt oddelených tabulátormi nikdy nepoužívate kódy SGQA, nemusíte sa starať o to, aké kódy LimeSurvey priraďuje primárnym kľúčom prieskumu, skupiny, otázky a odpovede. Importujte a exportujte teda tak často, ako chcete.
Tu je niekoľko praktických vecí, ktoré môžete s týmto prístupom k tvorbe nástrojov robiť:
- Použitie rovnakých odpovedí pre viacero otázok. Stačí skopírovať riadky „A“ a vložiť ich za každú otázku, ktorá má mať rovnakú sadu.
- Použitie rovnakých podotázok pre viacero otázok. Stačí skopírovať riadky „SQ“ a vložiť ich za každú otázku, ktorá ich potrebuje.
- „Cyklenie“ – opakované použitie tej istej skupiny. Keď má skupina požadovanú podobu, skopírujte ju toľkokrát, koľkokrát je potrebné. Pomocou filtrovania v Exceli zobrazte iba riadky „G“ (skupiny) a pomocou funkcie ťahania stĺpca v Exceli aktualizujte rovnice relevantnosti pre každú skupinu (napr. pri sčítaní ľudu môže byť prvá relevantnosť „numPeople > 1“, ďalšia „numPeople > 2“. Funkcia ťahania číslo automaticky aktualizuje). Vyfiltrujte riadky „Q“ a uistite sa, že každá otázka má jedinečnú hodnotu (napr. ak premenné pomenujete g1_q1, g1_q2, g1_qN, použite nájdi/nahraď na zmenu g1 na g2 pre druhú skupinu; g3 pre tretiu atď.).
- Zmena poradia otázok/skupín. Jednoducho zmeňte poradie riadkov v tabuľkovom súbore.
- Testovanie modulov prieskumu. Pri dlhých prieskumoch možno budete chcieť rozdeliť testovanie na moduly. Jednoducho vytvorte nové tabuľkové súbory pre každý modul a odstráňte všetky riadky, ktoré nepotrebujete. Tým sa vyhnete nutnosti zadávať veľa údajov pri testovaní neskorších častí prieskumu.
- Testovanie povinných otázok. Častou sťažnosťou nie je potreba nastaviť veľa otázok ako povinné, ale potreba vypnúť povinnosť pri testovaní. Jednoducho vytvorte hlavnú tabuľku s hodnotami povinnosti nastavenými na konečné požadované hodnoty. Potom na otestovanie stačí odstrániť stĺpec „mandatory“ a uložiť testovaciu verziu tabuľky. Keď túto verziu importujete, žiadna z otázok nebude povinná. Po dokončení testovania importujte hlavnú kópiu.
- Nastavenie predvolených hodnôt. Namiesto používania grafického rozhrania môžete požadované predvolené hodnoty zadať do stĺpca default. Je to užitočné najmä v prípadoch, keď grafické rozhranie nedovoľuje zadať požadovanú hodnotu, napríklad výrazy na nastavenie predvolenej hodnoty pre položky zoznamu (napríklad naplnenie zoznamu z atribútu respondenta prieskumu).
- Preklad. Môžete vytvoriť kópie tabuľky – jednu pre každý jazyk. Zahrňte všetky riadky pre primárny jazyk, potom ich skopírujte a vložte pod seba a pomocou ťahania zmeňte pole jazyka na cieľový jazyk. Tieto súbory môžete rozdistribuovať prekladateľom a po dokončení ich znova zlúčiť do jedného tabuľkového súboru.
- Hromadné nastavenie pokročilých atribútov otázok. Možno budete chcieť, aby všetky rovnice boli na začiatku viditeľné (aby ste videli ich hodnoty pri zbere údajov), ale pred nasadením do ostrej prevádzky ich všetky skryť. Jednoducho vyfiltrujte tabuľku podľa class = 'Q' a typ otázky = '*' (rovnica) a pre každú z týchto otázok nastavte always_hide na 1. Podobne, povedzme, že po vytvorení prieskumu sa rozhodnete, ktoré otázky sa majú zobrazovať vo verejných štatistikách. Namiesto úpravy každej otázky cez grafické rozhranie vyfiltrujte class = 'Q' a nastavte public_statistics = 1 pre všetky otázky, ktoré majú byť viditeľné v štatistikách.
- Nájdi a nahraď. Povedzme, že sa rozhodnete zmeniť formuláciu vo všetkých otázkach – na tieto zmeny môžete použiť funkciu nájsť a nahradiť v Exceli. Podobne, ak sa rozhodnete hromadne premenovať premenné, môže pomôcť nájdi a nahraď. Ak potrebujete hľadanie a nahradzovanie založené na regulárnych výrazoch, môžete vybrať požadovaný stĺpec, skopírovať ho do textového editora, vykonať nájdi a nahraď a stĺpec vložiť späť do tabuľky.
- Získavanie schválení. Ak robíte výskum, možno máte etickú komisiu, ktorá trvá na tom, že chce vidieť text otázok. Toto môže byť pohodlný spôsob, ako ho zdieľať. Podobne pri diskusiách s klientom.
- Konsenzus tímu. Ak sa snažíte, aby sa skupina zhodla na formulácii alebo vzhľade otázky či skupiny, môžete rýchlo vytvoriť prototyp/upraviť tabuľku, importovať ju a ukázať tímu (cez náhľad otázky alebo skupiny) presne to, čo uvidia používatelia. Tak môžete získať schválenie tímu ešte pred odchodom z miestnosti, namiesto dokumentovania požiadaviek, ich implementácie a získavania schválenia na budúcich stretnutiach.
- Prechod z iných formátov prieskumov. Ak je váš prieskum vo formáte XML, Word alebo inom, môžete vytvoriť proces prekladu na namapovanie do tohto formátu. Hoci by ste mohli skúsiť aj mapovanie do formátu .lss, výhodou tohto formátu je, že nevyžaduje sledovanie vzťahov cudzích kľúčov medzi skupinami, otázkami, podotázkami, odpoveďami a predvolenými hodnotami.
Obmedzenia
- Z dôvodu návrhu táto funkcia správne funguje iba pre prieskumy, ktoré používajú pomenovanie qcode (nie SGQA). Táto funkcia predpokladá, že názvy premenných (identifikátory otázok) sú v rámci celého prieskumu jedinečné. Názvy podotázok sa môžu opakovať, ak sú jedinečné v rámci konkrétnej otázky.
Formát súboru
Všeobecne
Rovnakú sadu hlavičiek stĺpcov používame na viacero účelov. Prvých 14 stĺpcov slúži na rôzne účely v závislosti od typu entity (napr. skupina, otázka, odpoveď). Zvyšné stĺpce sú abecedný zoznam názvov databázových polí pre pokročilé kódy otázok. Nižšie je syntax pre každý typ entity
Prvých 14 stĺpcov 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álne parametre prieskumu
Pre každý parameter v tabuľke surveys existuje jeden riadok.
- class => 'S'
- name => názov databázového poľa
- text => hodnota
Parametre prieskumu špecifické pre jazyk
Pre každé pole a každý jazyk v tabuľke surveys_languagesettings existuje jeden riadok. Všetky záznamy pre daný jazyk sa zhromažďujú pred vložením do tejto tabuľky.
- class => 'SL'
- name => názov databázového poľa
- text => hodnota
- language => jazyk
Skupiny
Jeden riadok skupiny na každý jazyk prieskumu (napr. ak má prieskum 3 jazyky, budú 3 riadky skupiny).
- id => jedinečný číselný identifikátor skupiny, začínajúci číslom 1, pre ďalšie jazyky patriace k aktuálnej skupine použite rovnaké ID
- class => 'G'
- name => group_name -- jedinečný identifikátor skupiny
- relevance => grelevance -- rovnica relevantnosti na úrovni skupiny, bez zložených zátvoriek
- text => description -- popis skupiny špecifický pre jazyk
- language => language -- jazyk skupiny (napr. 'en')
Otázky
Jeden riadok otázky na každý jazyk prieskumu (napr. ak má prieskum 3 jazyky, budú 3 riadky otázky). Predpokladá sa, že otázky patria do skupiny, ktorá im predchádza.
- id => jedinečný číselný identifikátor otázky, začínajúci číslom 1, pre ďalšie jazyky patriace k aktuálnej otázke použite rovnaké ID
- class => 'Q'
- type/scale => type -- (zvyčajne jednopísmenový) typ otázky (napr. 'M' je Možnosť výberu viacerých možností)
- name => title -- jedinečný názov otázky (základ systému pomenovania qcode)
- relevance => relevance -- rovnica relevantnosti pre otázku
- text => question -- text otázky špecifický pre jazyk
- help => help -- pomocný text špecifický pre jazyk
- language => language -- jazyk skupiny (napr. 'en')
- validation => preg -- voliteľné kritériá validácie regulárnym výrazom pre otázku
- mandatory => mandatory -- 'Y' ak je povinná
- other => other -- 'Y' ak má byť k dispozícii možnosť „Iné“ (iba pre niektoré typy otázok)
- default => default -- ak je nastavené, táto hodnota sa vloží do tabuľky defaultvalues pre túto otázku
- same_default => same_default -- 'Y' pre áno, v tom prípade sa každá predvolená hodnota nastavená pre primárny jazyk použije aj pre ostatné jazyky
Podotázky
Jeden riadok podotázky na každý jazyk prieskumu. Predpokladá sa, že podotázky patria k otázke, ktorá im predchádza.
- id => rovnaký jedinečný číselný identifikátor, ktorý sa používa pre otázky. Podotázky by mali používať ďalšiu dostupnú hodnotu, ID otázky a podotázky by sa mali líšiť (napr. použite ID 1 pre otázku a ID 2, 3 a 4 pre podotázky patriace k otázke 1, ID ďalšej otázky by malo byť 5 atď.). Pre ďalšie jazyky patriace k aktuálnej podotázke použite rovnaké ID podotázky.
- class => 'SQ'
- type/scale => scale_id -- 0 alebo 1, v závislosti od typu otázky (napr. textové pole bude mať dve škály)
- name => title -- „meno“ podotázky, napr. to, ktoré sa používa pre exclude_all_others
- relevance => relevance -- (v budúcnosti) na podporu relevantnosti na úrovni podotázky
- text => question -- text podotázky špecifický pre jazyk
- help => help -- (v budúcnosti) na podporu pomocníka na úrovni podotázky
- language => language -- jazyk podotázky
- validation => preg -- (v budúcnosti) na podporu validácie pomocou regulárneho výrazu na úrovni podotázky (napr. pre časti adresy)
- mandatory => mandatory -- (v budúcnosti) na podporu povinnosti na úrovni podotázky (napr. aby boli povinné iba niektoré podotázky)
- default => default -- ak je nastavené, ide o predvolenú hodnotu podotázky (vkladá sa do tabuľky defaultvalues)
- same_default => same_default -- ak je nastavené, predvolená hodnota pre primárny jazyk sa použije pre všetky ostatné jazyky
Odpovede
Jeden riadok odpovede na každý jazyk prieskumu (napr. ak má prieskum 3 jazyky, budú 3 riadky odpovede). Predpokladá sa, že odpovede patria k otázke, ktorá im predchádza, a že sú v požadovanom poradí.
- id => použite rovnaké ID ako má otázka, ku ktorej odpoveď patrí
- class => 'A'
- type/scale => scale_id -- 0 alebo 1 (napr. pri otázke s dvoma škálami)
- name => code -- jedinečný identifikátor odpovede
- relevance => assessment_value -- ak používate možnosť hodnotenia, ide o hodnotu hodnotenia odpovede
- text => answer -- text odpovede špecifický pre jazyk
- language => language -- jazyk tejto odpovede (napr. 'en')
Hodnotenia
Jeden riadok hodnotenia na každý jazyk prieskumu (napr. ak má prieskum 3 jazyky, budú 3 riadky hodnotenia). Hodnotenia sa zapisujú na koniec súboru.
- id => jedinečný číselný identifikátor hodnotenia, začínajúci číslom 1, pre ďalšie jazyky patriace k aktuálnemu hodnoteniu použite rovnaké ID
- related_id => ID skupiny, ku ktorej aktuálne hodnotenie patrí
- class => 'AS'
- type/scale => rozsah hodnotenia: T-celkové, G-skupina
- name => name
- text => message
- min_num_value => Minimum
- max_num_value => Maximum
- language => language -- jazyk tejto odpovede (napr. 'en')
Kvóty
Jeden riadok na každú kvótu. Kvóty sa zapisujú na koniec súboru.
- id => jedinečný číselný identifikátor kvóty, začínajúci číslom 1
- class => 'QTA'
- name => názov kvóty
- mandatory => limit
- other => akcia kvóty
- default => aktívna
- same_default => autonačítanie URL
Jazykové nastavenia kvót
Jeden riadok kvóty na každý jazyk prieskumu. Predpokladá sa, že jazykové nastavenia kvóty patria ku kvóte, ktorá im predchádza.
- id => jedinečný číselný identifikátor jazykových nastavení kvóty, začínajúci číslom 1. Každý riadok pre iný jazyk prieskumu by mal mať iné ID
- related_id => ID kvóty, ku ktorej toto nastavenie patrí
- class => 'QTALS'
- relevance => message
- text => URL
- help => popis URL
- language => language -- jazyk tejto kvóty (napr. 'en')
Členovia kvóty
Jeden riadok na každého člena kvóty, nezávisle od jazyka. Riadok člena kvóty by mal byť umiestnený bezprostredne za otázkou, s ktorou súvisí. Predpokladá sa, že členovia kvóty patria k otázke, ktorá im predchádza.
- id => jedinečný číselný identifikátor člena kvóty, začínajúci číslom 1
- related_id => ID kvóty, ku ktorej tento člen patrí
- class => 'QTAM'
- name => kód odpovede
Podmienky
Jeden riadok na každú podmienku, nezávisle od jazyka. Riadok podmienky by mal byť umiestnený bezprostredne za otázkou, s ktorou súvisí. Predpokladá sa, že podmienky patria k otázke, ktorá im predchádza.
- id => jedinečný číselný identifikátor podmienky, začínajúci číslom 1.
- related_id => ID súvisiacej otázky, ak je relevantné
- class => 'C'
- type/scale => scenár
- name => názov poľa odpovede
- relevance => operátor porovnania
- text => očakávaná odpoveď