x

บทหลัก

  1. LimeSurvey Cloud เทียบกับ LimeSurvey CE
  2. คู่มือเริ่มต้นใช้งานฉบับย่อ - LimeSurvey 3.0+
  3. การติดตั้ง - LimeSurvey CE
  4. วิธีออกแบบแบบสำรวจที่ดี (คู่มือ)
  5. เริ่มต้นใช้งาน
  6. การดูแลระบบ LimeSurvey
  7. แบบสำรวจ - บทนำ
  8. การตั้งค่าแบบสอบถาม
  9. เมนูสำรวจ
  10. โครงสร้างการสำรวจ
  11. คำถาม - บทนำ
  12. กลุ่มคำถาม - บทนำ
  13. แบบสำรวจ - การจัดการ
  14. ตัวเลือกแถบเครื่องมือแบบสำรวจ
  15. แบบสำรวจหลายภาษา
  16. ExpressionScript Engine - คู่มือเริ่มต้นอย่างรวดเร็ว
  17. ฟีเจอร์ขั้นสูงและฟีเจอร์ที่ไม่ได้จัดหมวดหมู่
  18. คำถามที่พบบ่อยทั่วไป
  19. การแก้ไขปัญหา
  20. วิธีแก้ปัญหาชั่วคราว (Workarounds)
  21. สัญญาอนุญาต
  22. บันทึกการเปลี่ยนแปลงของเวอร์ชัน
  23. ปลั๊กอิน
 Actions

ตัวอย่างแบบสำรวจ ExpressionScript

From LimeSurvey Manual

หน้านี้อาจแปลด้วยเครื่องและอาจมีข้อผิดพลาด ดูต้นฉบับภาษาอังกฤษ · ปรับปรุงคำแปลนี้
This page is a translated version of the page ExpressionScript sample surveys and the translation is 100% complete.


บทนำ

วิธีที่ดีที่สุดในการเรียนรู้การใช้งาน ExpressionScript คือการทดลองใช้ตัวอย่างที่ใช้งานได้จริงและปรับแก้ให้เหมาะกับความต้องการของคุณ

ด้านล่างนี้คือชุดตัวอย่างแบบสำรวจที่แสดง (และใช้ทดสอบ) วิธีที่ EM สามารถช่วยเพิ่มประสิทธิภาพให้กับแบบสำรวจของคุณ คุณสามารถพบแบบสำรวจเหล่านี้ได้ในโฟลเดอร์ /docs/demosurveys ของชุดติดตั้ง


ความสัมพันธ์กัน การปรับข้อความตามคำตอบ และสมการ

ภาพรวม

ตัวอย่างต่อไปนี้คำนวณค่า BMI (ดัชนีมวลกาย) ของผู้ตอบแต่ละคน ดูคุณลักษณะที่แสดงในตัวอย่างนี้ได้ด้านล่าง

คุณลักษณะของ EM ที่แสดงในตัวอย่าง

  1. ความสัมพันธ์กัน - รองรับตรรกะแบบมีเงื่อนไขที่ทรงพลัง;
  2. การแทรกข้อความ / การปรับข้อความตามคำตอบ (Piping / Tailoring) - ช่วยให้สามารถแทรกหรือปรับคำตอบและข้อมูลเมตาของคำถามได้;
  3. การปรับข้อความแบบไดนามิก - สังเกตว่ารายงานจะเปลี่ยนไปบนหน้าเดียวกันขณะที่คุณตอบคำถาม
  4. การปรับข้อความระดับย่อย (Micro-Tailoring) - การปรับข้อความตามเงื่อนไขภายในประโยคและรายงานโดยใช้คำสั่ง if()
  5. สมการ - ประเภทคำถามใหม่ที่ช่วยให้คุณคำนวณและจัดเก็บผลลัพธ์ในฐานข้อมูลได้ แม้การคำนวณนั้นจะถูกซ่อนอยู่ก็ตาม
  6. การตรวจสอบแบบมีเงื่อนไข - เกณฑ์การตรวจสอบ เช่น ค่าขั้นต่ำที่อนุญาต สามารถกำหนดเป็นแบบมีเงื่อนไขได้ เช่น อิงตามสมการ


ภาพหน้าจอ

ตัวอย่างนี้คำนวณดัชนีมวลกาย (BMI) ซึ่งเป็นการคำนวณจากน้ำหนักและส่วนสูงของคุณเพื่อระบุว่าคุณมีน้ำหนักต่ำกว่าเกณฑ์ น้ำหนักปกติ น้ำหนักเกิน หรืออ้วน โปรดสังเกตว่าในตอนแรกคุณจะเห็นเพียงคำถามที่จำเป็นสี่ข้อเท่านั้น:



