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

โครงสร้างแบบสำรวจแบบ Tab Separated Value

From LimeSurvey Manual

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


การนำเข้าและส่งออกโครงสร้างแบบสำรวจแบบ Tab Separated Value

ฟีเจอร์นี้ออกแบบมาเพื่อให้ใช้ซอฟต์แวร์สเปรดชีต เช่น LibreOffice, Excel หรือ Google Docs ในการสร้างและแก้ไขแบบสำรวจได้ง่ายขึ้น และช่วยกำจัดการพึ่งพา SGQA code ได้อย่างสมบูรณ์

ฟีเจอร์นี้รองรับการนำเข้าจากไฟล์ Tab Separated Value (TSV) ที่เข้ารหัสแบบ ASCII หรือ UTF-8 และมีนามสกุลไฟล์เป็น .txt


ดูตัวอย่างต่อไปนี้เพื่อทำความเข้าใจฟังก์ชันนี้ให้ดียิ่งขึ้น


เริ่มต้นใช้งาน

วิธีที่ง่ายที่สุดคือนำแบบสำรวจที่มีอยู่แล้วมาส่งออกในรูปแบบ Tab Separated Value ให้ใช้ปุ่มส่งออกแบบสำรวจตามปกติ และแทนที่จะเลือกรูปแบบ .lss ให้เลือก "Tab Separated Values format (*.txt)" ระบบจะบันทึกเป็นไฟล์ Tab Separated Value ในรูปแบบที่ถูกต้อง (ไฟล์ยูนิโค้ดที่คั่นด้วยแท็บ) พร้อมหัวคอลัมน์ที่ถูกต้องครบถ้วน

ซอฟต์แวร์สเปรดชีตใดก็ได้ที่รองรับ tab separated values ใช้งานได้ทั้งสิ้น (เช่น OpenOffice หรือ LibreOffice) LimeSurvey จะไม่สนใจการจัดรูปแบบใดๆ ภายในสเปรดชีต แต่คุณสามารถเพิ่มการจัดรูปแบบได้ตามต้องการหากช่วยให้ทำงานได้สะดวกขึ้น

โปรดทราบว่าไฟล์ที่ส่งออกอยู่ในรูปแบบ UTF-8 โดยมี Byte Order Mark (BOM) เป็นสามอักขระแรก (ซึ่งมองไม่เห็น) หากคุณดับเบิลคลิกไฟล์ .txt และพยายามเปิดด้วย Excel โดยตรง ไฟล์จะแสดงผลไม่ถูกต้อง เนื่องจาก Excel ไม่ทราบว่าไฟล์เป็นรูปแบบ UTF-8 หากต้องการเปิดไฟล์เหล่านี้ด้วย Excel ให้เปิด Excel ก่อน จากนั้นเลือก File:Open เลือกไฟล์ .txt แล้วระบุให้ Excel ใช้การเข้ารหัสแบบ UTF-8

จะมีหนึ่งแถวสำหรับแต่ละกลุ่ม คำถาม คำถามย่อย และคำตอบ นอกจากนี้ยังมีแถวสำหรับตัวแปรส่วนกลางของแบบสำรวจ และตัวแปรของแบบสำรวจเฉพาะภาษา ภาษาหลักจะถูกแสดงก่อน ตามด้วยภาษารองอื่นๆ ดังนั้น หากมีหลายภาษา เนื้อหาทั้งหมดของภาษาหลักจะปรากฏก่อน (เช่น กลุ่ม คำถาม คำถามย่อย และคำตอบทั้งหมด) จากนั้นจะตามด้วยสำเนาที่แปลแล้วของแต่ละภาษารอง (โดยมีจำนวนและลำดับแถวเหมือนกันทุกประการสำหรับชุดที่แปลแล้ว)

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


เคล็ดลับ

