Actions

ExpressionScript sample surveys/sl: Difference between revisions

From LimeSurvey Manual

(Created page with "==Posnetki zaslona==")
(Created page with "Če želite prenesti primer ankete od zgoraj, kliknite naslednjo povezavo: Media:Rating_User-Entered_List_of_Products_Survey.zip|Primer ankete o ocenjevanju seznama izdelkov...")
 
(37 intermediate revisions by the same user not shown)
Line 396: Line 396:




Let's check together the below example. The first random question on the page will either be Q1 , Q4, or Q7. The second randomized question on the page will either be Q2, Q5, or Q8.
Skupaj preverimo spodnji primer. Prvo naključno vprašanje na strani bo Q1, Q4 ali Q7. Drugo naključno izbrano vprašanje na strani bo Q2, Q5 ali Q8.




Line 403: Line 403:




Here is the randomization generated the first time I tested this survey.
Tukaj je randomizacija, ustvarjena ob prvem testiranju te ankete.




Line 409: Line 409:




A different randomization was generated the second time I tested the survey.
Ko sem drugič testiral anketo, je bila ustvarjena drugačna randomizacija.




Line 415: Line 415:




But, when I switched to French (without re-starting the survey), the randomization order remained intact.
Toda ko sem preklopil na francoščino (brez ponovnega zagona ankete), je vrstni red naključnega izbiranja ostal nedotaknjen.




Line 421: Line 421:




==Download==
==Prenos==




To download the above example, click on the following link: [[Media:Randomization_Group_Test.lss|Randomization_Group_Test.lss]]
Za prenos zgornjega primera kliknite naslednjo povezavo: [[Media:Randomization_Group_Test.lss|Randomization_Group_Test.lss]]




=Randomly Ask One Question Per Group=
=Naključno postavite eno vprašanje na skupino=




==Overview==
==Pregled==




This survey shows how you can configure a survey to randomly display one question per group. In it, there are 5 groups of 6 questions each. At the outset, in Group 0, five hidden Equation questions, called ask1-ask5, are populated. Each one has the value of {floor(rand(1,6.9999))} in the question text field, which means that the variables ask1-ask5 will each have a value between 1 and 6. Then, each question in the group has a relevance equation like "ask1==N" where N is the Nth question in the group (so the third question in group 1 has the relevance equation  "ask1==3").
Ta anketa prikazuje, kako lahko konfigurirate anketo za naključni prikaz enega vprašanja na skupino. V njej je 5 skupin po 6 vprašanj. Na začetku je v skupini 0 zapolnjenih pet skritih vprašanj enačb, imenovanih ask1-ask5. Vsak ima vrednost {floor(rand(1,6.9999))} v besedilnem polju vprašanja, kar pomeni, da bo vsaka od spremenljivk ask1-ask5 imela vrednost med 1 in 6. Nato ima vsako vprašanje v skupini enačba relevantnosti, kot je "ask1==N", kjer je N N-to vprašanje v skupini (torej ima tretje vprašanje v skupini 1 enačbo relevantnosti "ask1==3").


This survey works equally well in survey-at-a-time, group-by-group, and question-by-question modes. Since the randomization is set in the first group, and that group is effectively hidden (since all of the ask1-ask5 questions are hidden), the randomization stays the same for the subject; but each different subject will have a distinct randomization.
Ta anketa deluje enako dobro v načinih anketa naenkrat, skupina za skupino in vprašanje za vprašanje. Ker je randomizacija nastavljena v prvi skupini in je ta skupina dejansko skrita (ker so vsa vprašanja ask1-ask5 skrita), ostane randomizacija za subjekt enaka; vendar bo imel vsak različen predmet ločeno randomizacijo.




==Features Demonstrated==
==Prikazane lastnosti==




#[[Question type - Equation|Equation question type]]
#[[Vrsta vprašanja - Enačba|Vrsta vprašanja enačbe]]
#Randomization functions
#Funkcije naključnega izbiranja
#Conditional (if) function
#Pogojna (če) funkcija




==Screenshots==
==Posnetki zaslona==