เมื่อคุณกรอกข้อมูลของคุณแล้ว (และคุณสามารถเลือกได้ว่าจะใช้หน่วยเมตริกหรือไม่ใช่เมตริก) คุณจะเห็นรายงานที่ปรับตามคำตอบซึ่งสรุปสิ่งที่คุณกรอก พร้อมบอกสถานะน้ำหนักของคุณ:



นี่คืออีกตัวอย่างหนึ่ง ซึ่งใช้หน่วยที่ไม่ใช่เมตริกเพื่อแสดงให้เห็นว่าผลลัพธ์เปลี่ยนแปลงแบบไดนามิกอย่างไร:



มีคำถามประเภทสมการที่ซ่อนอยู่ในระดับภายในซึ่งแปลงข้อมูลเป็นหน่วยเมตริก (หากจำเป็น) และจัดเก็บส่วนสูง น้ำหนัก BMI และสถานะน้ำหนักในหน่วยเมตริกไว้ในฐานข้อมูลโดยไม่ต้องใช้ JavaScript แบบกำหนดเอง

ในชุดตัวอย่างถัดไป คุณจะเห็นวิธีใช้ฟังก์ชันทางคณิตศาสตร์และฟังก์ชันอื่น ๆ ภายในรายงานที่ปรับตามคำตอบ นี่คือลักษณะของหน้าก่อนที่คุณจะกรอกข้อมูลใด ๆ มีตรรกะแบบมีเงื่อนไขเพื่อแสดงเซลล์ว่างหากไม่มีการกรอกข้อมูล (หรือกรอกข้อมูลที่ไม่ใช่ตัวเลข) แทนที่จะแสดง "NaN" หรือ "Divide by Zero"



เมื่อมีการกรอกตัวเลข รายงานบนหน้าจะเปลี่ยนเพื่อแสดงการคำนวณที่กำลังดำเนินการและผลลัพธ์



ยังมีตัวอย่างอื่น ๆ อีกมากมายในแบบสำรวจตัวอย่างนี้ ตัวอย่างเช่น ภาพหน้าจอด้านล่างแสดงหนึ่งในหลายสิบวิธีที่คุณสามารถกรอกหน้า Dynamic Relevance ตามที่ข้อความช่วยเหลือระบุไว้ ลองใช้อายุที่แตกต่างกัน และโดยเฉพาะอย่างยิ่งการตอบที่ไม่สมเหตุสมผลเมื่อนำมารวมกัน เพื่อดูข้อความตลก ๆ ที่แสดงขึ้นที่ด้านล่าง นอกจากนี้ โปรดสังเกตว่าหากคุณตอบว่ามีลูกมากกว่าหนึ่งคน ข้อความจะแสดงว่า "I hope you enjoy playing with your X children" แทนที่จะเป็น "I hope you enjoy playing with your child" ซึ่งแสดงให้เห็นว่าคุณสามารถปรับประโยคย่อย ๆ ให้ตรงกับเพศและ/หรือจำนวนของกลุ่มตัวอย่างได้อย่างง่ายดาย คุณยังสามารถผันกริยาและเปลี่ยนรูปคำนามตามเพศและจำนวนได้อย่างง่ายดายอีกด้วย



ดาวน์โหลด

หากต้องการเข้าถึงตัวอย่างแบบสำรวจ โปรดคลิกลิงก์ต่อไปนี้: LS3_em_tailoring.zip

ตัวอย่างสำมะโนประชากร

ภาพรวม

นี่คือตัวอย่างสำมะโนประชากรที่ถามว่ามีกี่คนในครัวเรือนของคุณ

ตัวอย่างนี้แสดงให้เห็นว่าความสัมพันธ์กันระดับกลุ่มช่วยให้สร้าง "ลูป" ของคำถามได้ง่ายขึ้นอย่างไร หลังจากสร้างกลุ่มสำหรับบุคคลที่ 1 แล้ว ผู้เขียนได้ส่งออกกลุ่มนั้น เนื่องจากใช้ชื่อตัวแปรแบบ qcode เช่น p1_name แทนรหัส SGQA จึงสามารถใช้โปรแกรมแก้ไขข้อความเพื่อแก้ไขและนำเข้ากลุ่มซ้ำได้อย่างรวดเร็วหลายครั้ง (เช่น ใช้เวลาประมาณ 10 วินาทีในการแก้ไขและนำเข้ากลุ่มที่ซ้ำแต่ละกลุ่ม โดยตรวจสอบให้แน่ใจว่าตัวแปรทั้งหมดมีชื่อไม่ซ้ำกันและตรรกะระดับกลุ่มถูกต้อง)

