x

Bab utama

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Panduan permulaan pantas - LimeSurvey 3.0+
  3. Pemasangan - LimeSurvey CE
  4. Cara mereka bentuk tinjauan yang baik (panduan)
  5. Bermula
  6. Mentadbir LimeSurvey
  7. Tinjauan - pengenalan
  8. Tetapan tinjauan
  9. Menu tinjauan
  10. Struktur tinjauan
  11. Soalan - pengenalan
  12. Kumpulan soalan - pengenalan
  13. Tinjauan - pengurusan
  14. Pilihan bar alat tinjauan
  15. Tinjauan berbilang bahasa
  16. Enjin ExpressionScript - Panduan mula pantas
  17. Ciri tidak dikategorikan dan ciri lanjutan
  18. Soalan Lazim Umum
  19. Penyelesaian Masalah
  20. Penyelesaian sementara
  21. Lesen
  22. Tukar log versi
  23. Pemalam
 Actions

Enjin ExpressionScript - Panduan mula pantas

From LimeSurvey Manual

Halaman ini mungkin telah diterjemahkan oleh mesin dan mungkin mengandungi ralat. Papar teks asal bahasa Inggeris · Perbaiki terjemahan ini
This page is a translated version of the page ExpressionScript Engine - Quick start guide and the translation is 100% complete.


Panduan mula pantas

Dalam LimeSurvey, anda boleh menyesuaikan tinjauan anda dengan lebih lanjut melalui penggunaan ExpressionScript (singkatan: ES). Nota sampingan: "ExpressionScript dahulunya dinamakan Expression Manager (EM) dalam versi terdahulu. Jika anda terjumpa Expression Manager di mana-mana, itu hanyalah nama lama bagi ES."

ES boleh digunakan untuk menentukan perkara berikut:

  1. Navigasi/Pencabangan - membolehkan jawapan responden mengubah susunan paparan soalan;
  2. Penyesuaian/Piping - membantu anda menyusun ayat soalan (seperti merujuk kepada jawapan terdahulu, atau mengubah ayat berdasarkan umur atau jantina subjek anda) atau cara menjana laporan tersuai (seperti skor penilaian atau nasihat yang disesuaikan);
  3. Pengesahan - memastikan jawapan memenuhi kriteria tertentu, seperti nilai minimum dan maksimum atau corak input tertentu.

ES menyediakan cara yang intuitif untuk menentukan logik bagi setiap ciri tersebut. Hampir apa sahaja yang boleh anda tulis sebagai persamaan matematik piawai ialah ungkapan yang sah.

ES pada masa ini menyediakan akses kepada 70 fungsi dan ia boleh dikembangkan dengan mudah untuk menyokong lebih banyak fungsi. Ia juga membolehkan anda mengakses pemboleh ubah anda menggunakan nama pemboleh ubah yang mudah dibaca oleh manusia (dan bukannya nama SGQA).

Bahagian-bahagian seterusnya menunjukkan tempat utama ES digunakan.


Kaitan (Mengawal Navigasi/Pencabangan)

Sesetengah tinjauan menggunakan "Logik Goto", iaitu jika anda menjawab Question1 dengan pilihan C, anda akan dialihkan ke Question5. Pendekatan ini sangat terhad kerana sukar untuk disahkan. Selain itu, ia mudah rosak apabila anda perlu menyusun semula soalan. Sebaliknya, ES menggunakan persamaan kaitan Boolean untuk menentukan semua keadaan di mana sesuatu soalan mungkin sah. Jika soalan itu berkaitan, soalan tersebut dipaparkan; jika tidak, ia tidak berkenaan dan nilai "NULL" disimpan dalam pangkalan data.

Nota: Ini serupa dengan apa yang boleh dilakukan melalui penyunting Syarat, tetapi ES membolehkan anda menentukan kriteria yang jauh lebih kompleks dan berkuasa dengan mudah (dan membolehkan anda menggunakan nama pemboleh ubah dan bukannya pengecam SGQA).




Untuk lebih memahami konsep kaitan, mari kita lihat tinjauan berikut yang mengira Indeks Jisim Badan (BMI) responden tinjauan. Untuk memuat turunnya, klik pada pautan berikut: Contoh tinjauan Indeks Jisim Badan.

