x

Hlavní kapitoly

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Rychlý průvodce - LimeSurvey 3.0+
  3. Instalace - LimeSurvey CE
  4. Jak vytvořit dobrý průzkum (návod)
  5. Začínáme
  6. Správa LimeSurvey
  7. Průzkumy - úvod
  8. Nastavení průzkumu
  9. Menu průzkumu
  10. Struktura průzkumu
  11. Otázky - úvod
  12. Skupiny otázek - úvod
  13. Průzkumy - správa
  14. Možnosti panelu nástrojů průzkumu
  15. Vícejazyčný průzkum
  16. ExpressionScript Engine - Rychlý průvodce
  17. Nezařazené a pokročilé funkce
  18. Obecné FAQ
  19. Řešení potíží
  20. Řešení a obejití problémů
  21. Licence
  22. Záznam změn verzí
  23. Zásuvné moduly
 Actions

Ukázkové průzkumy Expression Manageru

From LimeSurvey Manual

Tato stránka mohla být přeložena strojově a může obsahovat chyby. Zobrazit anglický originál · Vylepšit tento překlad
This page is a translated version of the page Expression Manager sample surveys and the translation is 100% complete.


Úvod

Nejlepší způsob, jak se naučit používat ExpressionScript, je vyzkoušet si funkční příklady a upravit je podle svých potřeb.

Níže najdete sadu ukázkových průzkumů, které demonstrují (a umožňují vyzkoušet), jak lze EM využít k vylepšení vašeho průzkumu. Tyto průzkumy naleznete ve složce /docs/demosurveys v instalační distribuci.


Relevance, přizpůsobení a rovnice

Přehled

Následující příklad počítá BMI (index tělesné hmotnosti) každého respondenta. Funkce, které tento příklad předvádí, najdete níže.

Předváděné funkce EM

  1. Relevance - podpora výkonné podmíněné logiky;
  2. Piping / přizpůsobení - umožňuje vkládat nebo přizpůsobovat odpovědi a metadata otázek;
  3. Dynamické přizpůsobení - všimněte si, že se přehledy na stránce mění, jakmile odpovídáte na otázky.
  4. Mikropřizpůsobení - podmíněné přizpůsobení uvnitř vět a přehledů pomocí příkazů if()
  5. Rovnice - nový typ otázky, který umožňuje provádět výpočty a ukládat výsledky do databáze, a to i když je výpočet skrytý
  6. Podmíněné ověření - kritéria ověření, například minimální povolená hodnota, mohou být podmíněná - např. na základě rovnic.


Snímky obrazovky

Tento příklad počítá index tělesné hmotnosti (BMI), tedy výpočet z vaší hmotnosti a výšky, který určuje, zda máte nadváhu. Všimněte si, že zpočátku vidíte pouze čtyři povinné otázky:



Jakmile zadáte své údaje (a zvolíte, zda použít metrické, nebo nemetrické jednotky), zobrazí se přizpůsobený přehled, který shrnuje zadané údaje a sděluje vám stav vaší hmotnosti:



Zde je jiný příklad s nemetrickými jednotkami, který ukazuje, jak se výsledek dynamicky mění:



Na vnitřní úrovni jsou skryté otázky typu Rovnice, které převádějí data na metrická (pokud je to potřeba) a ukládají metrickou výšku, hmotnost, BMI a stav hmotnosti do databáze, aniž by byl zapotřebí vlastní JavaScript.

V další sadě příkladů uvidíte, jak lze v přizpůsobených přehledech používat matematické a další funkce. Takto vypadá stránka před zadáním jakýchkoli dat. Podmíněná logika zajišťuje, že se zobrazí prázdné buňky, pokud nejsou zadána žádná (nebo nečíselná) data, místo zobrazení „NaN“ nebo „Divide by Zero“.



Při zadávání čísel se přehled na stránce mění tak, aby zobrazoval prováděný výpočet a jeho výsledek.



Tento ukázkový průzkum obsahuje mnoho dalších příkladů. Například snímek obrazovky níže ukazuje jeden z desítek způsobů, jak lze vyplnit stránku Dynamic Relevance. Jak uvádí text nápovědy, vyzkoušejte různé věky a zejména nelogické kombinace odpovědí, abyste viděli zábavné zprávy generované ve spodní části. Všimněte si také, že pokud uvedete, že máte více než jedno dítě, zpráva zní „I hope you enjoy playing with your X children“ místo „I hope you enjoy playing with your child“. To ukazuje, jak snadno můžete věty mikropřizpůsobit tak, aby odpovídaly pohlaví a/nebo počtu vašich respondentů. Dokonce můžete snadno časovat slovesa a skloňovat podstatná jména podle rodu a čísla.