เป้าหมายของการนำเข้า/ส่งออกแบบ Tab Separated Value คือช่วยให้คุณออกแบบแบบสำรวจได้อย่างรวดเร็วโดยใช้สเปรดชีต เราคาดว่าคุณจะนำเข้าชีตบ่อยครั้ง ตรวจสอบความถูกต้องด้วยฟีเจอร์ "Show Survey Logic" และทดสอบแบบสำรวจ ทุกครั้งที่นำเข้า คุณจะได้แบบสำรวจใหม่ ดังนั้นคุณอาจมีแบบสำรวจที่พัฒนาไม่เสร็จสมบูรณ์หลายชุด ซึ่งไม่เป็นปัญหา เพียงแต่ควรติดตามว่าชุดไหนเป็นชุดล่าสุด หรือลบชุดเก่าหลังจากนำเข้าชุดใหม่ เนื่องจากคุณไม่ต้องใช้ SGQA code ใน Tab Separated Value คุณจึงไม่ต้องกังวลว่า LimeSurvey จะกำหนดรหัสใดให้กับคีย์หลักของแบบสำรวจ กลุ่ม คำถาม และคำตอบ ดังนั้นจึงนำเข้าและส่งออกได้ตามต้องการ

ต่อไปนี้คือสิ่งที่สะดวกหลายอย่างที่คุณทำได้ด้วยวิธีการสร้างแบบสอบถามนี้:

  1. ใช้คำตอบชุดเดียวกันกับหลายคำถาม เพียงคัดลอกแถว 'A' แล้ววางต่อจากทุกคำถามที่ต้องการใช้ชุดคำตอบเดียวกัน
  2. ใช้คำถามย่อยชุดเดียวกันกับหลายคำถาม เพียงคัดลอกแถว 'SQ' แล้ววางต่อจากทุกคำถามที่ต้องการ
  3. "การวนซ้ำ" - ใช้กลุ่มเดิมหลายครั้ง เมื่อปรับกลุ่มได้ตามต้องการแล้ว ให้คัดลอกตามจำนวนที่ต้องการ ใช้ตัวกรองของ Excel เพื่อดูเฉพาะแถว 'G' (สำหรับกลุ่ม) และใช้ฟีเจอร์ลากคอลัมน์ของ Excel เพื่ออัปเดตสมการความสัมพันธ์กันของแต่ละกลุ่ม (เช่น สำหรับการสำมะโนประชากร ความสัมพันธ์กันแรกอาจเป็น "numPeople > 1" ส่วนถัดไปควรเป็น "numPeople > 2" ฟีเจอร์ลากจะอัปเดตตัวเลขให้อัตโนมัติ) กรองด้วยแถว 'Q' และตรวจสอบให้แน่ใจว่าแต่ละคำถามมีค่าที่ไม่ซ้ำกัน (เช่น หากคุณตั้งชื่อตัวแปรเป็น g1_q1, g1_q2, g1_qN ให้ใช้การค้นหา/แทนที่เพื่อเปลี่ยน g1 เป็น g2 สำหรับกลุ่มที่สอง g3 สำหรับกลุ่มที่สาม และอื่นๆ)
  4. การจัดลำดับคำถาม/กลุ่มใหม่ เพียงจัดลำดับแถวของไฟล์สเปรดชีตใหม่
  5. การทดสอบโมดูลของแบบสำรวจ สำหรับแบบสำรวจที่ยาว คุณอาจต้องการแบ่งการทดสอบเป็นโมดูล เพียงสร้างไฟล์สเปรดชีตใหม่สำหรับแต่ละโมดูล โดยลบแถวที่ไม่ต้องการออก วิธีนี้ช่วยให้ไม่ต้องกรอกข้อมูลจำนวนมากเพื่อทดสอบส่วนหลังๆ ของแบบสำรวจ
  6. การทดสอบคำถามที่จำเป็นต้องตอบ ปัญหาที่พบบ่อยไม่ใช่การที่ต้องกำหนดให้หลายคำถามเป็นคำถามที่จำเป็น แต่เป็นการที่ต้องปิดคุณสมบัติจำเป็นเพื่อทดสอบ เพียงสร้างสเปรดชีตหลักโดยตั้งค่าจำเป็นเป็นค่าสุดท้ายที่ต้องการ จากนั้นเพื่อทดสอบ ให้ลบคอลัมน์ "mandatory" แล้วบันทึกสเปรดชีตเวอร์ชันทดสอบ เมื่อนำเข้าเวอร์ชันนั้น จะไม่มีคำถามใดเป็นคำถามที่จำเป็นเลย เมื่อทดสอบเสร็จแล้ว ให้นำเข้าสำเนาหลัก
  7. การตั้งค่าเริ่มต้น แทนที่จะใช้ GUI คุณสามารถป้อนค่าเริ่มต้นที่ต้องการในคอลัมน์ default ได้ ซึ่งมีประโยชน์อย่างยิ่งในกรณีที่ GUI ไม่ให้คุณป้อนค่าที่ต้องการ เช่น นิพจน์เพื่อตั้งค่าเริ่มต้นสำหรับรายการตัวเลือก (เช่น การเติมรายการจากแอตทริบิวต์ของผู้เข้าร่วมแบบสำรวจ)
  8. การแปล คุณสามารถสร้างสำเนาสเปรดชีตของคุณ - หนึ่งชุดต่อหนึ่งภาษา ให้รวมทุกแถวของภาษาหลัก จากนั้นคัดลอกและวางด้านล่าง แล้วใช้การลากเพื่อเปลี่ยนช่องภาษาเป็นภาษาเป้าหมาย สามารถแจกจ่ายให้ผู้แปล และรวมกลับเป็นไฟล์สเปรดชีตเดียวเมื่อแปลเสร็จ
  9. การตั้งค่าแอตทริบิวต์ขั้นสูงของคำถามจำนวนมาก คุณอาจต้องการให้สมการทั้งหมดแสดงให้เห็นในตอนแรก (เพื่อดูค่าของสมการขณะเก็บข้อมูล) แต่ซ่อนทั้งหมดก่อนใช้งานจริง เพียงกรองสเปรดชีตด้วย class = 'Q' และประเภทคำถาม = '*' (สมการ) แล้วตั้งค่า always_hide เป็น 1 สำหรับทุกคำถามเหล่านั้น เช่นเดียวกัน หลังจากสร้างแบบสำรวจแล้ว หากคุณตัดสินใจว่าคำถามใดควรปรากฏในสถิติสาธารณะ แทนที่จะแก้ไขแต่ละคำถามผ่าน GUI ให้กรองด้วย class = 'Q' และตั้งค่า public_statistics = 1 สำหรับทุกคำถามที่ควรปรากฏในสถิติ
  10. การค้นหาและแทนที่ หากคุณตัดสินใจว่าต้องเปลี่ยนถ้อยคำในทุกคำถาม คุณสามารถใช้การค้นหาและแทนที่ของ Excel เพื่อทำการเปลี่ยนแปลงเหล่านั้นได้ เช่นเดียวกัน หากต้องการเปลี่ยนชื่อตัวแปรจำนวนมาก การค้นหาและแทนที่ก็ช่วยได้ หากต้องการค้นหาและแทนที่ด้วยนิพจน์ปรกติ คุณสามารถเลือกคอลัมน์ที่ต้องการ คัดลอกไปยังโปรแกรมแก้ไขข้อความ ทำการค้นหาและแทนที่ แล้ววางคอลัมน์กลับไปยังสเปรดชีต
  11. การขออนุมัติ หากคุณทำงานวิจัย คุณอาจมีคณะกรรมการจริยธรรมที่ยืนกรานขอดูข้อความของคำถาม วิธีนี้อาจเป็นวิธีที่สะดวกในการแชร์ เช่นเดียวกันสำหรับการหารือกับลูกค้า
  12. ฉันทามติของทีม หากคุณต้องการให้กลุ่มตกลงกันเกี่ยวกับถ้อยคำหรือลักษณะการแสดงผลของคำถามหรือกลุ่ม คุณสามารถสร้างต้นแบบ/แก้ไขสเปรดชีตอย่างรวดเร็ว นำเข้า และแสดงให้ทีมเห็น (ผ่านการดูตัวอย่างคำถามหรือกลุ่ม) ว่าผู้ใช้จะเห็นอะไรกันแน่ วิธีนี้ทำให้คุณได้รับการอนุมัติจากทีมก่อนที่จะออกจากห้อง แทนที่จะต้องจัดทำเอกสารความต้องการ สร้าง และขออนุมัติในการประชุมครั้งต่อไป
  13. การอัปเกรดจากรูปแบบแบบสำรวจอื่น หากแบบสำรวจของคุณอยู่ในรูปแบบ XML, Word หรือรูปแบบอื่น คุณสามารถสร้างกระบวนการแปลงเพื่อแมปไปยังรูปแบบนี้ได้ แม้ว่าคุณจะลองแมปไปยังรูปแบบ .lss ได้เช่นกัน แต่ข้อดีของรูปแบบนี้คือไม่ต้องติดตามความสัมพันธ์แบบ foreign key ระหว่างกลุ่ม คำถาม คำถามย่อย คำตอบ และค่าเริ่มต้น


