x

Pääluvut

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Pikaopas - LimeSurvey 3.0+
  3. Asennus - LimeSurvey CE
  4. Miten suunnitella hyvä kysely (opas)
  5. Aloitus
  6. LimeSurveyn hallinnointi
  7. Kyselyt - johdanto
  8. Kyselyn asetukset
  9. Kyselyn valikko
  10. Kyselyn rakenne
  11. Kysymykset - johdanto
  12. Kysymysryhmät - johdanto
  13. Kyselyt - hallinta
  14. Kyselyn työkalupalkin asetukset
  15. Monikielinen kysely
  16. ExpressionScript-moottori - Pikaopas
  17. Luokittelemattomat ja edistyneet ominaisuudet
  18. Yleiset usein kysytyt kysymykset
  19. Vianmääritys
  20. Kiertotavat
  21. Lisenssi
  22. Version muutoslogi
  23. Lisäosat
 Actions

ExpressionScript-esimerkkejä

From LimeSurvey Manual

Tämä sivu on saatettu kääntää konekäännöksenä, ja se voi sisältää virheitä. Näytä englanninkielinen alkuperäinen · Paranna tätä käännöstä
This page is a translated version of the page ExpressionScript examples and the translation is 100% complete.
Auta laajentamaan tätä artikkelia lisäämällä omia esimerkkejäsi. Se auttaa muita pääsemään alkuun Expression Scriptin käytössä.


Rakenne

Artikkelin ensimmäisessä osassa kuvataan, mihin lausekkeita voi käyttää ja mistä lausekkeen löytää tai mihin sen voi lisätä. Toisessa osassa on esimerkkejä lausekkeiden käytöstä.


Lausekkeiden luokat

LimeSurvey käyttää lausekkeita seuraaviin tarkoituksiin:


Relevanssi

Tarkoitus: kysymysryhmien tai kysymysten piilottaminen

Relevanssi määrittää, näytetäänkö kysymysryhmä vai kysymys vai piilotetaanko se. Jos lausekkeen tulos on "tosi" (eli 1), elementti näytetään. Muussa tapauksessa (jos lausekkeen tulos on "epätosi" eli 0) elementti piilotetaan.

Tyyppi Näyttää/piilottaa Mistä löytyy Kuvakaappaus
Kysymysryhmän relevanssi kysymysryhmä Luo/muokkaa kysymysryhmää -> "Relevanssiyhtälö:"
Kysymyksen relevanssi kysymys Luo/muokkaa kysymystä -> "Relevanssiyhtälö:"
Alikysymyksen relevanssi alikysymys Muokkaa alikysymyksiä -> "Relevanssiyhtälö:"


Vahvistus

Tarkoitus: kysymysten, alikysymysten ja vastausten syötteiden tai toimintojen vahvistaminen

Vahvistus määrittää, onko vastaajan kysymykseen antama syöte tai toiminto kelvollinen. Jos lausekkeen tulos on "tosi" (eli 1), elementtiin ja vahvistusviestiin lisätään "good"-luokka. Muussa tapauksessa, jos lausekkeen tulos on "epätosi" (eli 0), elementtiin ja vahvistusviestiin lisätään "error"-luokka. Voit määritellä näille luokille tyylin tiedostossa template.css.

Tyyppi Vahvistaa Mistä löytyy Kuvakaappaus
Kysymyksen vahvistus kysymys Luo/muokkaa kysymystä -> "Logiikka-välilehti" -> "Kysymyksen vahvistusyhtälö"
Alikysymyksen vahvistus alikysymykset Luo/muokkaa kysymystä -> "Logiikka-välilehti" -> "Alikysymyksen validoinnin kaava" ‎

Tekstin tulostus

Tarkoitukset: (tee jotain ja) kirjoita tekstiä

Lausekkeella voi tulostaa tekstiä. Voit esimerkiksi testata tai laskea jotain ja määrittää tulosteen testin tai laskennan tuloksen mukaan. Sillä voi myös lisätä aiemmin käytetyn kysymyksen kysymystekstin, vastauksia, kysymystyyppejä jne. ennen lausekkeen käyttöä. Tekstin tulostusta voi käyttää kaikkialla, missä teksti näytetään, ja se voi palauttaa kaikenlaisia tuloksia.

Käyttötapaus Kuvaus
Mikrokohdennus Muokkaa tekstiä, esim. kirjoita "Herra" tai "Rouva" aiemmin kysytyn sukupuolikysymyksen mukaan
Laskenta Laske arvo ja kirjoita se näkyviin, esim. "Perheesi tulot ovat xxx"
Viittaus Lisää teksti elementistä, esim. "Nimesi on xxx. Minkä ikäinen olet?"