Persamaan kaitan ditunjukkan di bawah dalam lajur Kaitan selepas nama pemboleh ubah. Nilai kaitan bagi weight, weight_units, height, dan height_units semuanya 1 (nilai lalai), bermakna soalan-soalan tersebut sentiasa dipaparkan. Walau bagaimanapun, kaitan bagi BMI ialah {!is_empty(height) and !is_empty(weight)}, yang bermaksud BMI hanya akan dikira jika subjek memasukkan nilai untuk kedua-dua height dan weight (sekali gus mengelakkan risiko ralat pembahagian dengan sifar). Selain itu, soalan "Report" hanya dipaparkan jika responden menjawab keempat-empat soalan utama (height, heightunits, weight, weightunits).



Nota: Imej di atas diambil daripada fail logik tinjauan yang membolehkan anda memeriksa ralat sintaks sebelum mengaktifkan tinjauan.


Kaitan dipaparkan dan boleh diedit apabila:

  • anda ingin melihat/mengedit kaitan peringkat soalan
  • anda ingin melihat/mengedit kaitan peringkat kumpulan


Melihat / Mengedit Kaitan Peringkat Soalan

Persamaan ini mengira Indeks Jisim Badan (BMI). Ia hanya ditanya jika seseorang memasukkan ketinggian dan berat badannya.



Ini ialah skrin edit bagi soalan "BMI".



Perhatikan bahawa anda tidak menggunakan pendakap kurawal apabila memasukkan persamaan kaitan.


Melihat / Mengedit Kaitan Peringkat Kumpulan

Mari kita beralih kepada contoh lain - tinjauan banci yang mudah. Untuk memuat turunnya, klik pada pautan berikut: Contoh tinjauan banci.

Halaman pertama bertanya berapa ramai orang yang tinggal bersama anda dan menyimpannya dalam pemboleh ubah "cohabs". Halaman ini hanya dipaparkan jika anda mempunyai lebih daripada seorang penghuni serumah (ia dipaparkan untuk orang kedua yang tinggal bersama anda). Selain itu, p2name, p2age, p2sum hanya dipaparkan jika soalan sebelum setiap satunya mengandungi jawapan.



Jadi, kumpulan itu juga mempunyai kriteria kaitan peringkat soalan, supaya sesetengah soalan hanya muncul jika anda telah menjawab soalan tertentu sebelumnya (cth., p2age dipaparkan jika p2name telah dijawab). ES menggabungkan kaitan peringkat Kumpulan dan Soalan untuk anda. Soalan dalam sesebuah kumpulan hanya ditanya jika kumpulan secara keseluruhan berkaitan. Kemudian, hanya subset soalan dalam kumpulan yang berkaitan akan ditanya.

Berikut ialah tangkapan skrin untuk mengedit kaitan peringkat kumpulan bagi Cohabitant 2:



Perhatikan bahawa anda tidak menggunakan pendakap kerinting apabila memasukkan persamaan kaitan.

Penyesuaian/Piping

ES membolehkan anda melakukan penyesuaian bersyarat yang mudah dan kompleks dengan senang. Kadangkala anda hanya memerlukan penggantian mudah, seperti menyatakan, "Anda berkata anda membeli [Produk]. Apakah yang paling anda sukai tentangnya?". Kadangkala anda memerlukan penggantian bersyarat seperti "[Encik/Puan] [NamaAkhir], sudikah anda melengkapkan tinjauan kami?". Dalam kes ini, anda ingin menggunakan "Encik atau Puan" berdasarkan jantina orang tersebut. Pada masa lain, anda memerlukan penggantian yang lebih kompleks (seperti berdasarkan pengiraan matematik). ES menyokong setiap jenis penyesuaian/piping ini.


Persamaan Bersyarat

Contoh Indeks Jisim Badan menunjukkan keupayaan untuk mengira BMI seseorang, walaupun membenarkan mereka memasukkan ketinggian dan berat dalam dua unit yang berbeza (cm vs inci dan kg vs lb):