ข้อจำกัด

  1. ตามการออกแบบ ฟีเจอร์นี้ทำงานได้อย่างถูกต้องเฉพาะกับแบบสำรวจที่ใช้การตั้งชื่อแบบ qcode (ไม่ใช่ SGQA) ฟีเจอร์นี้ถือว่าชื่อตัวแปร (ตัวระบุคำถาม) ไม่ซ้ำกันตลอดทั้งแบบสำรวจ ชื่อคำถามย่อยสามารถซ้ำกันได้ ตราบใดที่ไม่ซ้ำกันภายในขอบเขตของคำถามหนึ่งๆ


รูปแบบไฟล์

ทั่วไป

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

14 คอลัมน์แรกคือ:

  1. id (New in 3.14.0 )
  2. related_id (New in 3.14.0 )
  3. class
  4. type/scale
  5. name
  6. relevance
  7. text
  8. help
  9. language
  10. validation
  11. mandatory
  12. other
  13. default
  14. same_default
 Hint: คอลัมน์ id และ related_id ใช้สำหรับโควตาเท่านั้นและไม่จำเป็นต้องมี หากคุณไม่มีโควตา คุณสามารถลบ 2 คอลัมน์นี้ออกได้โดยตรง


พารามิเตอร์ส่วนกลางของแบบสำรวจ