Stažení

Chcete-li získat ukázkový průzkum, klikněte na následující odkaz: LS3_em_tailoring.zip.

Ukázkové sčítání lidu

Přehled

Toto je příklad sčítání lidu, který se ptá, kolik osob žije ve vaší domácnosti.

Ukazuje, jak může relevance na úrovni skupiny usnadnit implementaci „smyčky“ otázek. Po vytvoření skupiny pro Osobu 1 jsem skupinu exportoval. Protože jsem použil názvy proměnných qcode, například p1_name, místo kódu SGQA, mohl jsem pomocí textového editoru rychle upravit a znovu importovat skupinu několikrát (např. úprava a opětovný import každé opakované skupiny trvaly asi 10 sekund, přičemž bylo zajištěno, že všechny proměnné mají jedinečné názvy a že logika na úrovni skupiny je správná).

Můžete také použít funkci Kopírovat otázku, ta však nebude tak rychlá jako výše navrhovaná možnost.

Ukazuje také, jak zabránit zobrazení zprávy o dokončení, dokud není průzkum skutečně dokončen (např. když jsou vyplněny všechny potřebné skupiny).


Demonstrované funkce EM

  1. Relevance na úrovni skupiny - navazující skupiny (Osoba 1–5) se zobrazí pouze do počtu zadaných osob žijících v domácnosti;
  2. Přizpůsobení textu (tailoring) - závěrečná zpráva shrnuje demografické údaje o každé osobě v domácnosti;
  3. Postupné zobrazování otázek - v režimu po skupinách i v režimu všechno na jedné stránce se další otázky zobrazí, teprve když jsou zodpovězeny předchozí.


Snímky obrazovky

Průzkum vygeneruje přizpůsobenou zprávu zobrazující demografické údaje zadaného počtu osob v domácnosti:



Pokud přepnete do režimu po jedné otázce, uvidíte, že rejstřík otázky přizpůsobuje. Protože uživatel uvedl, že je osoba žena, zeptá se „Jak se jmenuje?“ ve ženském tvaru. A protože jsme odpověděli „Marie“, další otázka zní „Kolik let je Marii?“.



Stažení

Chcete-li si stáhnout ukázkový průzkum, klikněte zde: LS3_group_relevance.zip.


Kaskádové filtry pole

Přehled

Tento průzkum vychází z návrhu průzkumu, který poskytla společnost Joy Lane Research, LLC.


Snímky obrazovky

Všimněte si následujícího:

  • Q02 zobrazuje pouze produkty zaškrtnuté v Q01 (pomocí array_filter)
  • Q02 zobrazuje také „Another product“, tedy text zadaný do pole „Other electronic“ v Q01
  • Q04 zobrazuje pouze produkty z Q02, které byly zaškrtnuty (filtr pole tedy kaskádově navazuje)
  • Q05 zobrazuje pouze produkty z Q02, které v Q02 nebyly zaškrtnuty (pomocí kaskádového array_filter_exclude)




Stažení

Výše uvedený příklad si stáhnete kliknutím na tento odkaz: Ukázkový průzkum LS2_cascading_array_filter.


Piping/Tailoring pomocí všech typů otázek a atributů

Přehled

Pokud si nejste jisti, jak pojmenovat proměnné (SGQA vs. Qcode), nejste v tom sami. Hlavní dokumentace sice popisuje, jak vytvářet názvy proměnných Qcode, ale nic se nevyrovná funkční ukázce. Tento průzkum ukazuje, jak můžete pomocí ExpressionScript přistupovat k atributům otázek a odpovědím.


V tomto příkladu doporučujeme při úpravě průzkumu vypnout vestavěný HTML editor (nebo jej přepnout do režimu vyskakovacího okna). Vykreslení rozsáhlých HTML zpráv v editačním režimu může HTML editoru trvat minutu i déle.


Obsah

  • Příklady všech typů otázek
  • Jsou zahrnuty všechny typy otázek, které mohou používat možnost „Jiné“, abyste viděli, jak to ovlivňuje pojmenování proměnných
  • Výchozí hodnoty pro všechny typy otázek, které výchozí hodnoty podporují
  • Tailoring - zprávy na stránce i mimo stránku zobrazující všech 16 dostupných přípon EM v tečkové notaci.
  • Tyto zprávy zobrazují všechna aktuálně zadaná data (ukazují tedy, jak můžete vytvořit vlastní tisknutelné zprávy pro uživatele místo obrazovky pro tisk odpovědí)
  • Správné pojmenování všech proměnných pomocí Qcode a SGQA