This is Group0, which uses the [[Question type - Equation|Equation question type]] to select random values from 1 to 6 for each group (except the last group, which has only 4 questions). Note that the "if()" function first checks whether ask1 has already been set, and if so, uses that value. If the value hasn't been set, then it uses a random value to set the value of ask1.
To je skupina 0, ki uporablja [[vrsto vprašanja - enačba|vrsto vprašanja enačbe]] za izbiro naključnih vrednosti od 1 do 6 za vsako skupino (razen zadnje skupine, ki ima samo 4 vprašanja). Upoštevajte, da funkcija "if()" najprej preveri, ali je ask1 že nastavljen, in če je, uporabi to vrednost. Če vrednost ni nastavljena, potem uporabi naključno vrednost za nastavitev vrednosti ask1.




Line 455: Line 455:




This Group shows how the variable (ask4) from Group0 is used to control which question is visible within the fourth group.
Ta skupina prikazuje, kako se spremenljivka (ask4) iz skupine Group0 uporablja za nadzor, katero vprašanje je vidno v četrti skupini.




Line 461: Line 461:




==Download==
==Prenos==




To download the above survey example, click here: [[Media:limesurvey_survey_55164.lss|Random questions within a group survey example]].
Če želite prenesti zgornji primer ankete, kliknite tukaj: [[Media:limesurvey_survey_55164.lss|Naključna vprašanja v primeru skupinske ankete]].




=Randomly Ask A Specific Number Of Questions In A Group (a subset of the questions)=
=Naključno postavite določeno število vprašanj v skupini (podmnožica vprašanj)=