Vastausten tallennus

Tarkoitukset: (tee jotain,) (kirjoita tekstiä) ja tallenna jotain tietokantaan

Yhtälö-kysymystyyppiä voi käyttää jonkin tallentamiseen tietokantaan. Voit tehdä jotain lausekkeella, näyttää yhtälökysymyksen (joka on samankaltainen kuin tekstin näyttö) ja tallentaa lausekkeen tuloksen tietokantaan. Vastaus tallennetaan vastaustaulukkoon. Tulosta voi sitten käyttää tilastotoiminnossa tai sen voi viedä johonkin LimeSurveyn vientitoiminnon tarjoamista muodoista.

Esimerkkejä lausekkeista

Edellisen kysymyksen vastauksen lisääminen

Tarkoitus Lisää vastaus edellisestä kysymyksestä
Tyyppi Viittaus
Esimerkki Kysymys yksi (kysymyskoodi "Q00"): Missä kaupungissa asut?
Kysymys kaksi (kysymyskoodi "Q01"): Kuinka kauan olet asunut paikkakunnalla KAUPUNKI?
Tehtävä: Ensimmäisen kysymyksen vastaus pitäisi käyttää toisen kysymyksen "KAUPUNKI"-sanan tilalla.
Lauseke {QOO}
Kuvaus Q00:ssa annettu vastaus korvaa toisen kysymyksen Q00-kentän
Vaiheet Luo/muokkaa kysymystä kaksi
Lisää kysymystekstikenttään "Kuinka kauan olet asunut paikkakunnalla {QOO} (vuosia)?"

Piilotetun yhtälökysymyksen käyttö vastauksen automaattiseen täyttöön

Ongelma: Oletetaan, että sinulla on kaksi kysymystä, Q1 ja Q2. Q1 kysyy vastaajan ikää. Q2 jakaa vastaajat kolmeen ryhmään: ikä on alle 20 vuotta, ikä on 20, ikä on yli 20. Q2:n pitäisi siis käyttää arvoja "1", "2" ja "3", jotka vastaavat yllä olevia ehtoja. Lisäksi Q2 pitää tehdä näkymättömäksi (kysymystä ei näytetä kyselyssä, mutta arvot tallentuvat "taustaprosessin" kautta vastaustaulukkoon).

Tietokannan täyttäminen Yhtälö-kysymystyypillä:

  • Luo ensin kysymys koodilla Q1 numeerisena syötekysymyksenä.
  • Luo sitten toinen kysymys koodilla Q2 yhtälökysymyksenä.
  • Q2:n "Näyttöasetukset"-välilehdellä:
    • aseta "Piilota kysymys aina" -kentän arvoksi "Päällä"
    • kirjoita "Yhtälö"-kenttään lauseke:
{if(Q1.NAOK < 20, "1", if(Q1.NAOK > 20, "3", "2"))}

Yhteenvetosivun luominen paikkamerkeillä

Tämä opas näyttää, miten voit luoda kyselyn loppuun yleiskatsauksen, joka listaa kaikki kysymykset ja vastaukset ExpressionScript-paikkamerkkien avulla. Se näyttää myös, miten tällaisen yleiskatsauksen voi rajata vain vastattuihin kysymyksiin.

Esimerkkimme voi ladata täältä: Kyselyn paikkamerkkiesimerkki.


Tässä käytetyt kysymystyypit:

1. Yksi valinta -kysymykset / yksittäiset teksti- tai numeerisemmat kysymykset

  • Lista (pudotusvalikko)
  • Lista (radiopainikkeet) [L]
  • Kyllä/Ei [Y]
  • Pitkä vapaateksti [T]
  • Lyhyt vapaateksti [S]
  • Numeerinen syöte [N]
  • Yhtälö [*]


2. Alikysymyksiä sisältävät kysymykset

  • Useita lyhyitä tekstikenttiä [Q]
  • Monivalinta [M]
  • Taulukko [F]
  • Taulukko (Kyllä/ei/ei osaa sanoa) [C]
  • Taulukko (10 pisteen valinta) [B]


3. Kysymykset, joissa on 2 asteikkoa

  • Kaksiasteikkoinen ryhmä [1]


4. Kysymykset, joissa on X- ja Y-asteikot

  • Taulukko (Numerot) [:]


