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

Semak logik tinjauan - Lanjutan

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 Check survey logic - Advanced and the translation is 100% complete.


Umum

Satu pilihan penting yang membantu anda mencipta dan menyelenggara tinjauan yang kompleks dengan mudah ialah Semak Logik Tinjauan.

Sepanjang pembangunan dan pengujian tinjauan, dan sebelum mengaktifkannya, adalah sangat penting untuk mengesahkan logik tinjauan. Hal ini terutamanya benar apabila anda menggunakan persamaan kaitan, penyesuaian (tailoring) dan pengesahan yang kompleks - anda perlu memastikan bahawa tiada apa-apa yang akan rosak apabila tinjauan dijalankan.

Ciri ini membolehkan anda mengesahkan ketepatan tinjauan, kumpulan dan soalan anda dengan pantas. Ia boleh diakses daripada pilihan menu Bar atas yang terletak di bawah tetapan berkaitan tinjauan. Ia tersedia melalui menu Alatan:



Seperti yang anda lihat di atas, anda boleh menjalankan pilihan ini sebanyak empat kali, untuk setiap bahasa yang digunakan dalam tinjauan.

Keterangan

Pilihan Semak Logik Tinjauan memaparkan segala yang anda nyatakan bagi setiap soalan dan kumpulan (cth., nama, teks, bantuan, syarat/kaitan, peraturan pengesahan, nilai lalai, subsoalan, jawapan) dalam format jadual yang mudah. Ia menyerlahkan ralat, dan membolehkan anda mengklik ID soalan dan kumpulan (atau pembolehubah yang digunakan dalam persamaan) untuk membuka tab pelayar baharu bagi mengedit soalan atau kumpulan tersebut. Ini memudahkan anda mengedit sebarang ralat dengan pantas dan memuat semula halaman semakan logik untuk mengesahkan ketepatan tinjauan sebelum mengaktifkannya.

Paparan ini juga direka supaya boleh dibaca oleh penyelidik dan penaja kajian supaya mereka dapat mengesahkan ketepatan reka bentuk dan logik tinjauan. Menyemak logik tinjauan mengemas kini cache bagi semua ungkapan yang digunakan dalam tinjauan yang aktif.

Ia mengandungi lajur berikut:

  • # - memaparkan kiraan urutan Kumpulan dan Soalan, bermula dari 0.
  • Nama [ID] - memaparkan kod soalan bagi kumpulan/soalan/subsoalan. Kod ini boleh digunakan sebagai pembolehubah dalam ungkapan. ID ialah ID soalan (QID), atau ID kumpulan (GID). Medan ini juga memaparkan jenis soalan (cth., Pelbagai pilihan [M])).


Untuk mengetahui lebih lanjut tentang pembolehubah yang boleh digunakan dalam ungkapan, baca subseksyen wiki berikut.


  • Kaitan [Validasi] (Asal) - memaparkan perkara berikut:
    • Kaitan - persamaan kaitan yang diserlahkan sintaksnya bagi soalan atau kumpulan. Jika ia sentiasa benar (dipaparkan dalam sebarang senario), nilainya ialah 1.
    • Validasi - ExpressionScript menjana persamaan pengesahan secara automatik berdasarkan atribut soalan yang dipilih (cth., bilangan jawapan min/maks, nilai jumlah min/maks/sama dengan, nilai individu min/maks atau pengesahan ekspresi lazim). Bahagian ini memaparkan persamaan pengesahan yang dijana supaya anda dapat mengesan sebarang ralat (seperti pembolehubah tidak ditakrif).
      • Validasi peringkat soalan memaparkan persamaan yang diperlukan untuk mengesahkan atribut soalan yang diterangkan di atas
      • Validasi peringkat subsoalan memaparkan persamaan yang diperlukan untuk melaksanakan array_filter, array_filter_exclude, dan exclusive_option
    • Asal - jika soalan mempunyai nilai lalai, ia dipaparkan di sini dengan sintaks diserlahkan (kerana nilai lalai boleh jadi satu ungkapan).
  • Teks [Bantuan] (Petua) - memaparkan perkara berikut:
    • Teks - teks bagi kumpulan, soalan, subsoalan, atau jawapan. Sintaksnya diserlahkan untuk menunjukkan sebarang penyesuaian (tailoring) yang tertanam, sekali gus membolehkan anda mengesahkan bahawa anda telah mengisytiharkan semua pembolehubah yang anda rancang untuk digunakan dalam penyesuaian.
    • Bantuan - memaparkan teks bantuan bagi soalan, juga dengan sintaks diserlahkan.
    • Petua - memaparkan petua pengesahan yang dijana secara dalaman, berdasarkan atribut soalan. Petua yang sama digunakan dalam semua gaya tinjauan, serta dalam tinjauan boleh cetak dan skrin kemasukan data.
    • Atribut soalan - memaparkan jadual semua atribut soalan yang berkaitan bagi soalan ini. Atribut yang mungkin berupa persamaan diserlahkan sintaksnya supaya anda boleh mengesahkan ketepatannya.