Snímky obrazovky

Jedná se o obrovský průzkum, proto jsme se rozhodli snímky obrazovky nezahrnout. Raději si jej stáhněte a vyzkoušejte.


Stažení

Průzkum si stáhnete kliknutím na tento odkaz: LS3_EM_question_attributes.lss


Tradiční ověření v novém pojetí

Přehled

Tento příklad představuje všechny typy ověření, které využívají výrazy, a ukazuje, jak ovlivňují jednotlivé typy otázek, jež ověření podporují. V mnoha případech jsou nápovědy k ověření zpočátku skryté a zobrazí se, pouze pokud otázka nesplní kritéria ověření (a po splnění kritérií opět zmizí).


Ukázané typy ověření

  1. min_num_value_n - minimální hodnota odpovědi
  2. max_num_value_n - maximální hodnota odpovědi
  3. min_answers - minimální požadovaný počet odpovědí
  4. max_answers - maximální povolený počet odpovědí
  5. multiflexible_min - minimální povolená hodnota odpovědi (pro typ otázky Víceflexibilní čísla)
  6. multiflexible_max - maximální povolená hodnota odpovědi (pro typ otázky Víceflexibilní čísla)
  7. min_num_value - minimální povolený součet všech odpovědí na otázku
  8. max_num_value - maximální povolený součet všech odpovědí na otázku
  9. equals_num_value - součet všech odpovědí na otázku se musí rovnat této hodnotě
  10. validation - regulární výraz pro ověření otázky - lze jej použít na jednotlivé buňky


Snímky obrazovky

Díky novým stylům CSS se každý typ ověření zobrazuje jako samostatná nápověda. Pokud jsou zobrazeny, lze je skrýt pomocí možnosti hide_tip. Ve výchozím nastavení se zobrazují červeným písmem, pokud otázka nesplní kritéria ověření, a zeleným, pokud je splní:



Uživatel nemůže odeslat stránku, která obsahuje chyby ověření. Pokud zadá nesprávné údaje, bude na to okamžitě upozorněn:



Ověření lze použít na jednotlivé buňky v poli, například v tomto příkladu, kde ověření pomocí regulárních výrazů zajišťuje, že každý záznam je správně formátované americké telefonní číslo včetně předvolby.



Stažení

Chcete-li si stáhnout výše uvedený příklad, klikněte na následující odkaz: LS3_Validation_tests.zip.


Rovnice pro ověření

Přehled

Někdy potřebujete vlastní ověření, kterého nelze dosáhnout pomocí tradičních kritérií minima a maxima. K tomu budete potřebovat možnosti em_validation_q a em_validation_sq, které umožňují vytvářet složité rovnice pro ověření na úrovni otázky, respektive dílčí otázky.


Na úrovni dílčí otázky navíc zavádíme proměnnou „this“, která usnadňuje ověření každé buňky v poli, aniž byste museli znát název její proměnné. Podrobnosti naleznete po kliknutí zde.


Ukázané funkce EM

  1. em_validation_q - rovnice, která určuje, zda je celá otázka platná
  2. em_validation_q_tip - zpráva, která se zobrazí, pokud otázka nesplní kritéria em_validation_q
  3. em_validation_sq - rovnice, která určuje, zda je každá dílčí otázka (buňka pole) platná
  4. em_validation_sq_tip - zpráva, která se zobrazí, pokud je některá z dílčích otázek neplatná.

Pokud je použito em_validation_sq, barva pozadí každé neplatné buňky se obecně změní na červenou, což signalizuje chybu.


Snímky obrazovky


Tato otázka pomocí následující rovnice pro ověření zajišťuje, že zadáte věk svých dětí v sestupném pořadí:

q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4





V následujícím příkladu ověření pomocí této rovnice zajišťuje, že v jednom řádku nejsou zodpovězeny více než 3 otázky:

(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)

Můžete také použít následující zápis. LimeSurvey jej za běhu automaticky převede na výše uvedený výraz.

(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)



Stažení

Chcete-li si stáhnout vzorový průzkum použitý ve výše uvedených příkladech, klikněte na následující odkaz: ls2_test_em_sq_validation.lss.


Relevance dílčích otázek

Přehled

Tento příklad ukazuje, jak se mohou vzájemně ovlivňovat array_filter a kritéria ověření. U ověření, která se týkají součtů, se zohledňují pouze relevantní (viditelné) hodnoty.