คุณยังสามารถใช้ฟีเจอร์ คัดลอกคำถาม ได้เช่นกัน แต่จะไม่เร็วเท่าตัวเลือกที่แนะนำไว้ข้างต้น

ตัวอย่างนี้ยังแสดงวิธีป้องกันไม่ให้ข้อความ Finished ปรากฏขึ้นจนกว่าแบบสำรวจจะเสร็จสมบูรณ์จริง ๆ (เช่น เมื่อกลุ่มคำถามที่จำเป็นทั้งหมดเสร็จสมบูรณ์แล้ว)


ฟีเจอร์ EM ที่นำมาสาธิต

  1. ความสัมพันธ์กันระดับกลุ่ม - กลุ่มคำถามติดตามผล (Person 1-5) จะแสดงเฉพาะตามจำนวนผู้อยู่อาศัยร่วมกันที่ระบุไว้เท่านั้น;
  2. Tailoring - รายงานสุดท้ายสรุปข้อมูลประชากรของผู้อยู่อาศัยร่วมกันแต่ละคน;
  3. การแสดงคำถามแบบต่อเนื่อง - ไม่ว่าจะเป็นโหมดแบบกลุ่มหรือแบบทั้งหมดในหน้าเดียว คำถามถัดไปจะแสดงทันทีที่ตอบคำถามก่อนหน้าแล้วเท่านั้น


ภาพหน้าจอ

แบบสำรวจจะสร้างรายงานแบบ tailored ที่แสดงข้อมูลประชากรของผู้อยู่อาศัยร่วมกันตามจำนวนที่ระบุ:



หากคุณสลับไปใช้โหมดทีละคำถาม คุณจะเห็นว่าดัชนีปรับคำถามให้เหมาะสม เนื่องจากผู้ใช้ระบุว่าบุคคลนั้นเป็นผู้หญิง ระบบจึงถามว่า "What is her name" และเมื่อเราตอบว่า "Mary" คำถามถัดไปจะเป็น "How old is Mary"?



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างแบบสำรวจ คลิกที่นี่: LS3_group_relevance.zip


ตัวกรองอาร์เรย์แบบต่อเนื่อง

ภาพรวม

แบบสำรวจนี้อ้างอิงจากการออกแบบแบบสำรวจโดยได้รับความอนุเคราะห์จาก Joy Lane Research, LLC


ภาพหน้าจอ

โปรดสังเกตสิ่งต่อไปนี้:

  • Q02 แสดงเฉพาะชุดผลิตภัณฑ์ที่เลือกไว้ใน Q01 (โดยใช้ array_filter)
  • Q02 ยังแสดง "Another product" ซึ่งเป็นข้อความที่กรอกในช่อง "Other electronic" ใน Q01
  • Q04 แสดงเฉพาะผลิตภัณฑ์จาก Q02 ที่ถูกเลือก (ตัวกรองอาร์เรย์จึงทำงานต่อเนื่องกัน)
  • Q05 แสดงเฉพาะผลิตภัณฑ์จาก Q02 ที่ไม่ได้ถูกเลือกใน Q02 (โดยใช้ array_filter_exclude แบบต่อเนื่อง)




ดาวน์โหลด

คลิกลิงก์ต่อไปนี้เพื่อดาวน์โหลดตัวอย่างข้างต้น: ตัวอย่างแบบสำรวจ LS2_cascading_array_filter


Piping/Tailoring โดยใช้ทุกประเภทคำถามและคุณสมบัติ

ภาพรวม

หากคุณสับสนเกี่ยวกับวิธีตั้งชื่อตัวแปร (SGQA เทียบกับ Qcode) คุณไม่ได้เป็นคนเดียว แม้ว่าเอกสารหลักจะอธิบายวิธีสร้างชื่อตัวแปร Qcode แต่ไม่มีอะไรดีกว่าการดูจากตัวอย่างที่ใช้งานได้จริง แบบสำรวจนี้แสดงวิธีเข้าถึงคุณสมบัติคำถามและคำตอบโดยใช้ ExpressionScript