Dalam kes ini, weightkg ialah {if(weightunits == "kg", weight, weight * 0.453592)}. Fungsi "if()" ini bermaksud jika subjek memasukkan berat dalam kilogram, gunakan nilai tersebut; jika tidak, darabkan nilai yang dimasukkan (pound ialah alternatifnya) dengan 0.453592 untuk menukarkannya kepada kilogram. Pembolehubah heightm menggunakan pendekatan yang serupa untuk mengira ketinggian seseorang dalam meter (ketinggian dalam cm/100), walaupun dia memasukkan ketinggiannya dalam inci (1 meter=3.28084 inci).

BMI dikira sebagai: {weightkg / (heightm * heightm)}.

Akhir sekali, laporan menyesuaikan mesej secara bersyarat untuk subjek, memberitahunya apa yang telah dimasukkan. (cth., "Anda berkata anda setinggi 2 meter dan berat 70 kg.")

Dalam imej di bawah, weightstatus menggunakan pernyataan "if()" bersarang untuk mengkategorikan seseorang daripada kekurangan berat badan hingga obes teruk. Anda boleh melihat persamaannya dengan menyemak logiknya:



Daripada tetingkap edit untuk soalan ini, anda dapat melihat dua perkara:

  1. Penyesuaian mesti mengapit ungkapan dengan pendakap kerinting
  2. Ungkapan boleh merangkumi beberapa baris jika, seperti dalam kes ini, anda mahu memudahkan pembacaan logik bersyarat bersarang.



Soalan, Jawapan dan Laporan yang Disesuaikan

Nota: Penyesuaian dinamik mungkin tidak berfungsi jika pilihan jawapan disediakan dalam kotak pilihan pada halaman soalan yang sama. Ini disebabkan penyesuaian memasukkan teg <span> yang tidak sah di dalam pilihan select.

Laporan BMI kelihatan seperti ini:



Berikut ialah tetingkap edit untuk soalan yang sama.



Apa-apa di dalam pendakap kerinting dianggap sebagai ungkapan, dan diserlahkan sintaksnya (dikod warna) dalam imej sebelum ini. Jika terdapat sebarang kesilapan menaip (seperti nama pembolehubah atau fungsi yang salah eja atau tidak ditakrif), ES akan memaparkan ralat. Dalam contoh kami di bawah:

  • heightunit.shown ialah nama pembolehubah yang tidak ditakrif (sebenarnya heightunits.shown) dan
  • "rnd()" ialah fungsi yang tidak ditakrif (nama fungsi yang betul ialah "round()").

Dalam kedua-dua kes, ralat diletakkan dalam kotak merah untuk memudahkan anda mengesan dan membetulkannya.



Anda juga dapat melihat bahawa anda boleh mencipta laporan kompleks dengan pantas, seperti jadual nilai yang dimasukkan atau nasihat yang disesuaikan.

Sila ingat bahawa semua penyesuaian mesti mengapit ungkapan dengan pendakap kerinting supaya LimeSurvey tahu bahagian soalan mana yang merupakan teks bebas dan mana yang perlu dihuraikan oleh enjin ExpressionScript.


Pengesahan

ES mengawal cara kebanyakan pilihan soalan lanjutan berfungsi. Pilihan ini mengawal aspek seperti bilangan jawapan min/maks, nilai individu min/maks, nilai jumlah min/maks, dan menyemak bahawa nilai yang dimasukkan sepadan dengan corak rentetan yang ditetapkan. Sebarang nilai dalam salah satu medan tersebut dianggap sebagai ungkapan, jadi anda boleh mempunyai kriteria min/maks dengan hubungan bersyarat yang kompleks dengan soalan lain.

Dalam semua kes ini, memandangkan atribut soalan lanjutan sentiasa dianggap sebagai ungkapan, anda tidak menggunakan pendakap kerinting semasa menetapkannya.

Halaman tinjauan contoh menunjukkan banyak contoh yang berfungsi yang mengandungi pelbagai ungkapan pengesahan.

ExpressionScript - penyampaian

Untuk mengetahui lebih lanjut tentang ExpressionScript dan cara anda boleh menggunakan pelbagai ungkapan untuk meningkatkan tinjauan anda, sila klik pautan berikut.