{{Alert|This applies only to all random questions from one group and only if the [[General_settings#General_settings_panel|Group by group or All in one]] format is used.}}
{{Opozorilo|To velja samo za vsa naključna vprašanja iz ene skupine in samo, če je uporabljen format [[General_settings#General_settings_panel|Group by group or All in one]].}}




==Overview==
==Pregled==




This survey shows how to ask a random subset of questions in a group. For example, show 5 random questions out of 10 questions located within a group.  
Ta anketa prikazuje, kako postaviti naključno podskupino vprašanj v skupini. Na primer, pokažite 5 naključnih vprašanj od 10 vprašanj, ki se nahajajo v skupini.  


The survey has one group containing 10 questions. All questions are assigned the same [[QS:Random_group|randomization group name]]. As a result, they will be displayed in a random order on page load. Each question is given a relevance equation that the sum of the "[[ExpressionScript - Presentation#Access to Variables|relevanceStatus]]" of all other questions in the group is less than the number of questions you want to show. Since [[ExpressionScript - Presentation#Access to Variables|relevanceStatus]] is assigned as questions are rendered, this effectively totals the number of preceding questions.
Anketa ima eno skupino, ki vsebuje 10 vprašanj. Vsem vprašanjem je dodeljeno isto [[QS:Random_group|ime naključne skupine]]. Posledično bodo prikazani v naključnem vrstnem redu ob nalaganju strani. Vsakemu vprašanju je podana enačba ustreznosti, tako da je vsota "[[ExpressionScript - Presentation#Access to Variables|relevanceStatus]]" vseh drugih vprašanj v skupini manjša od števila vprašanj, ki jih želite prikazati. Ker je [[ExpressionScript - Presentation#Access to Variables|relevanceStatus]] dodeljen, ko so vprašanja upodobljena, to dejansko sešteje število predhodnih vprašanj.


So, in our 5 out of 10 example, the equation for Q1 would be:
Torej bi bila v našem primeru 5 od 10 enačba za Q1:


<syntaxhighlight lang="php">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


For Q2, it would be:
Za Q2 bi bilo:


<syntaxhighlight lang="php">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>
<syntaxhighlight lang="php">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight>


And so on...
In tako naprej...




==Features Demonstrated==
==Prikazane lastnosti==




#[[ExpressionScript - Presentation#Access to variables|relevanceStatus variable]]
#[[ExpressionScript - Predstavitev#Dostop do spremenljivk|relevanceStatus variable]]
#[[QS:Random group|Randomizing]]
#[[QS:Random group|Randomizing]]


==Download==
==Prenos==




To download the above example, click on the following link: [[Media:Random_5_out_of_10.lss|Random 5 out of 10 survey example]].
Če želite prenesti zgornji primer, kliknite naslednjo povezavo: [[Media:Random_5_out_of_10.lss|Naključni primer ankete 5 od 10]].


=Rating User-Entered List of Products=
=Ocenjevanje seznama izdelkov, ki ga je vnesel uporabnik=




==Overview==
==Pregled==




The below example shows how you can ask users to list a set of products that interest them, and then have them rate those products.
Spodnji primer prikazuje, kako lahko od uporabnikov zahtevate, da navedejo nabor izdelkov, ki jih zanimajo, nato pa naj ocenijo te izdelke.




==ES Features Demonstrated==
==Predkazane lastnosti ES==




#'''Tailoring answers''' - when rating products, the labels come from the comment field of the preceding multiple choice question
#''''Prilagajanje odgovorov'''' – pri ocenjevanju izdelkov oznake izvirajo iz polja za komentar prejšnjega vprašanja z več možnimi odgovori
#'''Tailoring scales''' - many advanced questions options, like scale headings, can also be tailored.
#''''Prilagajanje lestvic'''' – številne napredne možnosti vprašanj, kot so naslovi lestvic, lahko biti tudi prilagojena.




==Screenshots==
==Posnetki zaslona==




This image shows that since only products 1,3, and 5 were selected, only those 3 are displayed (using the [[QS:Array_filter|array_filter]] attribute). Moreover, the row labels in the second question are either the product numbers (if nothing is entered into the comment field) or the contents of the comment fields.
Ta slika prikazuje, da ker so bili izbrani samo izdelki 1, 3 in 5, so prikazani samo ti 3 (z uporabo atributa [[QS:Array_filter|array_filter]]). Poleg tega so oznake vrstic v drugem vprašanju bodisi številke izdelkov (če v polje za komentarje ni vneseno nič) bodisi vsebina polj za komentarje.




Line 527: Line 527:




This image shows how the tailored answers are specified:
Ta slika prikazuje, kako so določeni prilagojeni odgovori:




Line 533: Line 533:




Here is the Show Logic File for that question, which lets us verify that the conditional logic works as desired (e.g., to see whether there are any syntax errors):
Tukaj je Prikaži logično datoteko za to vprašanje, ki nam omogoča, da preverimo, ali pogojna logika deluje po želji (npr. da vidimo, ali obstajajo sintaksne napake):




Line 539: Line 539:




The next image shows a group in which you specify a 5 point rating scale (Options 1-5), the title of the scale, and the products you want to rate. The final question shows that each of the parts of the array question can be tailored:
Na naslednji sliki je prikazana skupina, v kateri določite 5-točkovno ocenjevalno lestvico (možnosti 1-5), naslov lestvice in izdelke, ki jih želite oceniti. Zadnje vprašanje kaže, da je mogoče vsakega od delov matričnega vprašanja prilagoditi:




Line 545: Line 545:




The next image shows the logic file view of the last question. As you can observe, the subquestions, answers, and scale headers can be tailored.
Naslednja slika prikazuje pogled logične datoteke zadnjega vprašanja. Kot lahko opazite, je mogoče podvprašanja, odgovore in naslove lestvic prilagoditi.




<center>[[File:mcc_filter5.jpg]]</center>
<center>[[File:mcc_filter5.jpg]]</center>


==Download==
==Prenos==




To download the survey example from above, click on the following link: [[Media:Rating_User-Entered_List_of_Products_Survey.zip|Rating user-entered list of products survey example]].
Če želite prenesti primer ankete od zgoraj, kliknite naslednjo povezavo: [[Media:Rating_User-Entered_List_of_Products_Survey.zip|Primer ankete o ocenjevanju seznama izdelkov, ki ga je vnesel uporabnik]].

Latest revision as of 08:24, 19 December 2023


Uvod

Najboljši način, da se naučite uporabljati ExpressionScript, je, da se igrate z delujočimi primeri in jih prilagodite svojim potrebam.

Spodaj lahko najdete nabor vzorčnih anket, ki prikazujejo (in preizkusijo), kako lahko EM uporabite za izboljšanje vaše ankete. Te ankete najdete v mapi /docs/demosurveys distribucije.


Ustreznost, prilagajanje in enačbe

Pregled

Naslednji primer izračuna BMI (indeks telesne mase) vsakega anketiranca. Spodaj si oglejte funkcije, ki so prikazane v tem primeru.

Demonstrirane funkcije EM

  1. 'Ustreznost - podpora za zmogljivo pogojno logiko;
  2. Piping / Tailoring - ponuja možnost napeljave ali prilagajanja odgovorov in metapodatkov vprašanj;
  3. Dinamično prilagajanje - upoštevajte, da se poročila spreminjajo na strani, ko odgovarjate na vprašanja.
  4. Mikro krojenje - pogojno prilagajanje v stavkih in poročilih z uporabo stavkov if()
  5. Enačbe - nova vrsta vprašanja, ki vam omogoča izračune in shranjevanje rezultatov v bazo podatkov, tudi če je izračun skrit
  6. Pogojno preverjanje' - preverjanje kriteriji, kot je najmanjša dovoljena vrednost, so lahko pogojni – npr. na podlagi enačb.


Posnetki zaslona

Ta primer izračuna indeks telesne mase, izračun vaše teže in višine za ugotavljanje, ali imate premajhno telesno težo, normalno težo, prekomerno telesno težo ali debelost. Upoštevajte, da na začetku vidite le štiri obvezna vprašanja:



Ko vnesete svoje podatke (in lahko izberete, ali boste uporabili metrične ali nemetrične enote), vidite prilagojeno poročilo, ki povzema, kar ste vnesli, in vam pove stanje vaše teže:



Tukaj je drugačen primer z uporabo nemetričnih enot za prikaz, kako se rezultat dinamično spreminja:



Obstajajo skrite Vprašanja tipa enačbe na notranji ravni, ki pretvori podatke v metriko (če je potrebno), shranjuje metrično višino, težo, BMI in stanje teže v zbirki podatkov, ne da bi potreboval JavaScript po meri .

V naslednjem nizu primerov si lahko ogledate, kako lahko uporabite matematične in druge funkcije znotraj prilagojenih poročil. Tako izgleda stran, preden vnesete podatke. Obstaja pogojna logika za prikaz praznih celic, če niso vneseni nobeni (ali neštevilski) podatki, namesto da bi prikazali »NaN« ali »Deli z ničlo«.



Ko so številke vnesene, se poročilo na strani spremeni, da prikaže izvedeni izračun in njegov rezultat.



V tej vzorčni raziskavi je veliko drugih primerov. Spodnji posnetek zaslona na primer prikazuje enega od ducatov načinov, kako lahko izpolnite stran z dinamično ustreznostjo. Kot piše v besedilu pomoči, poskusite različne starosti in še posebej nelogične kombinacije odgovorov, da vidite zabavna sporočila, ustvarjena na dnu. Upoštevajte tudi, da če rečete, da imate več kot enega otroka, bo sporočilo pisalo "Upam, da uživate v igri s svojimi X otroki", namesto "Upam, da uživate v igri s svojim otrokom". To kaže, kako lahko enostavno mikroprikrojite stavke, da se ujemajo s spolom in/ali številom vaših predmetov. Z lahkoto lahko celo spregate glagole in zavrnete samostalnike glede na spol in število.



Prenos

Za dostop do vzorca ankete kliknite naslednjo povezavo: LS3_em_tailoring.zip.

Vzorec popisa

Pregled

To je primer popisa, ki sprašuje, koliko ljudi je v vašem gospodinjstvu.

Prikazuje, kako lahko ustreznost na ravni skupine olajša implementacijo "zanke" vprašanj. Ko sem ustvaril skupino za osebo 1, sem izvozil skupino. Ker sem namesto kode SGQA uporabil imena spremenljivk qcode, kot je p1_name, sem lahko uporabil urejevalnik besedila za hitro urejanje in večkratni ponovni uvoz skupine (npr. urejanje in ponovni uvoz vsake ponavljajoče se skupine je trajalo približno 10 sekund, kar zagotavlja da so vse spremenljivke imele edinstvena imena spremenljivk in da je bila logika na ravni skupine pravilna).

Lahko tudi funkcijo kopiraj vprašanje, vendar ne bo tako hitra kot zgoraj predlagana možnost.

To tudi pokaže, kako lahko preprečite prikaz sporočila Končano, dokler anketa ni resnično končana (npr. ko so izpolnjene vse potrebne skupine).


Demonstrirane funkcije EM

  1. 'Ustreznost na ravni skupine' - Spremljevalne skupine (Osebe 1-5) se prikažejo samo za največ navedeno število sostanovalcev;
  2. Prilagoditev' - Končno poročilo povzema demografski podatki za vsakega sostanovalca;
  3. Progresivni prikaz vprašanj - Ne glede na to, ali je v skupinskem načinu ali načinu vse v enem, se naslednja vprašanja prikažejo šele, ko je odgovorjen na prejšnja.


Posnetki zaslona

Anketa ustvari prilagojeno poročilo, ki prikazuje demografske podatke določenega števila sostanovalcev:



Če preklopite na način vprašanja naenkrat, vidite, da indeks prilagaja vprašanja. Ker je uporabnik rekel, da je oseba ženska, vpraša "Kako ji je ime". In ker smo odgovorili "Mary", je naslednje vprašanje "Koliko je stara Mary"?



Prenos

Če želite prenesti vzorec ankete, kliknite tukaj: LS3_group_relevance.zip.


Kaskadni matrični filtri

Pregled

Ta anketa temelji na zasnovi ankete, ki jo je izvedlo Joy Lane Research, LLC.


Posnetki zaslona

V nadaljevanju upoštevajte, da:

  • Q02 prikazuje samo nabor izdelkov, preverjenih v Q01 (z uporabo array_filter)
  • Q02 prikazuje tudi "Drug izdelek", besedilo, vneseno v polje "Druga elektronika" v Q01
  • Q04 prikazuje samo izdelke iz Q02, ki so bili preverjeni (zato filter matrike kaskadira)
  • Q05 prikazuje samo izdelke iz Q02, ki niso bili preverjeni v Q02 (z uporabo kaskadnega array_filter_exclude)


Datoteka:cascading_array_filter.jpg


Datoteka:cascading_array_filter2.jpg


Prenos

Kliknite naslednjo povezavo za prenos zgornjega primera: LS2_cascading_array_filter primer ankete.


Piping/prilagoditev z uporabo vseh vrst vprašanj in atributov

Pregled

Če ste zmedeni, kako poimenovati svoje spremenljivke (SGQA proti Qcodes), niste sami. Čeprav glavna dokumentacija opisuje kako sestaviti imena spremenljivk Qcode, ni nič boljšega od tega, da si ga ogledate v delujoči predstavitvi. Ta anketa prikazuje, kako lahko dostopate do atributov vprašanj in odgovorov s pomočjo ExpressionScript.


Template:Opomba


Vsebina

  • Primeri vsake vrste vprašanja
  • Vključeni so vsi tipi vprašanj, ki lahko uporabljajo »drugo«, tako da lahko vidite, kako to vpliva na poimenovanje spremenljivk
  • Privzete vrednosti za vse vrste vprašanj, ki sprejemajo privzete
  • Prilagajanje - Poročila na strani in zunaj nje, ki prikazujejo vseh 16 razpoložljivih pripon EM pikčastega zapisovanja.
  • Ta poročila prikazujejo vse trenutno vnesene podatke (zato vam pokažemo, kako lahko ustvarite lastna poročila za tiskanje za uporabnike namesto tiskanih- zaslon z odgovori)
  • Pravilno poimenovanje Qcode in SGQA vseh spremenljivk


Posnetki zaslona

To je obsežna raziskava, zato smo se odločili, da ne bomo vključili posnetkov zaslona. Namesto tega ga prenesite in se igrajte z njim.


Prenos

Za prenos ankete kliknite naslednjo povezavo: LS3_EM_question_attributes.lss

Tradicionalna validacija, na novo zasnovana

Pregled

To prikazuje vse vrste preverjanja, ki uporabljajo izraze, in kako vplivajo na posamezne vrste vprašanj, ki podpirajo preverjanje. V mnogih primerih se namigi za preverjanje začnejo skriti in se prikažejo samo, če vprašanje ne izpolnjuje meril za preverjanje (torej tudi izginejo, ko vprašanje prestane merila za preverjanje).


Prikazane vrste preverjanja

  1. min_num_value_n - najmanjša vrednost za odgovor
  2. max_num_value_n - največja vrednost za odgovor
  3. min_answers - najmanjša zahtevano število odgovorov
  4. max_answers največje dovoljeno število odgovorov
  5. multiflexible_min - najmanjša dovoljena vrednost za odgovor (za vrsto vprašanja s številkami multiflexi)
  6. multiflexible_max - največja dovoljena vrednost za odgovor (za vrsto vprašanja s številkami multiflexi)
  7. min_num_value - najmanjša dovoljena vsota vseh odgovorov za vprašanje
  8. max_num_value - največja dovoljena vsota vseh odgovorov na vprašanje
  9. equals_num_value - vsota vseh odgovorov na vprašanje mora biti enaka tej vrednosti
  10. validation - to je validacija regularnega izraza za vprašanje - lahko velja za posamezne celice


Posnetki zaslona

Z uporabo novih slogov CSS se za vsako vrsto preverjanja prikaže ločen nasvet. Če so prikazani, jih je mogoče skriti z možnostjo hide_tip. Privzeta možnost je, da jih prikažete z rdečo pisavo, če vprašanje ne izpolnjuje meril za preverjanje, in z zeleno, če jih prestane:



Uporabnik ne more oddati strani z napakami pri preverjanju. Če je vnesel napačne podatke, bo takoj opozorjen:



Preverjanje veljavnosti je mogoče uporabiti za posamezne celice v matriki, kot na primer v tem primeru, kjer preverjanje regularnih izrazov zagotavlja, da je vsak vnos pravilno oblikovana telefonska številka ZDA, vključno z območno kodo.



Prenos

Če želite prenesti zgornji primer, kliknite naslednjo povezavo: LS3_Validation_tests.zip.


Validacijske enačbe

Pregled

Včasih potrebujete preverjanje po meri, ki ga ni mogoče doseči z uporabo tradicionalnih najmanjših/največjih meril. Za to boste morali uporabiti možnosti em_validation_q in em_validation_sq, ki vam omogočata, da sestavite kompleksne validacijske enačbe na ravni vprašanja oziroma podvprašanja.


Template:Opomba


Demonstrirane funkcije EM

  1. em_validation_q - to je enačba, ki določa, ali je celotno vprašanje veljavno
  2. em_validation_q_tip - to je sporočilo, ki se prikaže, če vprašanje ne izpolnjuje kriterijev em_validation_q
  3. em_validation_sq - to je enačba, ki določa, ali je vsako podvprašanje (matrična celica) veljavno
  4. em_validation_sq_tip - to je sporočilo, ki se prikaže, če obstaja podvprašanj je neveljavno.

Na splošno se pri uporabi em_validation_sq, če je katera koli celica neveljavna, barva ozadja te celice obarva rdeče, kar pomeni, da je prišlo do napake.


Posnetki zaslona


To vprašanje zagotavlja, da vnesete starost svojih otrok v padajočem vrstnem redu z uporabo te potrditvene enačbe:

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





V spodnjem primeru preverjanje zagotavlja, da v kateri koli dani vrstici ni odgovorjeno na več kot 3 vprašanja z uporabo te potrditvene enačbe:

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

To lahko zapišete tudi na naslednji način, pri čemer ga LimeSurvey med izvajanjem samodejno pretvori v zgoraj navedeni izraz.

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



Prenos

Če želite prenesti vzorec ankete, uporabljen v zgornjih primerih, kliknite naslednjo povezavo: ls2_test_em_sq_validation.lss.


Ustreznost podvprašanja

Pregled

To prikazuje, kako lahko array_filter in merila za preverjanje medsebojno delujejo. Za validacije, ki veljajo za vsote, se upoštevajo samo ustrezne (vidne) vrednosti.


Demonstrirane funkcije EM

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

Prikazuje tudi dinamično poročanje o številu vprašanj, na katera so odgovorili v ključnih vprašanjih.


Posnetki zaslona

Spreminjanje števila vidnih vrstic dinamično spremeni vsoto. Označevanje podvprašanja kot nepomembnega ne počisti njegove vrednosti. Namesto tega, če je nepomemben, njegove vrednosti ne prispevajo k nobeni enačbi.


Datoteka:sqrel1.jpgDatoteka:Sqrelver12.png


Upoštevajte, kaj se zgodi, ko označimo "Peto podvprašanje" za prvo vprašanje "Katere vrstice naj se prikažejo spodaj". Upoštevajte, da je vsota za drugo vprašanje "Vnesite nekaj številk" zdaj 5. Čeprav ima podvprašanje 5 za to vprašanje še vedno vrednost 14 (npr. če počistite peto podvprašanje, boste znova videli vrednost 14) , ta vrednost ne prispeva k vsoti, ker je trenutno nepomembna. Vsi nepomembni podatki so ob oddaji izbrisani (v zbirki podatkov označeni za NULL), vendar ostanejo na voljo na strani, če si uporabniki želijo ali si morajo premisliti glede odgovorov.



Prenos

Če želite prenesti naš primer, kliknite tukaj: ls2_subquestion_relevance.lss.


Uporaba vejice kot ločila korena (decimalna vejica)

Pregled

ExpressionScript zagotavlja, da je v številska polja mogoče vnesti samo veljavna števila. Če vnesete neveljavno številko, boste opozorjeni, da je nekaj narobe (npr. v primeru sadne teme je celotno vprašanje "rdeče-rdečo").

Upoštevajte, da se številske vrednosti vedno pretvorijo v uporabo pike kot ločila korena v zbirki podatkov. Na ta način bodo statistične analize delovale ustrezno.

Če želite spremeniti ločilo radiksa, odprite možnosti Besedilni elementi pod zavihkom Nastavitve in poiščite funkcijo decimalno znamenje.


Template:Opomba


Vrste vprašanj z uporabo ločila radix

  1. Numerični vnos [ N]
  2. Večštevilski vnos [ K]
  3. Matrika (števila) [ :]
  4. Matrika (besedila) [ ;], če uporabljate atribut numbers_only
  5. Seznam (radio) [ L], če uporabljate atribut other_numbers_only
  6. Kratko prosto besedilo [ S], če uporabljate atribut numbers_only
  7. Več kratkih besedil [ Q], če uporabljate atribut numbers_only
  8. več možnosti [ M], če uporabljate atribut other_numbers_only atribut
  9. Več odgovorov s komentarji [ P], če uporabljate atribut other_numbers_only


Posnetki zaslona

Na spodnjih posnetkih zaslona boste morda opazili, da je vejico mogoče uporabiti kot ločilo radiksa.



Prenos

Če želite prenesti zgornji primer, kliknite naslednjo povezavo: ls2_comma_as_radix_separator.lss.


Naključne skupine

Pregled

Ta anketa prikazuje, kako uporabiti atribut random_group.

Če uporabite ta atribut, se vsakič, ko začnete anketo, vrstni red vprašanj naključno določi. Ko se anketa začne, ostane naključni vrstni red nespremenjen, tudi če spremenite jezik.


Posnetki zaslona

Skupaj preverimo spodnji primer. Prvo naključno vprašanje na strani bo Q1, Q4 ali Q7. Drugo naključno izbrano vprašanje na strani bo Q2, Q5 ali Q8.



Tukaj je randomizacija, ustvarjena ob prvem testiranju te ankete.



Ko sem drugič testiral anketo, je bila ustvarjena drugačna randomizacija.



Toda ko sem preklopil na francoščino (brez ponovnega zagona ankete), je vrstni red naključnega izbiranja ostal nedotaknjen.



Prenos

Za prenos zgornjega primera kliknite naslednjo povezavo: Randomization_Group_Test.lss


Naključno postavite eno vprašanje na skupino

Pregled

Ta anketa prikazuje, kako lahko konfigurirate anketo za naključni prikaz enega vprašanja na skupino. V njej je 5 skupin po 6 vprašanj. Na začetku je v skupini 0 zapolnjenih pet skritih vprašanj enačb, imenovanih ask1-ask5. Vsak ima vrednost {floor(rand(1,6.9999))} v besedilnem polju vprašanja, kar pomeni, da bo vsaka od spremenljivk ask1-ask5 imela vrednost med 1 in 6. Nato ima vsako vprašanje v skupini enačba relevantnosti, kot je "ask1==N", kjer je N N-to vprašanje v skupini (torej ima tretje vprašanje v skupini 1 enačbo relevantnosti "ask1==3").

Ta anketa deluje enako dobro v načinih anketa naenkrat, skupina za skupino in vprašanje za vprašanje. Ker je randomizacija nastavljena v prvi skupini in je ta skupina dejansko skrita (ker so vsa vprašanja ask1-ask5 skrita), ostane randomizacija za subjekt enaka; vendar bo imel vsak različen predmet ločeno randomizacijo.


Prikazane lastnosti

  1. Vrsta vprašanja enačbe
  2. Funkcije naključnega izbiranja
  3. Pogojna (če) funkcija


Posnetki zaslona

To je skupina 0, ki uporablja vrsto vprašanja enačbe za izbiro naključnih vrednosti od 1 do 6 za vsako skupino (razen zadnje skupine, ki ima samo 4 vprašanja). Upoštevajte, da funkcija "if()" najprej preveri, ali je ask1 že nastavljen, in če je, uporabi to vrednost. Če vrednost ni nastavljena, potem uporabi naključno vrednost za nastavitev vrednosti ask1.



Ta skupina prikazuje, kako se spremenljivka (ask4) iz skupine Group0 uporablja za nadzor, katero vprašanje je vidno v četrti skupini.



Prenos

Če želite prenesti zgornji primer ankete, kliknite tukaj: Naključna vprašanja v primeru skupinske ankete.


Naključno postavite določeno število vprašanj v skupini (podmnožica vprašanj)

Template:Opozorilo


Pregled

Ta anketa prikazuje, kako postaviti naključno podskupino vprašanj v skupini. Na primer, pokažite 5 naključnih vprašanj od 10 vprašanj, ki se nahajajo v skupini.

Anketa ima eno skupino, ki vsebuje 10 vprašanj. Vsem vprašanjem je dodeljeno isto ime naključne skupine. Posledično bodo prikazani v naključnem vrstnem redu ob nalaganju strani. Vsakemu vprašanju je podana enačba ustreznosti, tako da je vsota "relevanceStatus" vseh drugih vprašanj v skupini manjša od števila vprašanj, ki jih želite prikazati. Ker je relevanceStatus dodeljen, ko so vprašanja upodobljena, to dejansko sešteje število predhodnih vprašanj.

Torej bi bila v našem primeru 5 od 10 enačba za Q1:

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

Za Q2 bi bilo:

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

In tako naprej...


Prikazane lastnosti

  1. relevanceStatus variable
  2. Randomizing

Prenos

Če želite prenesti zgornji primer, kliknite naslednjo povezavo: Naključni primer ankete 5 od 10.

Ocenjevanje seznama izdelkov, ki ga je vnesel uporabnik

Pregled

Spodnji primer prikazuje, kako lahko od uporabnikov zahtevate, da navedejo nabor izdelkov, ki jih zanimajo, nato pa naj ocenijo te izdelke.


Predkazane lastnosti ES

  1. 'Prilagajanje odgovorov' – pri ocenjevanju izdelkov oznake izvirajo iz polja za komentar prejšnjega vprašanja z več možnimi odgovori
  2. 'Prilagajanje lestvic' – številne napredne možnosti vprašanj, kot so naslovi lestvic, lahko biti tudi prilagojena.


Posnetki zaslona

Ta slika prikazuje, da ker so bili izbrani samo izdelki 1, 3 in 5, so prikazani samo ti 3 (z uporabo atributa array_filter). Poleg tega so oznake vrstic v drugem vprašanju bodisi številke izdelkov (če v polje za komentarje ni vneseno nič) bodisi vsebina polj za komentarje.



Ta slika prikazuje, kako so določeni prilagojeni odgovori:



Tukaj je Prikaži logično datoteko za to vprašanje, ki nam omogoča, da preverimo, ali pogojna logika deluje po želji (npr. da vidimo, ali obstajajo sintaksne napake):



Na naslednji sliki je prikazana skupina, v kateri določite 5-točkovno ocenjevalno lestvico (možnosti 1-5), naslov lestvice in izdelke, ki jih želite oceniti. Zadnje vprašanje kaže, da je mogoče vsakega od delov matričnega vprašanja prilagoditi:



Naslednja slika prikazuje pogled logične datoteke zadnjega vprašanja. Kot lahko opazite, je mogoče podvprašanja, odgovore in naslove lestvic prilagoditi.


Prenos

Če želite prenesti primer ankete od zgoraj, kliknite naslednjo povezavo: Primer ankete o ocenjevanju seznama izdelkov, ki ga je vnesel uporabnik.