5. Näennäiskysymykset

  • Tekstin näyttö [X]


Tässä yksinkertaisessa esimerkissä yleiskatsauksemme on yksinkertainen lista, jossa on:

- Kysymysteksti: käyttäjän vastaus


Yksi valinta -kysymykset / yksittäiset teksti- tai numeerisemmat kysymykset

Kaikissa näissä kysymystyypeissä LimeSurvey tallentaa yhden vastauksen:

  • Lista (pudotusvalikko)
  • Lista (radiopainikkeet)
  • Lista kommentilla
  • 5 pisteen valinta
  • Kyllä/Ei
  • Lyhyt vapaateksti
  • Pitkä vapaateksti
  • Hyvin pitkä vapaateksti
  • Numeerinen syöte
  • Yhtälö
  • Päivämäärä
  • Sukupuoli

Jos kysymyksen kysymyskoodi on q1, voimme viitata kysymystekstiin ja vastaukseen seuraavasti:

- {q1.question}: {q1.shown}

Esimerkki:

- Kuinka vanha olet?: 25


Jos haluat tarkistaa, onko kysymykseen vastattu, voit lisätä tulosteen ympärille IF-lauseen:

{if(!is_empty(q1),join("- ",q1.question,": ",q1.shown),"")}

Tämä "käännettynä" tarkoittaa: JOS kysymys, jonka koodi on q1, ei ole tyhjä, tulosta "- " JA kysymysteksti JA ": " JA vastausteksti (join()-funktio yhdistää elementit uudeksi merkkijonoksi); MUUTEN: älä tulosta mitään ("" tarkoittaa tyhjää merkkijonoa).

Alikysymyksiä sisältävät kysymykset

Kaikissa näissä kysymystyypeissä LimeSurvey käyttää alikysymyksiä:

  • Useita lyhyitä tekstikenttiä
  • Monivalinta
  • Monivalinta kommenteilla
  • Taulukko
  • Taulukko (5 pisteen valinta)
  • Taulukko (10 pisteen valinta)
  • Taulukko (Kyllä/ei/ei osaa sanoa)
  • Taulukko (Kasvata/Sama/Pienennä)
  • Taulukko sarakkeen mukaan

Jos kysymyksen kysymyskoodi on q2 ja alikysymykset on numeroitu SQ001, SQ002 (LimeSurvey numeroi ne automaattisesti), voimme viitata kysymystekstiin ja vastaukseen seuraavasti:

- {q2_SQ001.question}: {q2_SQ001.shown}

- {q2_SQ002.question}: {q2_SQ002.shown}

Monivalintakysymyksissä on järkevää näyttää valitun alikysymyksen tekstin sijaan Y jokaisesta valitusta vaihtoehdosta:

- {q2_SQ001.question}: {q2_SQ001}

- {q2_SQ002.question}: {q2_SQ002}

...

Huomaa, että tällä hetkellä alikysymyksiä sisältävien kysymysten kysymystekstiä ei voi tulostaa, katso tämä ominaisuuspyyntö.


Esimerkki 1 (oletetaan, että kysymyksen tyyppi on monivalinta)

- Tunnetko nämä automerkit?

-- Mercedes: Y

-- Audi: N

-- Volvo: Y


Jos haluat tulostaa vain valitut kohteet, voit lisätä tulosteen ympärille IF-lausekkeen ja tarkistaa valintalaatikon arvon:

{ if( q2_SQ001=="Y", join( "- ", q2_SQ001.question, ": ", q2_SQ001.shown ), "" ) }


Käytä listifop-funktiota, jos haluat tulostaa listan vain valituista kohteista, esim.: Mercedes, Volvo

{ listifop( 'value', '==', 'Y', 'question', ', ', that.q2.sgqa ) }


Tässä  that.q2  laajenee kaikiksi q2:n alikysymyksiksi. Katso lisätietoja kohdasta self, this ja that.


Esimerkki 2 (oletetaan, että kysymyksen tyyppi on Taulukko (10 pisteen valinta))

- Arvioi alla olevien automerkkien laatua asteikolla 1=erittäin huono – 10=erittäin hyvä.

-- Mercedes: 7

-- Audi: 9

-- Volvo: 9


Jos haluat tulostaa vain arvioidut kohteet, voit lisätä tulosteen ympärille IF-lausekkeen ja tarkistaa, onko kyseiseen alikysymykseen vastattu, seuraavasti:

{ if( ! is_empty( q3_SQ001 ), join( "- ", q3_SQ001.question, ": ", q3_SQ001.shown ), "" ) }


Käytä listifop-funktiota, jos haluat esimerkiksi tulostaa listan vain niistä valituista kohteista, jotka ovat suurempia kuin kahdeksan, esim.: Audi / Volvo

{ listifop( 'value', '>', 8, 'question', ' / ', that.q3.sgqa ) }


Kysymys, jossa on kaksi skaalaa

Tämä koskee vain kaksoisskaalan kysymystyyppiä.


Oletetaan, että käytössä ovat seuraavat koodit:

  • Kysymyskoodi: q4
  • Alikysymyskoodit: SQ001, SQ002, ...
  • Vastauskoodit, skaala 1: A1, A2, ...
  • Vastauskoodit, skaala 2: B1, B2, ...


Jos haluat viitata tietyn alikysymyksen tulokseen tietyllä skaalalla, käytä muotoa QuestionCode . '_' . SubQuestionCode . '_' . ScaleID. Huomaa, että "ScaleID" on 0 ensimmäiselle skaalalle ja 1 toiselle!
Esimerkki kolmannen alikysymyksen ja toisen skaalan vastaukseen viittaamisesta: q4_SQ003_1 - kysymys 4, alikysymys 3, toinen skaala.


Tulostetaan molempien skaalojen tulokset kahdelle ensimmäiselle alikysymykselle:

- {q4_SQ001_0.question}: {q4_SQ001_0.shown} / {q4_SQ001_1.shown}

- {q4_SQ002_0.question}: {q4_SQ002_0.shown} / {q4_SQ002_1.shown}

Jos haluat tulostaa alikysymyksen tekstin, sinun on lisättävä paikkamerkkiin skaalan tunnus (vaikka tekstit ovat samat molemmilla skaaloilla). Käytä siis paikkamerkin {q4_SQ001.question} sijaan paikkamerkkiä {q4_SQ001_0.question} tai {q4_SQ001_1.question}.

Jos haluat viedä tai näyttää vain niiden alikysymysten tulokset, joihin on vastattu vähintään yhdellä vastauksella, käytä jokaiselle alikysymykselle tätä syntaksia:

{if(count(q4_SQ001_0,q4_SQ001_1)>0,join("- ",q4_SQ001_0.question,": ",q4_SQ001_0.shown," / ",q4_SQ001_1.shown),"")}

Kysymys X- ja Y-asteikoilla

Tämä koskee kaikkia matriisikysymyksiä, joissa jokaiseen soluun voi antaa vastauksen (ei vain jokaiselle riville, kuten aiemmin esitettiin):

  • Taulukko (Tekstit)
  • Taulukko (Numerot)


Oletetut käytetyt koodit:

  • Kysymyskoodi: q5
  • Alikysymyskoodit: SQ001, SQ002, ...
  • Vastauskoodit: A1, A2, ...

Jos haluat viitata tietyn alikysymyksen tulokseen tietystä sarakkeesta, käytä muotoa QuestionCode . '_' . SubQuestionCode . '_' . AnswerCode. Esimerkki kolmannen alikysymyksen ja toisen sarakkeen vastaukseen viittaamisesta: q5_SQ003_A2.

Tulostetaan kahden ensimmäisen alikysymyksen sarakkeiden 1–3 tulokset:

- {q5_SQ001_A1.question}: {q5_SQ001_A1.shown} | {q5_SQ001_A2.shown} | {q5_SQ001_A3.shown}

- {q5_SQ002_A1.question}: {q5_SQ002_A1.shown} | {q5_SQ002_A2.shown} | {q5_SQ002_A3.shown}


Koska näissä kysymystyypeissä jokainen solu (X-akselin ja Y-akselin yhdistelmä) vastaa yhtä vastausvaihtoehtoa, tietojen olemassaolo on tarkistettava jokaiselle solulle erikseen. Esimerkki:

{if(!is_empty(q5_SQ001_A1),join("- ",q5_SQ001_A1.question,": ",q5_SQ001_A1.shown),"")}


Jos haluat tulostaa alikysymyksen tekstin, sinun on lisättävä paikkamerkkiin vastauskoodi (vaikka tekstit ovat samat kaikille vastausvaihtoehdoille). Tekstin {q5_SQ001.question} sijaan meidän on siis käytettävä {q5_SQ001_A1.question} tai {q5_SQ001_A2.question}.

Piilota kysymys, jos edellisen kysymyksen vastaus on tyhjä

