Skript
Popis typu otázky Skript
Využití
Otázka typu Skript umožňuje vložit do dotazníku kód vlastního skriptu, který se zpracuje při zobrazení stránky a jeho výsledek se uloží do dat odpovědí, případně zobrazí do dotazníku.
Vložení
V dotazníku klikněte na příkaz pro přidání otázky a ve formuláři vyberte typ otázky Další a upřesněte typ Skript.
Do pole Jméno skriptu zadejte pojmenování vkládaného skriptu.
Do pole Skript pak zadejte samotný skript / vzorec.
Editace
Možnosti otázky
V záložce Možnosti můžete otázku editovat.
Zakliknutím volby Zobrazit výsledek skriptu se výsledek výpočtu skriptu zobrazí respondentovi v dotazníku.
Výpočet skriptu je proveden jen jednou, a to při prvním zobrazení strany s touto otázkou. Výsledek výpočtu je uložen jako odpověď otázky a při příštím zobrazení strany, např. při návratu respondenta zpět v dotazníku, se skript již znovu nepočítá. Volba Opakovat skript při opětovném zobrazení toto chování změní, skript je v tomto případě znovu přepočítán a nová hodnota přepíše hodnotu původní.
SPSS a jméno proměnné
V záložce SPSS můžete definovat jméno proměnné, pod kterým se data odpovědí na otázku uloží v datovém souboru .SAV při exportu dat do SPSS.
Jméno proměnné je také určeno pro použití ve funkcích skriptů. Pomocí této proměnné můžete načíst hodnotu odpovědi či odpověď programově uložit. Více v Dotazníkové funkce.
Syntax skriptu
Kód skriptu musí být zapsán vždy jako vzorec vracející hodnotu. Stejný postup se běžně používá v tabulkových kalkulátorech, jako je např. MS Excel nebo Open Office (bez úvodního znaménka =). Pokud potřebujete zapsat složitější vzorec, je nutné použít vnoření funkcí.
Příklady vzorců
Vzorec vrací hodnotu 11.
Vzorec vrací hodnotu odpovědi na otázku označenou jako Q1. Jméno proměnné Q1 se nastavuje v dané otázce pod záložkou SPSS.
Vnoření funkcí – pokud byla v dotazníku v otázce Q1 vybrána odpověď s hodnotou odpovědi 1, vrací skript text A, jinak vrací text B.
Více o hodnotách odpovědí najdete zde 👉 Hromadná editace
Vzorec načte hodnotu URL parametru "nps" (https:/www.click4survey.cz/s4/1234/dotaznik?nps=10) a uloží ji jako odpověď k otázce označené proměnnou "nps".
Přehled operátorů
Logické
Tyto operátory mohou provést logické srovnání mezi jinými výrazy:
or, ||
and, &&
Operátor and má vyšší prioritu než or, a tak ve výše uvedeném příkladu je výraz false and true vyhodnocen jako první.
Relační
=, ==, !=, <>
<, <=, >, >=
Aditivní
+, -
Multiplikativní
*, /, %
Bitový
& (bitové and), | (bitové or), ^(bitové xor), << (posun vlevo), >>(posun vpravo)
Unární
!, not, -, ~ (bitwise not)
Primární
(, )
hodnoty
Datové typy
Celočíselné
Jsou reprezentovány pomocí čísel.
Jsou vyhodnoceny jako Int32.
Čísla s plovoucí desetinnou čárkou
Pomocí tečky definujte desetinnou část.
Jsou vyhodnoceny jako Decimal.
Vědecký zápis
Pomocí e můžete definovat mocninu deseti (10^).
Jsou vyhodnoceny jako Double.
Datum a čas
Musí být uzavřeno mezi křížky.
Jsou vyhodnoceny jako DateTime.
Logické hodnoty
Logické hodnoty mohou být buď true nebo false.
Textové hodnoty
Jakýkoliv znak mezi jednoduchými uvozovkami ' ' jsou vyhodnoceny jako String.
Speciální znaky můžete escapovat pomocí \, ', \n, \r, \t.
Funkce
Funkce je tvořena názvem následovaným složenými závorkami, která obsahuje jako argumenty libovolnou hodnotu.
Interní funkce
Funkce | Popis | Použití |
---|---|---|
Abs | Vrátí absolutní hodnotu zadaného čísla. | Abs(-1) |
Acos | Vrátí úhel, jehož kosinus je zadané číslo. | Acos(1) |
Asin | Vrátí úhel, jehož sinus je zadané číslo. | Asin(0) |
Atan | Vrátí úhel, jehož tangens je zadané číslo. | Atan(0) |
Ceiling | Vrátí nejmenší celé číslo větší nebo rovné zadanému číslu. | Ceiling(1.5) |
Cos | Vrátí kosinus zadaného úhlu. | Cos(0) |
Exp | Vrátí e umocněné na hodnotu argumentu. | Exp(0) |
Floor | Vrátí největší celé číslo menší nebo rovné zadanému číslu. | Floor(1.5) |
IEEERemainder | Vrátí zbytek vyplývající z dělení zadaného čísla na jiné zadané číslo. | IEEERemainder(3, 2) |
Log | Vrátí logaritmus zadaného čísla. | Log(1, 10) |
Log10 | Vrátí logaritmus zadaného čísla o základu 10. | Log10(1) |
Max | Vrátí větší ze dvou zadaných čísel. | Max(1, 2) |
Min | Vrátí menší ze dvou čísel. | Min(1, 2) |
Pow | Vrátí mocninu specifikovaného čísla. | Pow(3, 2) |
Round | Zaokrouhlí hodnotu na nejbližší celé číslo nebo zadaný počet desetinných míst. | Round(3.222, 2) |
Sign | Vrátí hodnotu označující znaménko čísla. | Sign(-10) |
Sin | Vrátí sinus zadaného úhlu. | Sin(0) |
Sqrt | Vrátí druhou odmocninu zadaného čísla. | Sqrt(4) |
Tan | Vrátí tangens zadaného úhlu. | Tan(0) |
Truncate | Vypočítá integrální část čísla. | Truncate(1.7) |
in | Vrátí, zda je prvek v sadě hodnot. | in(1 + 1, 1, 2, 3) |
if | Vrátí hodnotu na základě podmínky. | if(3 % 2 = 1, 'hodnota je true', 'hodnota je false') |
Dotazníkové funkce
Funkce | Popis | Použití |
---|---|---|
GetDistributionChannelName() | Vrátí název distribučního kanálu, ze kterého je přistoupeno do dotazníku. | GetDistributionChannelName() |
GetUrlParameter('variable') | Vrátí hodnotu parametru variable z URL adresy dotazníku. | GetUrlParameter('Q1') |
GetUserField(n) | Vrátí hodnotu n-tého uživatelského pole. | GetUserField(1) |
GetContactEmail | Vrátí e-mailovou adresu kontaktu z e-mailové kampaně. | GetContactEmail() |
GetContactPhone | Vrátí telefon kontaktu e-mailové kampaně. | GetContactPhone() |
GetContactFirstName | Vrátí jméno kontaktu e-mailové kampaně. | GetContactFirstName() |
GetContactLastName | Vrátí příjmení kontaktu e-mailové kampaně. | GetContactLastName() |
GetContactSalutation | Vrátí oslovení kontaktu e-mailové kampaně. | GetContactSalutation() |
GetContactCompany | Vrátí firmu kontaktu e-mailové kampaně. | GetContactCompany() |
GetContactJob | Vrátí pracovní zařazení kontaktu e-mailové kampaně. | GetContactJob() |
GetContactMobile | Vrátí mobil kontaktu e-mailové kampaně. | GetContactMobile() |
GetRandomNumber(min, max) | Vrátí náhodné číslo v rozsahu hodnot min a max. | GetRandomNumber(1, 10) |
GetData('variable') | Vrátí hodnotu odpovědi na otázku specifikovanou proměnnou variable. Funkce vrací hodnotu vždy jako text. | GetData('Q1') |
GetData('variable', rowNum) | Vrátí hodnotu odpovědi z baterie specifikované proměnnou variable, ve sloupci s jednou možnou odpovědí, na řádku rowNum. Funkce vrací hodnotu vždy jako text. | GetData('M1', 1) |
GetData('variable', colNum, rowNum) | Vrátí hodnotu odpovědi z baterie specifikované proměnnou variable, ve sloupci colNum s jednou možnou odpovědí, na řádku rowNum. Funkce vrací hodnotu vždy jako text. | GetData('M1', 1, 1) |
GetData('variable', colNum, rowNum, answerVal) | Vrátí hodnotu odpovědi z baterie specifikované proměnnou variable, ve sloupci colNum s více možnými odpověďmi, u odpovědi s hodnotou answerVal, na řádku rowNum. Funkce vrací hodnotu vždy jako text. | GetData('M1', 1, 1, 3) |
GetRankData('variable', n) | Vrátí pořadí, na jakém byla seřazena n-tá položka v otázce na seřazení položek. Dále také z otázky Výběr z možností - více odpovědí vrátí hodnotu odpovědi, pokud byla zaškrtnuta. | GetRankData('R1', 1) |
GetFirstRank('variable') | Vrátí hodnotu první vybrané možnosti v otázce na řazení možností. | GetFirstRank('R1') |
GetFirstRank('variable',' text') | Vrátí text první vybrané možnosti v otázce na řadění možností. | GetFirstRank('R1', 'text') |
GetOptionText('variable', answerVal) | Vrátí text odpovědi otázky specifikované proměnnou variable a specifickou hodnotou odpovědi answerVal. | GetOptionText('Q1', 2) |
GetValue('variable') | Vrátí hodnotu odpovědi otázky specifikované proměnnou variable v přesném datovém typu (s číselnými odpověďmi lze ve skriptech provádět matematické operace), na rozdíl od funkce GetData, která vždy vrací datový typ text. | GetValue('Q3') |
GetOtherValue('variable', answerVal) | Vrátí textovou odpověď "Jiná" z otázky specifikované proměnnou variable a specifickou hodnotou odpovědi answerVal. | GetOtherValue('Q1', 2) |
GetRowOtherValue('variable', rowNum) | Vrátí textovou odpověď z řádku "Jiná" z baterie specifikované proměnnou variable a řádku číslo rowNum. | GetRowOtherValue('X1', 10) |
GetAnswersCount('variable') | Vrátí počet označených odpovědí u otázky typu Výběr z možností - více odpovědí specifikované proměnnou variable. | GetAnswersCount('Q1') |
IsQuotaFull(quotaid) | Vrátí, zdali je kvóta specifikovaná pomocí quotaid naplněna. | IsQuotaFull(1234) |
GetQuotaFullness(quotaid) | Vrátí počet kompletních interview ve kvótě specifikovaní pomocí quotaid. | GetQuotaFullness(1234) |
Choose(index, value1, value2, value3, valueN) | Vrátí hodnoty value1, value2, ... v závislosti na hodnotě parametru index. Pokud je index=1, vrátí hodnotu value1, pro index=2 vrátí value2, atd. | Choose(GetData('Q1'), 10, 20, 30, 1 + 1) |
SetData('variable', value) | Nastaví otázce specifikované proměnnou variable odpověď hodnoty value. Tuto hodnotu zároveň vrátí. | SetData('Q1', 1) |
Len(value) | Vrátí počet znaků, které obsahuje textová hodnota value. | Len(GetData('note')) |
Match(value, '^RegularExpression$') | Vrátí, zdali hodnota value odpovídá regulárnímu výrazu RegularExpression. Regulární výraz začíná znakem ^ a končí znakem $. | Match(GetData('id'), '^\d{6}$') |
CompleteInterview() | Označí aktuální rozhovor za ukončený | CompleteInterview() |
DisqualifyInterview() | Označí aktuální rozhovor za diskvalifikovaný, respondent bude vyřazen z dotazování. | DisqualifyInterview() |
GetCurrentSessionId() | Vrátí unikátní číslo aktuálního rozhovoru - id vyplňovaného dotazníku | GetCurrentSessionId() |
InRange(value, rangeStart, rangeEnd, resultIfInRange) | Testuje hodnotu value, zdali je v rozsahu od rangeStart do rangeEnd. Pokud ano, vrací hodnotu resultIfInRange. Pokud ne, vrací hodnotu NULL. | InRange(GetValue('q1'), 10, 20, 1) |
FirstNotNull(value1, value2, value3) | Vrátí první hodnotu ze seznamu parametrů, která není rovna hodnotě NULL. | FirstNotNull(InRange(GetValue('q1'), 10, 20, 1), InRange(GetValue('q1'), 20, 30, 2), InRange(GetValue('q1'), 30, 40, 3)) |
In(value, value1, value2, valuex) | Porovnává první hodnotu value s ostatními hodnotami funkce. Pokud je hodnota ve výčtu nalezena, vrací true, jinak false. | In(GetValue('q1'), 1, 2, 3) |
IsMobile() | Pokud je dotazník vyplňovám na mobilu, vrací true, jinak false. | IsMobile() |
Export dat odpovědí
Tento typ otázky je možné exportovat pro další zpracování do formátu CSV, XLSX nebo SAV. Otázka je exportována jako jeden datový sloupec.
Tento typ otázky je dostupný v účtu PROFESSIONAL a vyšším 👉 Přehled účtů
Last updated