มีหนึ่งแถวต่อหนึ่งพารามิเตอร์ในตาราง surveys

  1. class => 'S'
  2. name => ชื่อฟิลด์ฐานข้อมูล
  3. text => ค่า


พารามิเตอร์เฉพาะภาษาของแบบสำรวจ

มีหนึ่งแถวต่อหนึ่งฟิลด์ต่อหนึ่งภาษาในตาราง surveys_languagesettings รายการทั้งหมดของภาษาหนึ่งๆ จะถูกรวบรวมก่อนทำการเพิ่มลงในตารางนั้น

  1. class => 'SL'
  2. name => ชื่อฟิลด์ฐานข้อมูล
  3. text => ค่า
  4. language => ภาษา


กลุ่ม

หนึ่งแถวกลุ่มต่อหนึ่งภาษาของแบบสำรวจ (เช่น จะมี 3 แถวกลุ่มหากแบบสำรวจมี 3 ภาษา)

  1. id => ตัวระบุตัวเลขที่ไม่ซ้ำกันสำหรับกลุ่ม เริ่มจากเลข 1 ใช้ ID เดียวกันสำหรับภาษาอื่นๆ ที่อยู่ในกลุ่มปัจจุบัน
  2. class => 'G'
  3. name => group_name -- ตัวระบุที่ไม่ซ้ำกันของกลุ่ม
  4. relevance => grelevance -- สมการความสัมพันธ์กันระดับกลุ่ม โดยไม่มีวงเล็บปีกกา
  5. text => description -- คำอธิบายของกลุ่มเฉพาะภาษา
  6. language => language -- ภาษาของกลุ่ม (เช่น 'en')


คำถาม