Tarkoitus Piilota kysymys, jos edellisen kysymyksen vastaus on tyhjä
Tyyppi Kysymyksen relevanssi
Esimerkki Kysymys yksi: kysymyskoodi "name", kysymysteksti "Mikä on nimesi?"
Kysymys kaksi: kysymysteksti "{name}, minkä ikäinen olet?"
Tehtävä: Piilota kysymys kaksi, jos kysymyksen yksi tekstikenttä on tyhjä
Lauseke !is_empty(name)
Kuvaus is_empty() määrittää, onko muuttuja tyhjä. Merkki "!" kääntää tuloksen päinvastaiseksi. Jos siis muuttuja ei ole tyhjä, lauseke on tosi ja kysymys näytetään
Vaiheet Luo/muokkaa kysymystä kaksi
Kirjoita "!is_empty(name)" kenttään "Relevanssiyhtälö"
Esimerkkitiedosto Hide_question_if_empty_question_group.zip


Piilota kysymysryhmä, jos edellisen kysymyksen vastaus on Kyllä tai Ei

Tarkoitus Piilota kysymysryhmä, jos edellisen kysymyksen vastaus on Kyllä tai Ei
Tyyppi Kysymysryhmän relevanssi
Esimerkki Sivu yksi, kysymysryhmä yksi, kysymys yksi: kysymyskoodi "PET", kysymysteksti "Onko sinulla lemmikki?" -Kyllä -Ei
Sivu kaksi, kysymysryhmä kaksi: otsikko "Lemmikeistäsi"
Tehtävä: Näytä/piilota kysymysryhmä kaksi sen mukaan, onko kysymyksen yksi vastaus Kyllä/Ei
Lauseke PET == "Y"
Kuvaus PET on sen kysymyksen kysymyskoodi, jonka vastausta haluat tarkistaa. Jos et käytä jälkiliitettä, EM käyttää muotoa "Qcode.code". Vertaat siis PET-kysymyksen vastauskoodia arvoon "Y". Jos osallistuja vastaa "Kyllä", lauseke on tosi ja kysymysryhmä "Lemmikeistäsi" näytetään.
Vaiheet Luo/muokkaa kysymysryhmää kaksi
Kirjoita "PET == "Y"" kenttään "Relevanssiyhtälö"
Esimerkkitiedosto Hide_question group_if_answer_from_previous_question_is_Yes_or_No.zip


Näytä usean vastauksen syöttökysymyksen kentän arvo

Tarkoitus Näytä usean vastauksen syöttökysymyksen kentän arvo
Tyyppi Viittaus
Esimerkki Kysymys yksi: kysymyskoodi "AskChildAge", kysymysteksti "Minkä ikäisiä lapsesi ovat?". Alikysymyskoodit -Child1 -Child2 -Child3 - ChildXXX
Kysymys kaksi: kysymyskoodi "ReportChildAge", kysymysteksti "Ensimmäisestä lapsestasi: - CHILD1 on AGE1."
Lauseke {AskChildAge_Child1.question}, {AskChildAge_Child1.value}
Kuvaus Haluat käyttää alikysymyksen arvoa seuraavassa kysymyksessä. Alikysymyksen arvoon pääset käsiksi tällaisella lausekkeella: QcodeQuestion_QcodeSubquestion.value
Vaiheet Luo/muokkaa toista kysymystä
Kirjoita kuvaukseen tämä teksti: "Ensimmäisestä lapsestasi: - {AskChildAge_Child1.question} on {AskChildAge_Child1.value}."
Esimerkkitiedosto Display_value_of_a_multiple_answer_input_question_field.zip

Vahvista riville valittujen ruutujen määrä "Taulukko (Numerot) Valintalaatikko" -kysymyksessä

Tarkoitus Vahvista riville valittujen ruutujen määrä
Tyyppi Vahvistus
Esimerkki Kysymys, jonka tyyppi on "Taulukko (Numerot) (Valintalaatikon asettelu)"
Lauseke sum(...)
Kuvaus (sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= X) määrittää, onko rivillä A valittu vähintään X valintalaatikkoa.
Jos haluat tarkistaa kaikki kolme riviä (A, B, C), voit yhdistää lausekkeet merkinnällä "&&":
(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= X)
&& (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= X)
&& (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= X)
Vaiheet Luo/muokkaa kysymystä, jonka tyyppi on "Taulukko (Numerot) (Valintalaatikon asettelu)".
Kirjoita yllä oleva lauseke kenttään "Kysymyksen vahvistusyhtälö" kysymyksen lisäasetuksissa (muuttujien nimiä on ehkä muokattava!).
Esimerkkitiedosto Validate number of boxes ticker per row for an Array (Numbers) Checkbox.lss