สำหรับตัวอย่างนี้ เราแนะนำให้ปิดตัวแก้ไข HTML ในตัว (หรือเปลี่ยนเป็นโหมดป๊อปอัป) เมื่อแก้ไขแบบสำรวจนี้ ตัวแก้ไข HTML อาจใช้เวลาหนึ่งนาทีขึ้นไปในการแสดงรายงาน HTML ขนาดใหญ่ในโหมดแก้ไข


เนื้อหา

  • ตัวอย่างของทุกประเภทคำถาม
  • มีทุกประเภทคำถามที่ใช้ "อื่นๆ" ได้ เพื่อให้คุณเห็นว่าส่งผลต่อการตั้งชื่อตัวแปรอย่างไร
  • ค่าเริ่มต้นสำหรับทุกประเภทคำถามที่รองรับค่าเริ่มต้น
  • Tailoring - รายงานทั้งในหน้าและนอกหน้าที่แสดงคำต่อท้ายแบบ dot notation ของ EM ทั้ง 16 รูปแบบที่ใช้ได้
  • รายงานเหล่านี้แสดงข้อมูลทั้งหมดที่กรอกอยู่ในขณะนั้น (เพื่อให้คุณเห็นว่าสามารถสร้างรายงานที่พิมพ์ได้เองสำหรับผู้ใช้แทนหน้าจอพิมพ์คำตอบได้อย่างไร)
  • การตั้งชื่อตัวแปรทั้งหมดด้วย Qcode และ SGQA อย่างถูกต้อง


ภาพหน้าจอ

นี่เป็นแบบสำรวจขนาดใหญ่มาก เราจึงเลือกที่จะไม่ใส่ภาพหน้าจอ โปรดดาวน์โหลดไปทดลองใช้งานด้วยตนเอง


ดาวน์โหลด

คลิกลิงก์ต่อไปนี้เพื่อดาวน์โหลดแบบสำรวจ: LS3_EM_question_attributes.lss

การตรวจสอบแบบดั้งเดิม ที่ออกแบบใหม่

ภาพรวม

ตัวอย่างนี้แสดงประเภทการตรวจสอบทั้งหมดที่ใช้นิพจน์ และผลที่มีต่อประเภทคำถามแต่ละประเภทที่รองรับการตรวจสอบ ในหลายกรณี คำแนะนำการตรวจสอบจะซ่อนอยู่ตั้งแต่แรก และจะปรากฏเฉพาะเมื่อคำถามไม่ผ่านเกณฑ์การตรวจสอบ (และจะหายไปอีกครั้งเมื่อคำถามผ่านเกณฑ์การตรวจสอบแล้ว)


ประเภทการตรวจสอบที่แสดงในตัวอย่าง

  1. min_num_value_n - ค่าขั้นต่ำสำหรับคำตอบ
  2. max_num_value_n - ค่าสูงสุดสำหรับคำตอบ
  3. min_answers - จำนวนคำตอบขั้นต่ำที่จำเป็น
  4. max_answers จำนวนคำตอบสูงสุดที่อนุญาต
  5. multiflexible_min - ค่าขั้นต่ำที่อนุญาตสำหรับคำตอบ (สำหรับประเภทคำถามอาร์เรย์แบบตัวเลขหลายค่า)
  6. multiflexible_max - ค่าสูงสุดที่อนุญาตสำหรับคำตอบ (สำหรับประเภทคำถามอาร์เรย์แบบตัวเลขหลายค่า)
  7. min_num_value - ผลรวมขั้นต่ำที่อนุญาตของคำตอบทั้งหมดในคำถาม
  8. max_num_value - ผลรวมสูงสุดที่อนุญาตของคำตอบทั้งหมดในคำถาม
  9. equals_num_value - ผลรวมของคำตอบทั้งหมดในคำถามต้องเท่ากับค่านี้
  10. validation - เป็นการตรวจสอบด้วยนิพจน์ปรกติสำหรับคำถาม ซึ่งสามารถนำไปใช้กับแต่ละเซลล์ได้


ภาพหน้าจอ

ด้วยสไตล์ CSS แบบใหม่ ประเภทการตรวจสอบแต่ละประเภทจะแสดงเป็นคำแนะนำแยกกัน หากมีการแสดงคำแนะนำ สามารถซ่อนได้ผ่านตัวเลือก hide_tip ค่าเริ่มต้นคือแสดงด้วยตัวอักษรสีแดงหากคำถามไม่ผ่านเกณฑ์การตรวจสอบ และสีเขียวหากผ่านเกณฑ์:



ผู้ใช้ไม่สามารถส่งหน้าที่มีข้อผิดพลาดในการตรวจสอบได้ ระบบจะแจ้งเตือนทันทีหากผู้ใช้กรอกข้อมูลไม่ถูกต้อง:



สามารถนำการตรวจสอบไปใช้กับแต่ละเซลล์ภายในอาร์เรย์ได้ เช่นในตัวอย่างนี้ ซึ่งใช้การตรวจสอบด้วยนิพจน์ปรกติเพื่อให้แน่ใจว่าแต่ละรายการเป็นหมายเลขโทรศัพท์ของสหรัฐอเมริกาที่มีรูปแบบถูกต้อง รวมถึงรหัสพื้นที่



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างข้างต้น โปรดคลิกลิงก์ต่อไปนี้: LS3_Validation_tests.zip


สมการการตรวจสอบ

ภาพรวม

บางครั้งคุณต้องการการตรวจสอบแบบกำหนดเองซึ่งไม่สามารถทำได้ด้วยเกณฑ์ต่ำสุด/สูงสุดแบบดั้งเดิม สำหรับกรณีนี้ คุณจะต้องใช้ตัวเลือก em_validation_q และ em_validation_sq ซึ่งช่วยให้คุณสร้างสมการการตรวจสอบที่ซับซ้อนในระดับคำถามและระดับคำถามย่อยตามลำดับ


ในระดับคำถามย่อย เรายังมีตัวแปร "this" เพื่อให้ตรวจสอบแต่ละเซลล์ในอาร์เรย์ได้ง่ายโดยไม่ต้องทราบชื่อตัวแปรของเซลล์นั้น สำหรับรายละเอียดเพิ่มเติม คลิกที่นี่


คุณสมบัติของ EM ที่แสดงในตัวอย่าง

  1. em_validation_q - สมการที่ใช้กำหนดว่าทั้งคำถามถูกต้องหรือไม่
  2. em_validation_q_tip - ข้อความที่จะแสดงหากคำถามไม่ผ่านเกณฑ์ em_validation_q
  3. em_validation_sq - สมการที่ใช้กำหนดว่าแต่ละคำถามย่อย (เซลล์อาร์เรย์) ถูกต้องหรือไม่
  4. em_validation_sq_tip - ข้อความที่จะแสดงหากมีคำถามย่อยใดไม่ถูกต้อง

โดยทั่วไป เมื่อใช้ em_validation_sq หากเซลล์ใดไม่ถูกต้อง สีพื้นหลังของเซลล์นั้นจะเปลี่ยนเป็นสีแดงเพื่อแสดงว่ามีข้อผิดพลาด


ภาพหน้าจอ


คำถามนี้ทำให้แน่ใจว่าคุณกรอกอายุของบุตรเรียงจากมากไปน้อย โดยใช้สมการการตรวจสอบต่อไปนี้:

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





ในตัวอย่างด้านล่าง การตรวจสอบจะทำให้แน่ใจว่ามีการตอบคำถามไม่เกิน 3 ข้อในแต่ละแถว โดยใช้สมการการตรวจสอบต่อไปนี้:

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

คุณยังสามารถเขียนเป็นแบบด้านล่างได้ โดย LimeSurvey จะแปลงเป็นนิพจน์ข้างต้นโดยอัตโนมัติขณะรันไทม์

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



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างแบบสำรวจที่ใช้ในตัวอย่างข้างต้น โปรดคลิกลิงก์ต่อไปนี้: ls2_test_em_sq_validation.lss


ความสัมพันธ์กันของคำถามย่อย

ภาพรวม

ตัวอย่างนี้แสดงให้เห็นว่า array_filter และเกณฑ์การตรวจสอบสามารถทำงานร่วมกันได้อย่างไร สำหรับการตรวจสอบที่ใช้กับผลรวม ระบบจะพิจารณาเฉพาะค่าที่เกี่ยวข้อง (ที่มองเห็นได้) เท่านั้น


คุณสมบัติของ EM ที่แสดงในตัวอย่าง

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

นอกจากนี้ยังแสดงการรายงานแบบไดนามิกของจำนวนคำถามที่ตอบแล้วในคำถามหลักอีกด้วย


ภาพหน้าจอ

การเปลี่ยนจำนวนแถวที่มองเห็นจะทำให้ผลรวมเปลี่ยนแปลงแบบไดนามิก การกำหนดให้คำถามย่อยไม่เกี่ยวข้องจะไม่ล้างค่าของคำถามย่อยนั้น แต่หากคำถามย่อยไม่เกี่ยวข้อง ค่าของคำถามย่อยนั้นจะไม่ถูกนำไปรวมในสมการใด ๆ