Demonstrované funkce EM

  1. array_filter
  2. array_filter_exclude
  3. min_num_value
  4. max_num_value
  5. equals_num_value

Ukazuje také dynamické vykazování počtu zodpovězených otázek v základních otázkách.


Snímky obrazovky

Změna počtu viditelných řádků dynamicky mění součet. Označení dílčí otázky jako nerelevantní nevymaže její hodnotu. Pokud je však nerelevantní, její hodnoty se do žádné rovnice nezapočítávají.



Všimněte si, co se stane, když u první otázky „Which rows should appear below“ zaškrtneme „Fifth subquestion“. Součet u druhé otázky „Enter some numbers“ je nyní 5. I když pátá dílčí otázka u této otázky má stále hodnotu 14 (např. pokud zrušíte zaškrtnutí páté dílčí otázky, hodnotu 14 uvidíte znovu), tato hodnota se do součtu nezapočítává, protože je v tuto chvíli nerelevantní. Všechna nerelevantní data se při odeslání vymažou (v databázi se nastaví na NULL), ale na stránce zůstávají dostupná pro případ, že by respondenti chtěli své odpovědi změnit.



Stažení

Chcete-li si stáhnout náš příklad, klikněte sem: ls2_subquestion_relevance.lss.


Použití čárky jako oddělovače desetinné části (desetinná čárka)

Přehled

ExpressionScript zajišťuje, že do číselných polí lze zadat pouze platná čísla. Pokud zadáte neplatné číslo, budete upozorněni, že něco není v pořádku (např. u motivu fruity se celá otázka zbarví červeně).

Upozorňujeme, že číselné hodnoty se v databázi vždy převádějí tak, aby jako oddělovač desetinné části používaly tečku. Díky tomu budou statistické analýzy fungovat správně.

Chcete-li změnit oddělovač desetinné části, otevřete možnosti Textové prvky na kartě Nastavení a vyhledejte funkci Oddělovač desetinné části.