Laske kahden päivämäärän välinen ero

Tarkoitus Laske kahden päivämäärän välinen ero
Tyyppi Relevanssi / Yhtälö-kysymystyyppi / Vahvistus
Esimerkki Kysymys yksi (päivämäärä/aika, koodi: DOB): Mikä on syntymäaikasi?
Kysymys kaksi (päivämäärä/aika, koodi: datetoday): Mikä päivämäärä on tänään?
Kysymys kolme (tekstinäyttö): Olet XXXX päivää vanha.
Tehtävä: Laske ja näytä kysymyksessä 1 annetun päivämäärän ja kysymyksessä 2 annetun päivämäärän välinen päivien määrä.
Lauseke {(strtotime(datetoday)-strtotime(DOB))/60/60/24}
Kuvaus strtotime laskee sekuntien määrän 1. tammikuuta 1970 ja annetun päivämäärän välillä. Yllä oleva lauseke laskee sekuntien määrän kahden annetun päivämäärän välillä. Termi "/60/60/24" muuntaa sekunnit päiviksi.
Sen sijaan, että kysyisit "datetoday"-päivämäärää, voit käyttää myös strtotime('now') tai pelkkää time(), joka palauttaa suoraan sekuntien määrän tammikuusta 1970 nykyhetkeen (eli kyselyyn vastaamisen ajankohtaan). Näin voit nopeasti selvittää henkilön iän vuosina yhtälöllä {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25} Kaikissa näissä tapauksissa on tärkeää, että päivämäärä syötetään oikeassa muodossa, muuten strtotime()-funktio ei toimi oikein.
Vaiheet Luo kaksi päivämääräkysymystä (syntymäaikaa ja tämänpäiväistä päivämäärää varten) sekä tekstinäyttökysymys.
Kirjoita tekstinäyttökysymyksen kysymystekstiin: "{datetoday} olit {(strtotime(today)-strtotime(dob))/60/60/24} päivää vanha."

Huomaa: strtotime-funktio osaa käsitellä MONIA mutta ei kaikkia päivämäärämuotoja. Jos kohtaat ongelmia, aseta kyselysi päiväyksen muodoksi mm/dd/yyyy, yyyy-mm-dd tai dd.mm.yyyy"
Esimerkkitiedosto Date_difference.zip

ExpressionScriptin käyttö arvioinneissa

Tässä on toinen esimerkki ExpressionScriptin käytöstä taulukkotyyppisten kysymysten ja arviointien kanssa:</ br>

Oletetaan, että sinulla on kaksi taulukkokysymystä ja haluat tallentaa laskennan tulokset tietokantaasi. Se on itse asiassa helppoa: luo ja testaa taulukkosi ja lähetä testivastaus nähdäksesi, toimiiko kaikki ja näkyvätkö tulokset valmis-sivulla.


Toteutuksen tiedot:

  • lisää yhtälö-tyyppinen kysymys
  • lisää seuraava rivi olettaen, että Q1 on taulukkokysymyksesi kysymyskoodi ja Q2 on toisen kysymyksen koodi:
    • {sum(Q1_SQ001.value,Q2_SQ001.value)}

Huomaa, että SQ001 on alikysymyksen oletuskoodi. Jos muutat alikysymyksen koodia, muokkaa yllä olevaa yhtälöä vastaavasti.


em_validation_q:n käyttö taulukossa

Voit käyttää kysymyksen vahvistusyhtälöä taulukon hallintaan millä tahansa ehdolla.


Toteutuksen tiedot:

  • ensimmäinen taulukko: yhden valinnan taulukko
    • Kysymyskoodi on ARRAY
    • Alikysymyskoodit ovat SQ01, SQ02, SQ03 ja SQ04
    • päivitä koko kysymyksen vahvistusyhtälö ja kirjoita siihen
      !is_empty(ARRAY_SQ01) and !is_empty(ARRAY_SQ03) 
  • toinen taulukko: tekstitaulukko
    • Kysymyskoodi on ARRAYTEXT
    • Y-akselin alikysymyskoodit ovat SY01, SY02, SY03 ja SY04
    • Päivitä koko kysymyksen vahvistusyhtälö ja kirjoita siihen
      count(self.sq_SY01 >= 1) and count(self.sq_SY03 >= 3)