Skript
Popis typu otázky Skript
Last updated
Popis typu otázky Skript
Last updated
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.
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.
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í.
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.
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í.
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".
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í.
=, ==, !=, <>
<, <=, >, >=
+, -
*, /, %
& (bitové and), | (bitové or), ^(bitové xor), << (posun vlevo), >>(posun vpravo)
!, not, -, ~ (bitwise not)
(, )
hodnoty
Jsou reprezentovány pomocí čísel.
Jsou vyhodnoceny jako Int32.
Pomocí tečky definujte desetinnou část.
Jsou vyhodnoceny jako Decimal.
Pomocí e můžete definovat mocninu deseti (10^).
Jsou vyhodnoceny jako Double.
Musí být uzavřeno mezi křížky.
Jsou vyhodnoceny jako DateTime.
Logické hodnoty mohou být buď true nebo false.
Jakýkoliv znak mezi jednoduchými uvozovkami ' ' jsou vyhodnoceny jako String.
Speciální znaky můžete escapovat pomocí \, ', \n, \r, \t.
Funkce je tvořena názvem následovaným složenými závorkami, která obsahuje jako argumenty libovolnou hodnotu.
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') |
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() |
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ů
Pro editaci položky klikněte v editoru dotazníku na modrou ikonu tužky, která otevře editační formulář s dalšími možnostmi.