Baris dikodkan warna seperti berikut:

  • Kumpulan - dipaparkan dengan latar belakang kelabu cerah
  • Soalan - dipaparkan dengan latar belakang hijau cerah
  • Subsoalan - dipaparkan dengan latar belakang kuning pucat
  • Jawapan - dipaparkan dengan latar belakang putih biasa

Jawapan mempunyai atribut tambahan dalam lajur Kaitan:

  • Nilai - ini ialah nilai dalaman lalai yang digunakan oleh pengiraan. Jika anda menggunakan penilaian, ini akan menjadi nilai penilaian. Jika tidak, ia akan sama dengan nama jawapan.


Penerangan tinjauan, mesej alu-aluan dan penamat, URL akhir, notis dasar data tinjauan dan label disenaraikan dalam Semak Logik Tinjauan (di atas jadual) jika medan yang berkaitan tidak kosong!

Penggunaan

Di bahagian atas halaman, terdapat mesej ringkasan. Jika semuanya baik, ia akan memaparkan "Tiada ralat sintaks dikesan dalam tinjauan ini", atau "Kumpulan ini" atau "Soalan ini", "dengan sendirinya, tidak mengandungi sebarang ralat sintaks". Jika sebaliknya, ia akan memaparkan "X soalan mempunyai ralat sintaks yang perlu dibetulkan".

Setiap soalan yang mempunyai ralat sintaks akan mendapat latar belakang lajur paling kiri (iaitu #) berkod warna merah. Selain itu, amaran yang menyatakan bilangan ralat minimum bagi sesuatu soalan akan dipaparkan di bawah lajur Nama [ID]. Ralat berikut adalah lazim:

  • Pembolehubah tidak ditakrif - jika anda belum mentakrifkan semua pembolehubah anda, atau tersalah taip array_filter (atau set pilihan jawapan yang berbeza bagi array_filter), maka sesetengah soalan pengesahan anda akan menunjukkan ralat. Pembolehubah yang tidak ditakrif dipaparkan dalam teks merah, dikotakkan dengan garisan merah.
  • Sintaks buruk - apabila anda mula menggunakan persamaan kaitan, anda mungkin menggunakan terlalu banyak atau terlalu sedikit tanda kurung. Masalah sintaks sedemikian diserlahkan dan dikotakkan dengan warna merah. Jika anda menuding tetikus pada teks berkotak merah itu, tip alat akan menerangkan ralat tersebut.

Warna dalam sintaks ExpressionScript

Syarat dan persamaan diserlahkan sintaksnya supaya lebih mudah memahami apa yang anda lihat:

  1. Hijau / Biru Muda: Pembolehubah yang merujuk soalan terdahulu dalam tinjauan
  2. Biru: Satu fungsi
  3. Kelabu: Ungkapan rentetan
  4. Perang: Ungkapan TOKEN (data peserta)
  5. Hitam: Operator

Perkara untuk disemak:

  1. Ungu: Pembolehubah yang merujuk soalan kemudian dalam tinjauan. Biasanya ini ialah ralat dan perlu disemak.
  2. Merah atau bingkai merah: Pembolehubah yang tidak wujud atau rujukan kepada soalan terdahulu atau ralat sintaks - biasanya perlu disemak.


Pembolehubah tidak ditakrif

Jika pembolehubah yang tidak ditakrif digunakan, nama pembolehubah berkenaan akan berkod warna merah dan dikelilingi garisan merah. Jika anda menuding tetikus pada nama pembolehubah, ia akan memaparkan "pembolehubah tidak ditakrif":



  Perhatian : Sila ambil perhatian bahawa LimeSurvey tidak membenarkan pentadbir tinjauan mencipta soalan yang menggunakan kod soalan yang sama. Walau bagaimanapun, kod soalan yang serupa mungkin wujud dalam sesuatu tinjauan jika anda mengimport kumpulan soalan atau soalan yang menggunakan kod soalan yang sama dengan salah satu soalan yang telah anda takrifkan. Soalan tersebut masih boleh diimport kerana ID soalan adalah berbeza. Namun, jika anda ingin mengeksport keputusan tinjauan untuk meneroka keputusan tinjauan dengan lebih lanjut (R atau SPSS), berhati-hatilah kerana kod soalan dianggap sebagai pembolehubah!



}}

