Ellenőrizze a felmérés logikáját – Speciális
From LimeSurvey Manual
Általános
Egy fontos lehetőség, amely segít összetett felmérések létrehozásában és egyszerű karbantartásában, a Felmérési logika ellenőrzése.
A felmérés fejlesztése és tesztelése során, valamint az aktiválás előtt nagyon fontos a felmérés logikájának érvényesítése. Ez különösen igaz, ha összetett relevancia-, testreszabási és érvényesítési egyenleteket használ – biztosnak kell lennie abban, hogy a felmérés futtatásakor semmi sem fog összetörni.
Ezzel a funkcióval gyorsan ellenőrizheti a felmérés, a csoport(ok) és a kérdés(ek) pontosságát. A felméréshez kapcsolódó beállítások alatt található felső sáv menüopcióiból érhető el. Az "Eszközök" menüből érhető el:
Amint azt fentebb láthatta, ezt a lehetőséget négyszer futtathatja le a felmérésben használt minden egyes nyelvre.
Leírás
A Felmérés logikájának ellenőrzése opció kényelmes táblázatos formában megjeleníti mindazt, amit az egyes kérdésekhez és csoportokhoz megadott (pl. név, szöveg, súgó, feltételek/relevancia, érvényesítési szabályok, alapértelmezések, részkérdések, válaszok). Kiemeli a hibákat, és lehetővé teszi, hogy a kérdés- és csoportazonosítókra (vagy az egyenletekben használt változókra) kattintva új böngészőlapokat nyisson meg a kérdések vagy csoportok szerkesztéséhez. Ez megkönnyíti a hibák gyors szerkesztését és a logikai ellenőrző oldal frissítését, hogy megerősítse a felmérés pontosságát, mielőtt aktiválná azt.
A kijelzőt úgy tervezték, hogy olvasható legyen a kutatók és a tanulmányok támogatói számára, így ellenőrizni tudják a felmérés tervezésének és logikájának pontosságát. A felmérés logikájának ellenőrzése frissíti a gyorsítótárat az aktív felmérésben használt összes kifejezéshez.
A következő oszlopokat tartalmazza:
- # - a csoport és a kérdéssorok számát mutatja, 0-tól kezdve.
- Név [ ID] - a csoport/kérdés/alkérdés kérdéskódját mutatja. Ezek a kódok változóként használhatók az expressions-on belül. Az ID a kérdésazonosító (QID) vagy a csoportazonosító (GID). Ebben a mezőben az kérdéstípus is látható (pl. Többválasztós [M])).
- Relevancia [ Validation] (Alapértelmezett) - a következőket mutatja:
- Relevance - a szintaxis által kiemelt relevancia egyenlet a kérdéshez vagy csoporthoz. Ha mindig igaz (bármely forgatókönyvben meg kell jelennie), az érték 1 lesz.
- Validation - Az ExpressionScript automatikusan generálja az ellenőrzést egyenlet a kiválasztott kérdésattribútumok (pl. min/max válaszok száma, min/max/egyenlő összegértékek, min/max egyedi értékek vagy reguláris kifejezés érvényesítése) alapján. Ez a rész a generált érvényesítési egyenletet mutatja be, így észlelheti, hogy vannak-e hibák (például nem definiált változók).
- A kérdésszintű érvényesítés a fent leírt kérdésattribútumok ellenőrzéséhez szükséges egyenletet mutatja
- **A részkérdés-szintű ellenőrzés megmutatja a array_filter, array_filter_exclude és exclusive_option megvalósításához szükséges egyenletet
- Default - ha a kérdésnek alapértelmezett értéke van, az itt jelenik meg, szintaktikailag kiemelve (mivel az alapértelmezett lehet egy kifejezés).
- Szöveg [ Súgó] (Tipp) - a következőket jeleníti meg:
- Text - a csoport, kérdés, részkérdés vagy válasz szövege. Szintaxis kiemelve jelenít meg minden beágyazott testreszabás, így ellenőrizheti, hogy deklarálta-e a testreszabásban használni kívánt összes változót.
- Súgó - ez a kérdés súgószövegét mutatja, szintaktikailag is kiemelve.
- Tipp - ez a belsőleg generált érvényesítési tippet mutatja a kérdésattribútumok alapján. Ugyanezt a tippet használják minden felmérési stílusban, valamint a nyomtatható felmérési és adatbeviteli képernyőkön.
- Kérdésattribútumok – ez a kérdéshez tartozó összes kérdésattribútum táblázatát mutatja. Az esetleg egyenletek attribútumok szintaktikailag kiemelve vannak, így ellenőrizni tudja a pontosságukat.
A sorok színkódolása a következő:
- Csoportok - világosszürke háttérrel jelennek meg
- Kérdések - világoszöld háttérrel jelennek meg
- ' Alkérdések' - halványsárga háttérrel jelennek meg
- Válaszok - sima fehér háttérrel jelennek meg
A válaszok további attribútuma található a Relevancia oszlopban:
- Érték – ez a számítások által használt alapértelmezett belső érték. Ha az Assessments-t használja, ez lesz az értékelési érték. Ellenkező esetben ez megegyezik a válasz nevével.
Használat
Az oldal tetején egy összefoglaló üzenet található. Ha minden rendben van, akkor azt írja ki, hogy "Nem észleltünk szintaktikai hibákat ebben a felmérésben", vagy "Ez a csoport" vagy "Ez a kérdés", "önmagában nem tartalmaz szintaktikai hibákat". Ha ennek az ellenkezője igaz, akkor azt fogja mondani, hogy "X kérdésben szintaktikai hibák vannak, amelyeket ki kell javítani".
Minden olyan kérdés, amely szintaktikai hibákat tartalmaz, a bal szélső oszlopának (azaz a #) színkódolt piros hátterét kapja. Ezenkívül a Név [ID] oszlopban megjelenik egy figyelmeztetés, amely jelzi a kérdések minimális hibáinak számát. A következő hibák gyakoriak:
- Nem definiált változó - ha nem definiálta az összes változót, vagy rosszul írta be az array_filter-t (vagy az array_filter különböző válaszlehetőségeit), akkor néhány érvényesítési kérdés hibát jelez . A nem definiált változók piros szöveggel jelennek meg, piros vonallal bekeretezve.
- Rossz szintaxis - amint elkezdi használni a relevanciaegyenleteket, előfordulhat, hogy túl sok vagy túl kevés zárójelet használ. Az ilyen szintaktikai problémák pirossal vannak kiemelve és bekeretezve. Ha az egeret egy ilyen piros dobozos szöveg fölé viszi, egy eszköztipp leírja a hibát.
Színek az ExpressScript szintaxisban
A feltételek és az egyenletek szintaxisa kiemelve van, hogy könnyebben megtudja, mit keres:
- Zöld / Világoskék: Változó, amely a felmérés korábbi kérdésére hivatkozik
- Kék : Függvény
- Szürke: Karakterlánc kifejezés
- Barna: TOKEN kifejezés (résztvevői adatok)
- Fekete: Operátor
Ellenőrizendő dolgok:
- Lila: Változó, amely egy kérdés a felmérés későbbi részében. Általában ez egy hiba, és ellenőrizni kell.
- Piros vagy piros keret: Nem létező változó vagy hivatkozás egy korábbi kérdésre vagy szintaktikai hiba - általában ellenőrizni kell.
Nem definiált változók
Ha nem definiált változókat használ, a változó neve piros színnel lesz kódolva, és piros vonal veszi körül. Ha az egeret a változó nevére viszi, akkor a "undefined variable" felirat jelenik meg:
}}
Rossz szintaxis
A legtöbb kifejezéssel kapcsolatos hiba a rossz szintaxishoz kapcsolódik. Ez azzal a ténnyel kapcsolatos, hogy a felmérés adminisztrátorai általában elmulasztják a szögletes zárójel hozzáadását, a zárójelek megfelelő használatát, vagy rosszul használnak kifejezéseket:
Íme sok jó példa az szintaktikakiemelés használatára.
Rossz egyéni JavaScript
A JavaScript-hibák a felmérés logikai ellenőrzésében is kiemelésre kerülnek:
Gyorshajtás szerkesztése és érvényesítése
A szintaxissal kiemelt szövegek mindegyikébe beágyazott elemleírások vannak, amelyek kattinthatóak:
- Eszköztippek
- Funkciók - az egérmutatót lenyomva láthatja a függvény célját és szintaktikai definícióját;
- Változónevek - az egeret mozgatva láthatja a pozíciót (csoport, kérdéssor), a kérdés szövegét és a kérdésre adott válaszokat.
- Műveletek
- Változónevek - a változó nevére kattintva egy új ablak nyílik meg, amely lehetővé teszi a kérdés szerkesztéséhez. Ez megkönnyíti a navigálást és a logika ellenőrzését – egyszerűen kattintson folyamatosan a releváns változónevekre vagy az érvényesítési feltételekre a kérdéshez, hogy megtudja, honnan származnak és hogyan használják őket.
Példák
A következő példák az ExpressionScript mintafelmérésekből származnak. Ezen az oldalon képernyőképeket találhat futó felmérésekről, magyarázatokról és letöltésekről.
Testtömegindex
Íme screenshots ebből a példából.
Ez a Body Mass Index számítás kérdés-átrendezési nézete. A súly, magasság és BMI relevanciaegyenleteit a „Kérdés” oszlopban tekintheti meg:
A felmérés jobb áttekintése érdekében tekintse meg a felmérés logikai oldalát:
Ez a felmérési példa is jó példa a beágyazott if() utasításokra a "súlyállapot" generálására.
Lépcsőzetes logika
Íme képernyőképek erről a példáról.
Megmutatja a részkérdések érvényesítési logikáját, amely automatikusan generálódik a array_filter és a array_filter_exclude használatakor. Ez a példa azt is bemutatja, hogyan helyettesítheti be a személyre szabott "Egyéb" értéket (a Q02_other válasza Q01_other).
Ebben a példában a Q05 a tömb_szűrő és a tömb_szűrő_kizárása egyidejű használatát mutatja a Q01-en és a Q02-n. Ez a példa a lépcsőzetes array_filter képességeket mutatja be. Ne feledje, hogy a kérdés és az alkérdés szintű validation kritériumok megjelenítésének egyik fő oka annak biztosítása, hogy ne vétett-e el gépelési hibákat a array_filter vagy array_filter_exclude változónevek megadásakor (vagy abban az esetben, ha különböző változóneveket használ a szűrt alkérdések listáját). Ha ilyen elírási hibákat tapasztal, az összes érvénytelen változónév piros színnel jelenik meg, jelezve, hogy nem definiáltak, így gyorsan kijavíthatja a problémát.
Dinamikus relevancia
Ez a példa dinamikus lépcsőzetes relevancialogikát mutat be a kérdés láthatóságának megjelenítésének szabályozására. Ezt a példát itt töltheti le.
Vegye figyelembe azt is, hogy a kérdések csak akkor jelennek meg, ha bizonyos érvényesítési feltételek teljesülnek. Például, ha valaki azt állítja, hogy 2 gyereke van, bizonyos kérdéseket a válaszadónak ki kell töltenie (gyerek1 és gyerek2).
Csoportszintű relevancia
Ez a példa bemutatja, hogyan jelenik meg a csoportszintű relevancia a logikai ellenőrzésben. Íme screenshots az alább leírt példáról.
Amint láthatja, a csoportszintű relevanciaegyenlet (cohabs > 1 && p1_rel != "") a szürke 2. személy sorban jelenik meg G-2 esetén.
Azt is észreveheti, hogy minden kérdés kötelező. Ha azonban a csoport irreleváns, akkor az összes kérdése sem releváns. Ennek eredményeként ezek a kérdések csak akkor igazán kötelezőek, ha a csoport releváns.
Azt is megjegyezheti, hogy bizonyos kérdések csak akkor jelennek meg, ha az előző kérdésre adott válasz nem üres. Alább láthatja, hogy ha a p2_sex nincs kitöltve, akkor a p2_name nem jelenik meg, pedig ez egy kötelező kérdés. A p2_age kötelező kérdés sem jelenik meg, ha a p2_name nincs kitöltve. Ezek a kérdések "feltételesen kötelezőnek" tekinthetők.
Ezenkívül vegye figyelembe, hogy a tipp üzenetek is automatikusan létrejönnek Önnek. Értéktartomány (min/max), összegértéktartomány (min/max/egyenlő), válaszok száma (min/max) stb. szerint vannak rendezve (ez a használt kérdéstípustól és az aktív attribútumoktól függ). Néha ellenőrizni szeretne egy választartományt, de nem akarja megjeleníteni a felhasználó számára ostoba érvényesítési tippeket. Ilyen esetekben használhatja a hide_tip kérdésopciót (mint ebben az esetben is, nehogy azt mondják a felhasználónak, hogy az életkornak 0 és 115 között kell lennie, hacsak nem próbál rossz értéket beírni – lásd p2_age ).
Vessző gyök (tizedes) elválasztóként
Bár a LimeSurvey teljes mértékben támogatja a vessző használatát gyök (tizedes) elválasztóként futásidőben, a tervezés időpontjában továbbra is tizedesjegyet kell használnia gyökér elválasztóként (pl. ha min/max értékeket ad meg a speciális kérdésattribútumokban). A működő példa a következő lehet: itt található.
Ne feledje továbbá, hogy az ellenőrzési logika automatikusan létrejön az Ön számára az engedélyezett kérdésattribútumokból. Az egyenletek elsöprőnek tűnhetnek, de nem kell aggódnia miattuk.