หนึ่งแถวคำถามต่อหนึ่งภาษาของแบบสำรวจ (เช่น จะมี 3 แถวคำถามหากแบบสำรวจมี 3 ภาษา) คำถามจะถือว่าอยู่ในกลุ่มที่อยู่ก่อนหน้า

  1. id => ตัวระบุตัวเลขที่ไม่ซ้ำกันสำหรับคำถาม เริ่มจากเลข 1 ใช้ ID เดียวกันสำหรับภาษาอื่นๆ ที่อยู่ในคำถามปัจจุบัน
  2. class => 'Q'
  3. type/scale => type -- ประเภทคำถาม (โดยปกติเป็นตัวอักษรเดียว) (เช่น 'M' คือเลือกตอบได้หลายตัว)
  4. name => title -- ชื่อคำถามที่ไม่ซ้ำกัน (รากของระบบการตั้งชื่อ qcode)
  5. relevance => relevance -- สมการความสัมพันธ์กันสำหรับคำถาม
  6. text => question -- ข้อความของคำถามเฉพาะภาษา
  7. help => help -- ข้อความช่วยเหลือเฉพาะภาษา
  8. language => language -- ภาษาของกลุ่ม (เช่น 'en')
  9. validation => preg -- เกณฑ์การตรวจสอบด้วยนิพจน์ปรกติสำหรับคำถาม (ไม่บังคับ)
  10. mandatory => mandatory -- 'Y' หากจำเป็น
  11. other => other -- 'Y' หากควรมีตัวเลือก "อื่นๆ" (เฉพาะคำถามบางประเภท)
  12. default => default -- หากตั้งค่าไว้ ค่านี้จะถูกเพิ่มลงในตาราง defaultvalues สำหรับคำถามนี้
  13. same_default => same_default -- 'Y' หมายถึงจริง ซึ่งในกรณีนี้ defaultvalue ที่ตั้งไว้สำหรับภาษาหลักจะใช้กับภาษาอื่นๆ ด้วย


คำถามย่อย

หนึ่งแถวคำถามย่อยต่อหนึ่งภาษาของแบบสำรวจ โดยถือว่าคำถามย่อยเป็นของคำถามที่อยู่ก่อนหน้า

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันซึ่งใช้กับคำถาม คำถามย่อยควรใช้ค่าถัดไปที่ยังว่างอยู่ โดย ID ของคำถามและคำถามย่อยต้องไม่ซ้ำกัน (เช่น ใช้ ID 1 สำหรับคำถาม และ ID 2, 3 และ 4 สำหรับคำถามย่อยของคำถามที่ 1 จากนั้น ID ของคำถามถัดไปควรเป็น 5 และเป็นเช่นนี้ต่อไป) ใช้ ID คำถามย่อยเดียวกันสำหรับภาษาอื่นของคำถามย่อยนั้น
  2. class => 'SQ'
  3. type/scale => scale_id -- 0 หรือ 1 ขึ้นอยู่กับประเภทคำถาม (เช่น คำถามแบบอาร์เรย์ข้อความจะมีสองมาตราส่วน)
  4. name => title -- "ชื่อ" ของคำถามย่อย เช่น ชื่อที่ใช้สำหรับ exclude_all_others
  5. relevance => relevance -- (ในอนาคต) เพื่อรองรับความสัมพันธ์กันในระดับคำถามย่อย
  6. text => question -- ข้อความของคำถามย่อยในแต่ละภาษา
  7. help => help -- (ในอนาคต) เพื่อรองรับข้อความช่วยเหลือในระดับคำถามย่อย
  8. language => language -- ภาษาของคำถามย่อย
  9. validation => preg -- (ในอนาคต) เพื่อรองรับการตรวจสอบด้วยนิพจน์ปรกติในระดับคำถามย่อย (เช่น สำหรับส่วนต่าง ๆ ของที่อยู่)
  10. mandatory => mandatory -- (ในอนาคต) เพื่อรองรับการกำหนดให้จำเป็นในระดับคำถามย่อย (เช่น กำหนดให้จำเป็นเฉพาะคำถามย่อยบางข้อ)
  11. default => default -- หากตั้งค่าไว้ จะเป็นค่าเริ่มต้นของคำถามย่อย (เพิ่มลงในตาราง defaultvalues)
  12. same_default => same_default -- หากตั้งค่าไว้ ค่าเริ่มต้นของภาษาหลักจะถูกใช้กับทุกภาษาอื่น


คำตอบ