สังเกตสิ่งที่เกิดขึ้นเมื่อเราเลือก "Fifth subquestion" ในคำถามแรก "Which rows should appear below" โดยผลรวมของคำถามที่สอง "Enter some numbers" จะกลายเป็น 5 แม้ว่าคำถามย่อยที่ 5 ของคำถามนั้นจะยังมีค่า 14 อยู่ (เช่น หากยกเลิกการเลือกคำถามย่อยที่ห้า คุณจะเห็นค่า 14 อีกครั้ง) แต่ค่านั้นจะไม่ถูกนำไปรวมในผลรวม เนื่องจากขณะนี้ไม่เกี่ยวข้อง ข้อมูลที่ไม่เกี่ยวข้องทั้งหมดจะถูกล้าง (กำหนดเป็น NULL ในฐานข้อมูล) เมื่อส่งแบบสำรวจ แต่ข้อมูลเหล่านั้นจะยังคงอยู่บนหน้าเพื่อให้ผู้ใช้สามารถเปลี่ยนใจแก้ไขคำตอบได้



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างของเรา คลิกที่นี่: ls2_subquestion_relevance.lss


การใช้เครื่องหมายจุลภาคเป็นตัวคั่นทศนิยม (Radix Separator)

ภาพรวม

ExpressionScript ช่วยให้มั่นใจว่าจะสามารถป้อนได้เฉพาะตัวเลขที่ถูกต้องในช่องตัวเลขเท่านั้น หากคุณป้อนตัวเลขที่ไม่ถูกต้อง ระบบจะแจ้งเตือนว่ามีบางอย่างผิดปกติ (เช่น ในกรณีของธีม fruity ทั้งคำถามจะเปลี่ยนเป็นสีแดง)

โปรดทราบว่าค่าตัวเลขจะถูกแปลงให้ใช้จุดเป็นตัวคั่นทศนิยมในฐานข้อมูลเสมอ ด้วยวิธีนี้ การวิเคราะห์ทางสถิติจะทำงานได้อย่างถูกต้อง

หากต้องการเปลี่ยนตัวคั่นทศนิยม ให้เข้าถึงตัวเลือกองค์ประกอบข้อความที่อยู่ภายใต้แท็บการตั้งค่า และมองหาฟังก์ชันเครื่องหมายทศนิยม


หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับตัวคั่นทศนิยม (radix separator) คลิก [https://en.wikipedia.org/wiki/Radix_point


ชนิดของคำถามที่ใช้ตัวคั่นทศนิยม

  1. อินพุตตัวเลข [N]
  2. อินพุตตัวเลขหลายตัว [K]
  3. อาร์เรย์ (ตัวเลข) [:]
  4. อาร์เรย์ (ตัวอักษร) [;] เมื่อใช้แอตทริบิวต์ numbers_only
  5. รายการ(กำหนดคำตอบเอง) [L] เมื่อใช้แอตทริบิวต์ other_numbers_only
  6. ข้อความแบบสั้น [S] เมื่อใช้แอตทริบิวต์ numbers_only
  7. ข้อความสั้นหลายรายการ [Q] เมื่อใช้แอตทริบิวต์ numbers_only
  8. เลือกตอบได้หลายตัว [M] เมื่อใช้แอตทริบิวต์ other_numbers_only
  9. เลือกตอบได้หลายตัวพร้อมความคิดเห็น [P] เมื่อใช้แอตทริบิวต์ other_numbers_only


ภาพหน้าจอ

คุณจะเห็นในภาพหน้าจอด้านล่างว่าสามารถใช้เครื่องหมายจุลภาคเป็นตัวคั่นทศนิยมได้



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างข้างต้น โปรดคลิกลิงก์ต่อไปนี้: ls2_comma_as_radix_separator.lss


กลุ่มการสุ่มลำดับ

ภาพรวม

แบบสำรวจนี้แสดงวิธีการใช้แอตทริบิวต์ random_group

หากใช้แอตทริบิวต์นี้ ทุกครั้งที่คุณเริ่มแบบสำรวจ ลำดับของคำถามจะถูกสุ่มใหม่ อย่างไรก็ตาม เมื่อเริ่มแบบสำรวจแล้ว ลำดับที่สุ่มได้จะคงที่ แม้ว่าคุณจะเปลี่ยนภาษาก็ตาม


ภาพหน้าจอ

ลองดูตัวอย่างด้านล่างไปพร้อมกัน คำถามแบบสุ่มข้อแรกในหน้าจะเป็น Q1, Q4 หรือ Q7 ส่วนคำถามแบบสุ่มข้อที่สองในหน้าจะเป็น Q2, Q5 หรือ Q8



นี่คือการสุ่มลำดับที่เกิดขึ้นในการทดสอบแบบสำรวจนี้ครั้งแรก



การทดสอบแบบสำรวจครั้งที่สองเกิดการสุ่มลำดับที่แตกต่างออกไป



แต่เมื่อเปลี่ยนเป็นภาษาฝรั่งเศส (โดยไม่เริ่มแบบสำรวจใหม่) ลำดับที่สุ่มได้ยังคงเดิม



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างข้างต้น โปรดคลิกลิงก์ต่อไปนี้: Randomization_Group_Test.lss


สุ่มถามหนึ่งคำถามต่อกลุ่ม

ภาพรวม

แบบสำรวจนี้แสดงวิธีกำหนดค่าแบบสำรวจให้สุ่มแสดงหนึ่งคำถามต่อกลุ่ม แบบสำรวจนี้มี 5 กลุ่ม กลุ่มละ 6 คำถาม ในขั้นแรก ที่กลุ่ม 0 จะมีคำถามสมการที่ซ่อนอยู่ห้าข้อ ชื่อ ask1-ask5 โดยแต่ละข้อมีค่า {floor(rand(1,6.9999))} ในช่องข้อความคำถาม ซึ่งหมายความว่าตัวแปร ask1-ask5 แต่ละตัวจะมีค่าระหว่าง 1 ถึง 6 จากนั้น คำถามแต่ละข้อในกลุ่มจะมีสมการความสัมพันธ์กัน เช่น "ask1==N" โดย N คือคำถามลำดับที่ N ในกลุ่ม (ดังนั้นคำถามข้อที่สามในกลุ่ม 1 จะมีสมการความสัมพันธ์กันเป็น "ask1==3")

แบบสำรวจนี้ทำงานได้ดีเท่าเทียมกันทั้งในโหมดทั้งแบบสำรวจในหน้าเดียว ทีละกลุ่ม และทีละคำถาม เนื่องจากการสุ่มลำดับถูกกำหนดไว้ในกลุ่มแรก และกลุ่มนั้นถูกซ่อนอยู่โดยปริยาย (เพราะคำถาม ask1-ask5 ทั้งหมดถูกซ่อน) การสุ่มลำดับจึงคงเดิมสำหรับผู้ตอบแต่ละคน แต่ผู้ตอบแต่ละคนจะได้ลำดับที่สุ่มแตกต่างกัน


ฟีเจอร์ที่แสดงให้เห็น

  1. ประเภทคำถามสมการ
  2. ฟังก์ชันการสุ่มลำดับ
  3. ฟังก์ชันเงื่อนไข (if)


ภาพหน้าจอ

นี่คือ Group0 ซึ่งใช้ประเภทคำถามสมการเพื่อเลือกค่าสุ่มตั้งแต่ 1 ถึง 6 สำหรับแต่ละกลุ่ม (ยกเว้นกลุ่มสุดท้ายที่มีเพียง 4 คำถาม) โปรดสังเกตว่าฟังก์ชัน "if()" จะตรวจสอบก่อนว่า ask1 ถูกกำหนดค่าไว้แล้วหรือไม่ หากกำหนดไว้แล้วจะใช้ค่านั้น หากยังไม่ได้กำหนดค่า ก็จะใช้ค่าสุ่มเพื่อกำหนดค่าให้ ask1



กลุ่มนี้แสดงวิธีที่ตัวแปร (ask4) จาก Group0 ถูกใช้ควบคุมว่าคำถามใดจะแสดงในกลุ่มที่สี่



ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างแบบสำรวจข้างต้น คลิกที่นี่: ตัวอย่างแบบสำรวจการสุ่มคำถามภายในกลุ่ม


สุ่มถามคำถามจำนวนที่กำหนดในกลุ่ม (ชุดย่อยของคำถาม)

  ใช้ได้เฉพาะกับคำถามแบบสุ่มทั้งหมดจากกลุ่มเดียว และเฉพาะเมื่อใช้รูปแบบตามกลุ่มหรือทั้งหมดในที่เดียวเท่านั้น



ภาพรวม

แบบสำรวจนี้แสดงวิธีสุ่มถามคำถามเพียงบางส่วนในกลุ่มคำถาม เช่น แสดงคำถามแบบสุ่ม 5 ข้อจากคำถามทั้งหมด 10 ข้อที่อยู่ในกลุ่มเดียวกัน

แบบสำรวจนี้มีหนึ่งกลุ่มซึ่งประกอบด้วยคำถาม 10 ข้อ คำถามทั้งหมดถูกกำหนดชื่อกลุ่มแบบสุ่มเดียวกัน ดังนั้นคำถามเหล่านี้จะแสดงในลำดับแบบสุ่มเมื่อโหลดหน้า คำถามแต่ละข้อจะมีสมการความสัมพันธ์กันที่กำหนดว่าผลรวมของ "relevanceStatus" ของคำถามอื่น ๆ ทั้งหมดในกลุ่มต้องน้อยกว่าจำนวนคำถามที่คุณต้องการแสดง เนื่องจากค่า relevanceStatus ถูกกำหนดขณะที่คำถามถูกแสดงผล จึงเท่ากับเป็นการรวมจำนวนคำถามที่ปรากฏก่อนหน้านั้น

ดังนั้น ในตัวอย่างการสุ่ม 5 จาก 10 ข้อของเรา สมการสำหรับ Q1 จะเป็นดังนี้:

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

สำหรับ Q2 จะเป็นดังนี้:

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

และต่อไปเรื่อย ๆ...


ฟีเจอร์ที่แสดงให้เห็น

  1. ตัวแปร relevanceStatus
  2. การสุ่มลำดับ

ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างข้างต้น ให้คลิกลิงก์ต่อไปนี้: ตัวอย่างแบบสำรวจสุ่ม 5 จาก 10 ข้อ

การให้คะแนนรายการผลิตภัณฑ์ที่ผู้ใช้กรอกเอง

ภาพรวม

ตัวอย่างด้านล่างแสดงวิธีให้ผู้ใช้ระบุรายการผลิตภัณฑ์ที่ตนสนใจ แล้วให้พวกเขาให้คะแนนผลิตภัณฑ์เหล่านั้น


ฟีเจอร์ ES ที่แสดงให้เห็น

  1. การปรับแต่งคำตอบ (Tailoring answers) - เมื่อให้คะแนนผลิตภัณฑ์ ป้ายชื่อจะดึงมาจากช่องความคิดเห็นของคำถามเลือกตอบได้หลายตัวก่อนหน้า
  2. การปรับแต่งมาตราส่วน (Tailoring scales) - ตัวเลือกคำถามขั้นสูงจำนวนมาก เช่น หัวข้อของมาตราส่วน ก็สามารถปรับแต่งได้เช่นกัน


ภาพหน้าจอ

ภาพนี้แสดงให้เห็นว่า เนื่องจากมีการเลือกเฉพาะผลิตภัณฑ์ที่ 1, 3 และ 5 จึงแสดงเพียง 3 รายการนั้น (โดยใช้แอตทริบิวต์ array_filter) นอกจากนี้ ป้ายชื่อแถวในคำถามที่สองจะเป็นหมายเลขผลิตภัณฑ์ (หากไม่ได้กรอกข้อมูลในช่องความคิดเห็น) หรือเนื้อหาของช่องความคิดเห็น



ภาพนี้แสดงวิธีการกำหนดคำตอบที่ปรับแต่ง:



นี่คือ Show Logic File ของคำถามดังกล่าว ซึ่งช่วยให้เราตรวจสอบได้ว่าตรรกะแบบมีเงื่อนไขทำงานตามที่ต้องการหรือไม่ (เช่น ตรวจดูว่ามีข้อผิดพลาดทางไวยากรณ์หรือไม่):



ภาพถัดไปแสดงกลุ่มที่คุณระบุมาตราส่วนการให้คะแนน 5 ระดับ (ตัวเลือก 1-5) ชื่อของมาตราส่วน และผลิตภัณฑ์ที่ต้องการให้คะแนน คำถามสุดท้ายแสดงให้เห็นว่าสามารถปรับแต่งทุกส่วนของคำถามแบบอาร์เรย์ได้:



ภาพถัดไปแสดงมุมมองไฟล์ตรรกะของคำถามสุดท้าย ดังที่คุณเห็น คำถามย่อย คำตอบ และหัวข้อของมาตราส่วนสามารถปรับแต่งได้


ดาวน์โหลด

หากต้องการดาวน์โหลดตัวอย่างแบบสำรวจข้างต้น ให้คลิกลิงก์ต่อไปนี้: ตัวอย่างแบบสำรวจการให้คะแนนรายการผลิตภัณฑ์ที่ผู้ใช้กรอกเอง