Sintaks yang salah

Kebanyakan kesilapan berkaitan ungkapan disebabkan oleh sintaks yang salah. Hal ini kerana pentadbir tinjauan lazimnya terlupa menambah kurungan kerinting, tidak menggunakan tanda kurungan dengan betul, atau menggunakan ungkapan dengan cara yang salah:



Berikut ialah banyak contoh yang baik tentang penggunaan penyerlahan sintaks.


JavaScript tersuai yang salah

Ralat JavaScript juga akan diserlahkan dalam semakan logik tinjauan:


Mempercepat penyuntingan dan pengesahan

Semua teks yang diserlahkan sintaksnya mempunyai tip alat terbenam yang boleh diklik:

  1. Tip alat
    • Fungsi - dengan menuding tetikus, anda dapat melihat tujuan dan takrifan sintaks fungsi tersebut;
    • Nama pemboleh ubah - dengan menuding tetikus, anda dapat melihat kedudukan (kumpulan, urutan soalan), teks soalan, dan jawapan yang dibenarkan bagi soalan tersebut.
  2. Tindakan
    • Nama pemboleh ubah - mengklik nama pemboleh ubah akan membuka tetingkap baharu yang membolehkan anda mengedit soalan. Ini memudahkan anda menavigasi dan mengesahkan logik - teruskan mengklik nama pemboleh ubah dalam kriteria kaitan atau pengesahan bagi soalan tersebut untuk melihat dari mana ia datang dan bagaimana ia digunakan.


Contoh

Contoh-contoh berikut diambil daripada tinjauan sampel ExpressionScript. Anda boleh mendapatkan tangkapan skrin tinjauan yang sedang berjalan, penerangan, dan muat turun pada halaman tersebut.


Indeks Jisim Badan

Berikut ialah tangkapan skrin bagi contoh ini.

Ini ialah paparan susun semula soalan bagi pengiraan Indeks Jisim Badan. Anda boleh melihat persamaan kaitan bagi berat, tinggi, dan BMI di bawah lajur Soalan:



Untuk gambaran keseluruhan tinjauan yang lebih baik, semak halaman logik tinjauan:



Contoh tinjauan ini juga merupakan contoh yang baik bagi pernyataan if() bersarang untuk menjana "weightstatus".


Logik lata

Berikut ialah tangkapan skrin bagi contoh ini.

Ia menunjukkan logik pengesahan subsoalan yang dijana secara automatik apabila anda menggunakan array_filter dan array_filter_exclude. Contoh ini juga menunjukkan cara anda boleh menggantikan nilai "Lain-lain" yang disesuaikan (jawapan bagi Q02_other ialah Q01_other).