Další informace o tom, co je oddělovač desetinné části, najdete [https://en.wikipedia.org/wiki/Radix_point


Typy otázek používající oddělovač desetinné části

  1. Číselný vstup [N]
  2. Vícenásobný číselný vstup [K]
  3. Pole (Čísla) [:]
  4. Pole (Text) [;], při použití atributu numbers_only
  5. Přepínačový seznam [L], při použití atributu other_numbers_only
  6. Krátký text [S], při použití atributu numbers_only
  7. Vícenásobné krátké texty [Q], při použití atributu numbers_only
  8. Vícenásobné možnosti [M], při použití atributu other_numbers_only
  9. Vícenásobné možnosti s komentáři [P], při použití atributu other_numbers_only


Snímky obrazovky

Na níže uvedených snímcích obrazovky můžete vidět, že jako oddělovač desetinné části lze použít čárku.



Stažení

Chcete-li si stáhnout výše uvedený příklad, klikněte na následující odkaz: ls2_comma_as_radix_separator.lss.


Skupiny pro náhodné pořadí

Přehled

Tento průzkum ukazuje, jak použít atribut random_group.

Pokud je tento atribut použit, pořadí otázek se při každém spuštění průzkumu zamíchá. Jakmile je však průzkum zahájen, náhodné pořadí zůstává pevné, a to i při změně jazyka.


Snímky obrazovky

Podívejme se společně na následující příklad. První náhodná otázka na stránce bude buď Q1, Q4, nebo Q7. Druhá náhodná otázka na stránce bude buď Q2, Q5, nebo Q8.



Zde je náhodné pořadí, které se vygenerovalo při prvním testování tohoto průzkumu.



Při druhém testování průzkumu se vygenerovalo jiné náhodné pořadí.



Když jsem však přepnul do francouzštiny (bez opětovného spuštění průzkumu), náhodné pořadí zůstalo zachováno.



Stažení

Chcete-li si stáhnout výše uvedený příklad, klikněte na následující odkaz: Randomization_Group_Test.lss


Náhodné zobrazení jedné otázky z každé skupiny

Přehled

Tento průzkum ukazuje, jak nastavit průzkum tak, aby se z každé skupiny náhodně zobrazila jedna otázka. Obsahuje 5 skupin po 6 otázkách. Na začátku, ve skupině 0, je naplněno pět skrytých otázek typu Rovnice nazvaných ask1-ask5. Každá z nich má v poli pro text otázky hodnotu {floor(rand(1,6.9999))}, což znamená, že proměnné ask1-ask5 budou mít každá hodnotu mezi 1 a 6. Každá otázka ve skupině má poté rovnici relevance jako „ask1==N“, kde N je N-tá otázka ve skupině (třetí otázka v první skupině tedy má rovnici relevance „ask1==3“).

Tento průzkum funguje stejně dobře v režimech Vše najednou, Skupina za skupinou i otázka za otázkou. Protože je náhodný výběr nastaven v první skupině a ta je prakticky skrytá (všechny otázky ask1-ask5 jsou skryté), zůstává náhodný výběr pro daného respondenta stejný; každý další respondent však bude mít jiný.


Ukázané funkce

  1. Typ otázky Rovnice
  2. Funkce náhodného výběru
  3. Podmíněná funkce (if)


Snímky obrazovky

Toto je Group0, která používá typ otázky Rovnice k výběru náhodných hodnot od 1 do 6 pro každou skupinu (kromě poslední skupiny, která má pouze 4 otázky). Všimněte si, že funkce „if()“ nejprve zkontroluje, zda již byla hodnota ask1 nastavena, a pokud ano, použije ji. Pokud hodnota nastavena nebyla, použije k nastavení ask1 náhodnou hodnotu.



Tato skupina ukazuje, jak se proměnná (ask4) ze skupiny Group0 používá k řízení toho, která otázka je viditelná ve čtvrté skupině.



Stažení

Chcete-li si stáhnout výše uvedený příklad průzkumu, klikněte zde: Příklad průzkumu s náhodnými otázkami ve skupině.


Náhodné zobrazení určitého počtu otázek ve skupině (podmnožina otázek)

  Platí pouze pro všechny náhodné otázky z jedné skupiny a pouze v případě, že je použit formát Skupina za skupinou nebo Vše najednou.



Přehled

Tento průzkum ukazuje, jak zobrazit náhodnou podmnožinu otázek ve skupině. Například zobrazit 5 náhodných otázek z 10 otázek umístěných ve skupině.

Průzkum obsahuje jednu skupinu s 10 otázkami. Všem otázkám je přiřazeno stejné jméno skupiny pro náhodné pořadí. Díky tomu se při načtení stránky zobrazí v náhodném pořadí. Každá otázka má rovnici relevance, podle které musí být součet hodnot „relevanceStatus“ všech ostatních otázek ve skupině menší než počet otázek, které chcete zobrazit. Protože se hodnota relevanceStatus přiřazuje při vykreslování otázek, součet tak ve skutečnosti odpovídá počtu předchozích otázek.

V našem příkladu 5 z 10 by tedy rovnice pro Q1 byla:

sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

Pro Q2 by byla:

sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5

A tak dále...


Předvedené funkce

  1. proměnná relevanceStatus
  2. Náhodné pořadí


Stáhnout

Chcete-li si stáhnout výše uvedený příklad, klikněte na následující odkaz: Příklad průzkumu Náhodných 5 z 10.

Hodnocení seznamu produktů zadaného uživatelem

Přehled

Níže uvedený příklad ukazuje, jak můžete uživatele požádat, aby vytvořili seznam produktů, které je zajímají, a poté je nechat tyto produkty ohodnotit.


Předvedené funkce EM

  1. Přizpůsobení odpovědí - při hodnocení produktů pocházejí popisky z pole komentáře předchozí otázky typu vícenásobné možnosti
  2. Přizpůsobení škál - přizpůsobit lze i mnoho pokročilých možností otázek, například záhlaví škál.


Snímky obrazovky

Tento obrázek ukazuje, že přestože byly vybrány pouze produkty 1, 3 a 5, zobrazují se jen tyto tři (pomocí atributu array_filter). Popisky řádků ve druhé otázce jsou navíc buď čísla produktů (pokud se do pole komentáře nic nezadá), nebo obsah polí komentářů.



Tento obrázek ukazuje, jak se zadávají přizpůsobené odpovědi:



Zde je soubor Zobrazit logiku pro tuto otázku, který nám umožňuje ověřit, že podmíněná logika funguje podle očekávání (např. zda se nevyskytují chyby syntaxe):



Další obrázek ukazuje skupinu, ve které zadáváte pětibodovou škálu hodnocení (možnosti 1-5), název škály a produkty, které chcete hodnotit. Poslední otázka ukazuje, že lze přizpůsobit každou část otázky typu pole:



Další obrázek ukazuje zobrazení logiky poslední otázky. Jak vidíte, přizpůsobit lze podotázky, odpovědi i záhlaví škál.



Stáhnout

Chcete-li si stáhnout výše uvedený příklad průzkumu, klikněte na následující odkaz: Příklad průzkumu s hodnocením seznamu produktů zadaného uživatelem.