หนึ่งแถวคำตอบต่อหนึ่งภาษาของแบบสำรวจ (เช่น หากแบบสำรวจมี 3 ภาษา จะมีแถวคำตอบ 3 แถว) โดยถือว่าคำตอบเป็นของคำถามที่อยู่ก่อนหน้า และเรียงลำดับตามที่ต้องการ

  1. id => ใช้ ID เดียวกับ ID ของคำถามที่คำตอบนั้นเป็นของ
  2. class => 'A'
  3. type/scale => scale_id -- 0 หรือ 1 (เช่น สำหรับคำถามแบบสองมาตราส่วน)
  4. name => code -- ตัวระบุคำตอบที่ไม่ซ้ำกัน
  5. relevance => assessment_value -- หากใช้ตัวเลือกการประเมิน นี่คือค่าการประเมินของคำตอบ
  6. text => answer -- ข้อความของคำตอบในแต่ละภาษา
  7. language => language -- ภาษาของคำตอบนี้ (เช่น 'en')


การประเมิน

หนึ่งแถวการประเมินต่อหนึ่งภาษาของแบบสำรวจ (เช่น หากแบบสำรวจมี 3 ภาษา จะมีแถวการประเมิน 3 แถว) การประเมินจะถูกเขียนไว้ท้ายไฟล์

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันของการประเมิน เริ่มต้นด้วยหมายเลข 1 ใช้ ID เดียวกันสำหรับภาษาอื่นของการประเมินนั้น
  2. related_id => ID ของกลุ่มที่การประเมินนี้เป็นของ
  3. class => 'AS'
  4. type/scale => ขอบเขตการประเมิน: T-ทั้งหมด, G-กลุ่ม
  5. name => name
  6. text => message
  7. min_num_value => ขั้นต่ำ
  8. max_num_value => สูงสุด
  9. language => language -- ภาษาของคำตอบนี้ (เช่น 'en')


โควตา

หนึ่งแถวต่อหนึ่งโควตา โควตาจะถูกเขียนไว้ท้ายไฟล์

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันของโควตา เริ่มต้นด้วยหมายเลข 1
  2. class => 'QTA'
  3. name => ชื่อโควต้า
  4. mandatory => limit
  5. other => สถานะของโควต้า
  6. default => active
  7. same_default => การเรียก URL อัตโนมัติ


การตั้งค่าของภาษาตามโควต้า

หนึ่งแถวโควตาต่อหนึ่งภาษาของแบบสำรวจ โดยถือว่าการตั้งค่าของภาษาตามโควต้าเป็นของโควตาที่อยู่ก่อนหน้า

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันของการตั้งค่าของภาษาตามโควต้า เริ่มต้นด้วยหมายเลข 1 แต่ละแถวของภาษาแบบสำรวจที่ต่างกันต้องมี ID ที่ต่างกัน
  2. related_id => ID ของโควตาที่การตั้งค่านี้เป็นของ
  3. class => 'QTALS'
  4. relevance => message
  5. text => URL
  6. help => คำอธิบาย URL
  7. language => language -- ภาษาของโควตานี้ (เช่น 'en')


สมาชิกของโควตา

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

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันของสมาชิกของโควตา เริ่มต้นด้วยหมายเลข 1
  2. related_id => ID ของโควตาที่สมาชิกนี้เป็นของ
  3. class => 'QTAM'
  4. name => รหัสคำตอบ


เงื่อนไข

หนึ่งแถวต่อหนึ่งเงื่อนไข ไม่ขึ้นกับภาษา แถวเงื่อนไขควรวางไว้ถัดจากคำถามที่เกี่ยวข้องทันที โดยถือว่าเงื่อนไขเป็นของคำถามที่อยู่ก่อนหน้า

  1. id => หมายเลขระบุตัวตนที่ไม่ซ้ำกันของเงื่อนไข เริ่มต้นด้วยหมายเลข 1
  2. related_id => ID ของคำถามที่เกี่ยวข้อง (ถ้ามี)
  3. class => 'C'
  4. type/scale => scenario
  5. name => ชื่อฟิลด์คำตอบ
  6. relevance => ตัวเปรียบเทียบ
  7. text => คำตอบที่คาดหวัง