Q05 dalam contoh ini menunjukkan penggunaan serentak array_filter dan array_filter_exclude pada Q01 dan Q02 masing-masing. Contoh ini menunjukkan keupayaan array_filter lata. Perhatikan bahawa salah satu sebab utama kriteria pengesahan peringkat soalan dan subsoalan dipaparkan adalah untuk membantu memastikan anda tidak membuat kesilapan menaip semasa menyatakan nama pemboleh ubah array_filter atau array_filter_exclude (atau jika anda menggunakan nama pemboleh ubah yang berbeza bagi senarai subsoalan yang ditapis). Jika terdapat kesilapan menaip sedemikian, semua nama pemboleh ubah yang tidak sah akan muncul dalam warna merah untuk menunjukkan bahawa ia tidak ditakrifkan, sekali gus membolehkan anda membetulkan masalah tersebut dengan cepat.



Kaitan dinamik

Contoh ini menunjukkan logik kaitan lata dinamik untuk mengawal keterlihatan soalan. Anda boleh memuat turun contoh ini di sini.

Perhatikan juga bahawa soalan hanya dipaparkan jika kriteria pengesahan tertentu dipenuhi. Contohnya, jika seseorang menyatakan bahawa dia mempunyai 2 orang anak, soalan tertentu mesti diisi oleh responden (kid1 dan kid2).


Kaitan peringkat kumpulan

Contoh ini menunjukkan bagaimana kaitan peringkat kumpulan dipaparkan dalam semakan logik. Berikut adalah tangkapan skrin bagi contoh yang diterangkan di bawah.

Seperti yang anda dapat lihat, persamaan kaitan peringkat kumpulan (cohabs > 1 && p1_rel != "") dipaparkan pada baris Person 2 yang berwarna kelabu untuk G-2.

Anda mungkin juga perasan bahawa semua soalan adalah wajib. Walau bagaimanapun, jika kumpulan tidak relevan, semua soalannya juga tidak relevan. Akibatnya, soalan-soalan tersebut hanya benar-benar wajib jika kumpulan itu relevan.

Anda juga mungkin perasan bahawa soalan tertentu hanya dipaparkan jika jawapan kepada soalan sebelumnya tidak kosong. Anda dapat melihat di bawah bahawa jika p2_sex tidak diisi, p2_name tidak akan dipaparkan, walaupun ia merupakan soalan wajib. Soalan wajib p2_age juga tidak akan dipaparkan jika p2_name tidak diisi. Soalan-soalan ini boleh dianggap sebagai "wajib bersyarat".

Selain itu, perhatikan bahawa mesej petua juga dijana secara automatik untuk anda. Mesej ini disusun mengikut julat nilai (min/maks), julat nilai jumlah (min/maks/sama dengan), bilangan jawapan (min/maks), dan sebagainya (bergantung pada jenis soalan yang digunakan dan atribut yang aktif). Kadangkala anda ingin mengesahkan julat jawapan tetapi tidak mahu memaparkan petua pengesahan yang mungkin kelihatan remeh kepada pengguna. Dalam kes sedemikian, anda boleh menggunakan pilihan soalan hide_tip (seperti dalam kes ini, untuk mengelakkan daripada memberitahu pengguna bahawa umur mestilah antara 0 dan 115 melainkan mereka cuba memasukkan nilai yang tidak sah - lihat p2_age).


Koma sebagai pemisah radiks (perpuluhan)

Walaupun LimeSurvey menyokong sepenuhnya penggunaan koma sebagai pemisah radiks (perpuluhan) semasa masa jalan, anda tetap mesti menggunakan titik perpuluhan sebagai pemisah radiks semasa reka bentuk (cth., semasa menetapkan nilai min/maks dalam atribut soalan lanjutan). Contoh yang berfungsi boleh didapati di sini.

Selain itu, ingat bahawa logik pengesahan dijana untuk anda secara automatik daripada atribut soalan yang diaktifkan. Persamaan tersebut mungkin kelihatan rumit, tetapi anda tidak perlu risau tentangnya.