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. Түр шийдлүүд
  21. Лиценз
  22. Хувилбарын өөрчлөлтүүдийн жагсаалт
  23. Плагинууд
 Actions

ExpressionScript Engine - Хурдан эхлэх гарын авлага

From LimeSurvey Manual

Энэ хуудсыг машинаар орчуулсан байж магадгүй тул алдаа агуулж болзошгүй. Англи эх хувийг харах · Энэ орчуулгыг сайжруулах
This page is a translated version of the page ExpressionScript Engine - Quick start guide and the translation is 100% complete.


Хурдан эхлэх гарын авлага

LimeSurvey дотор та ExpressionScript (товчоор: ES)-ийг ашиглан судалгаагаа цаашид тохируулах боломжтой. Тайлбар: "ExpressionScript нь өмнөх хувилбаруудад Expression Manager (EM) гэж нэрлэгддэг байсан. Хэрэв та хаа нэгтээ Expression Manager гэж харвал энэ нь ES-ийн хуучин нэр юм."

ES-ийг дараах зүйлсийг тодорхойлоход ашиглаж болно:

  1. Навигаци/Салбарлалт - respondent-ийн хариултаас хамааран асуултуудыг харуулах дарааллыг өөрчлөх боломжийг олгоно;
  2. Тохируулга/Piping - асуултыг томъёолоход (жишээ нь өмнөх хариултуудыг дурдах, эсвэл судалгаанд оролцогчдын нас, хүйсээс хамааран өгүүлбэрийг хувиргах) эсвэл тусгайлсан тайлан (жишээ нь үнэлгээний оноо эсвэл тохирсон зөвлөгөө) гаргахад тусална;
  3. Баталгаажуулалт - хариултууд тодорхой шалгуурыг, тухайлбал хамгийн бага ба хамгийн их утга эсвэл оруулах тодорхой загварыг хангаж байгаа эсэхийг шалгана.

ES нь эдгээр боломж бүрийн логикийг тодорхойлох ойлгомжтой аргыг санал болгодог. Стандарт математик тэгшитгэл хэлбэрээр бичиж болох бараг бүх зүйл хүчинтэй илэрхийлэл болно.

ES одоогоор 70 функцэд хандах боломжийг олгодог бөгөөд илүү олныг дэмжихээр хялбархан өргөтгөх боломжтой. Мөн энэ нь хувьсагчдад SGQA нэрийн оронд хүнд ойлгомжтой хувьсагчийн нэрээр хандах боломжийг олгодог.

Дараагийн хэсгүүдэд ES-ийг голчлон хаана ашигладгийг үзүүлнэ.


Ач холбогдол (Навигаци/Салбарлалтыг удирдах)

Зарим судалгаа "Goto Logic"-ийг ашигладаг. Жишээ нь Question1-д C сонголтыг хариулбал таныг Question5 руу шилжүүлнэ. Энэ арга нь баталгаажуулахад хэцүү тул маш хязгаарлагдмал. Түүнчлэн асуултуудыг дахин эрэмбэлэх үед амархан алдаатай болдог. Харин ES нь асуулт хүчинтэй байж болох бүх нөхцөлийг тодорхойлохдоо Булийн холбогдох тэгшитгэлүүд-ийг ашигладаг. Хэрэв асуулт холбогдох бол асуултыг харуулна, үгүй бол энэ нь хамааралгүй болж, мэдээллийн санд "NULL" утга хадгалагдана.

Тайлбар: Энэ нь Нөхцөл засварлагч-аар хийж болох зүйлтэй төстэй боловч ES нь илүү төвөгтэй, хүчирхэг шалгуурыг хялбархан тодорхойлох боломжийг олгодог (мөн SGQA тодорхойлогчийн оронд хувьсагчийн нэрийг ашиглах боломжтой).




Ач холбогдлын ойлголтыг илүү сайн ойлгохын тулд судалгаанд оролцогчдын биеийн жингийн индекс (BMI)-ийг тооцдог дараах судалгаанд анхаарлаа хандуулъя. Үүнийг татаж авахын тулд дараах холбоос дээр дарна уу: Биеийн жингийн индекс судалгааны жишээ.

Холбогдох тэгшитгэлийг доор хувьсагчийн нэрийн дараах Ач холбогдол баганад харуулсан. weight, weight_units, height, height_units-ийн ач холбогдлын утга бүгд 1 (үндсэн утга) бөгөөд энэ нь тэдгээр асуултууд үргэлж харагдана гэсэн үг. Харин BMI-ийн ач холбогдол нь {!is_empty(height) and !is_empty(weight)} бөгөөд энэ нь оролцогч өндөр, жин хоёулангийнх нь утгыг оруулсан тохиолдолд л BMI-ийг тооцно гэсэн үг (ингэснээр тэг дээр хуваах алдаа гарах эрсдэлээс сэргийлнэ). Мөн "Report" асуулт нь respondent дөрвөн үндсэн асуултын (height, heightunits, weight, weightunits) бүгдэд хариулсан тохиолдолд л харагдана.



Тайлбар: Дээрх зураг нь судалгааг идэвхжүүлэхээс өмнө синтаксийн алдааг шалгах боломжийг олгодог судалгааны логик файл-аас авсан болно.


Ач холбогдлыг дараах тохиолдолд харуулж, засах боломжтой:

  • асуултын түвшний ач холбогдлыг харах/засах хүсэлтэй үед
  • бүлгийн түвшний ач холбогдлыг харах/засах хүсэлтэй үед


Асуултын түвшний ач холбогдлыг харах / засах

Энэ тэгшитгэл нь биеийн жингийн индекс (BMI)-ийг тооцдог. Энэ асуултыг зөвхөн хүн өөрийн өндөр, жингээ оруулсан тохиолдолд л асууна.



Энэ бол "BMI" асуултын засварлах дэлгэц юм.



Холбогдох тэгшитгэл оруулахдаа kuдуруй хаалт ашигладаггүйг анхаарна уу.


Бүлгийн түвшний ач холбогдлыг харах / засах

Одоо өөр нэг жишээнд анхаарлаа хандуулъя - энгийн тооллогын судалгаа. Үүнийг татаж авахын тулд дараах холбоос дээр дарна уу: Тооллогын судалгааны жишээ.

Эхний хуудас нь тантай хэдэн хүн хамт амьдардгийг асууж, түүнийг "cohabs" хувьсагчид хадгална. Энэ хуудсыг тантай хамт амьдрагч хүн нэгээс олон байгаа тохиолдолд л харуулна (хоёр дахь хамт амьдрагч хүнд зориулж харуулна). Мөн p2name, p2age, p2sum нь тус бүрийн өмнөх асуултад хариулт байгаа тохиолдолд л харагдана.



Иймээс бүлэг нь мөн асуултын түвшний ач холбогдлын шалгууртай бөгөөд зарим асуулт нь өмнөх тодорхой асуултуудад хариулсан тохиолдолд л харагддаг (жишээ нь p2name-д хариулсан бол p2age харагдана). ES нь бүлгийн болон асуултын түвшний ач холбогдлыг таны өмнөөс нэгтгэдэг. Бүлэг доторх асуултуудыг зөвхөн бүлэг бүхэлдээ холбогдох тохиолдолд л асууна. Дараа нь бүлэг доторх асуултуудаас зөвхөн холбогдох дэд олонлогийг л асууна.

Энд Cohabitant 2-ийн бүлгийн түвшний ач холбогдлыг засах дэлгэцийн зураг байна:



Холбогдох тэгшитгэлийг оруулахдаа тайлбар хаалт (буржгар хаалт) ашиглахгүй гэдгийг анхаарна уу.

Тохируулга/Дамжуулалт (Tailoring/Piping)

ES нь энгийн болон нарийн төвөгтэй нөхцөлт тохируулгыг хялбархан хийх боломжийг олгодог. Заримдаа танд зүгээр л энгийн орлуулалт хэрэгтэй байдаг, жишээлбэл: "Та [Бүтээгдэхүүн] худалдан авсан гэж хариулсан. Үүний хамгийн их таалагдсан зүйл юу байсан бэ?". Заримдаа "[Ноён/Хатагтай] [Овог], та манай судалгааг бөглөхөд бэлэн байна уу?" гэх мэт нөхцөлт орлуулалт хэрэгтэй болдог. Энэ тохиолдолд хүний хүйсээс хамааран "Ноён эсвэл Хатагтай" гэснийг ашиглахыг хүсэж байна. Бусад үед (жишээлбэл математик тооцоололд суурилсан) бүр ч төвөгтэй орлуулалт шаардлагатай болно. ES нь эдгээр бүх төрлийн тохируулга/дамжуулалтыг дэмждэг.


Нөхцөлт тэгшитгэлүүд

Биеийн жингийн индексийн (BMI) жишээ нь хүн өөрийн өндөр, жингээ хоёр өөр нэгжээр (см ба инч, кг ба фунт) оруулсан ч BMI-г тооцоолох боломжийг харуулдаг:



Энэ тохиолдолд weightkg нь {if(weightunits == "kg", weight, weight * 0.453592)} байна. Энэ "if()" функц нь хэрэв хариулагч жингээ килограммаар оруулсан бол тэр утгыг ашиглана, үгүй бол оруулсан утгыг (өөр сонголт нь фунт) 0.453592-оор үржүүлж килограмм руу хөрвүүлнэ гэсэн үг юм. heightm хувьсагч нь мөн адил аргаар хүний өндрийг метрээр (см-ээр өгсөн өндөр/100) тооцоолдог, тэр өндрөө инчээр оруулсан байсан ч гэсэн (1 метр=3.28084 инч).

BMI-г дараах байдлаар тооцно: {weightkg / (heightm * heightm)}.

Эцэст нь, тайлан нь хариулагчид тэрээр юу оруулснаа хэлж, мессежийг нөхцөлт байдлаар тохируулдаг. (жишээлбэл, "Та 2 метр өндөр, 70 кг жинтэй гэж хариулсан.")

Доорх зурагт weightstatus нь хүнийг жингийн дутагдалтайгаас эхлээд хүнд тэнцвэргүй таргалалттай хүртэл ангилахдаа үүрлэсэн "if()" мэдэгдлүүдийг ашигладаг. Логикийг нь шалгаснаар түүний тэгшитгэлийг харж болно:



Энэ асуултын засах цонхоос та хоёр зүйлийг харж болно:

  1. Тохируулга нь илэрхийллүүдийг тайлбар хаалтаар (буржгар хаалтаар) хүрээлсэн байх ёстой
  2. Илэрхийллүүд нь олон мөрөнд байж болно, энэ тохиолдлынх шиг үүрлэсэн нөхцөлт логикийг уншихад хялбар болгохыг хүсвэл.



Тохируулсан асуулт, хариулт болон тайлан

Тэмдэглэл: Хариултын сонголтуудыг нэг асуултын хуудсанд сонгох жагсаалтаар (select box) гаргасан бол динамик тохируулга ажиллахгүй байж болно. Учир нь тохируулга нь сонголтын дотор хүчингүй болох <span> шошгыг оруулдагтай холбоотой.

BMI тайлан дараах байдалтай харагдана:



Энэ нь мөн асуултын засах цонх юм.



Буржгар хаалтан доторх бүх зүйлийг илэрхийлэл гэж үздэг бөгөөд өмнөх зурагт синтакс өнгөөр тодруулагдсан (өнгөөр кодлогдсон) байна. Хэрэв бичгийн алдаа (жишээлбэл буруу бичигдсэн эсвэл тодорхойлогдоогүй хувьсагч, функцийн нэр) гарвал ES алдаа харуулна. Доорх жишээнд:

  • heightunit.shown нь тодорой бус хувьсах хэмжигдэхүүн (үнэндээ heightunits.shown байх ёстой) ба
  • "rnd()" нь Тодорхойлогдоогүй функц (зөв функцийн нэр нь "round()").

Хоёр тохиолдолд алдаануудыг олж засахад хялбар болгохын тулд улаан хүрээнд харуулдаг.



Мөн оруулсан утгуудын хүснэгт эсвэл тохируулсан зөвлөгөө гэх мэт нарийн төвөгтэй тайланг хурдан үүсгэж болохыг харж болно.

Бүх тохируулгын илэрхийллийг буржгар хаалтаар хүрээлэх ёстой гэдгийг санаарай. Ингэснээр LimeSurvey асуултын аль хэсэг нь энгийн текст, аль хэсгийг нь ExpressionScript хөдөлгүүр боловсруулах ёстойг мэднэ.


Баталгаажуулалт

ES нь ихэнх нарийвчилсан асуултын сонголтууд хэрхэн ажиллахыг удирддаг. Эдгээр нь хариултын хамгийн бага/дээд тоо, нэг утгын хамгийн бага/дээд утга, нийлбэр утгын хамгийн бага/дээд утга, оруулсан утга заасан тэмдэгт мөрийн загвартай таарч байгаа эсэхийг шалгах зэрэг зүйлсийг хянадаг. Эдгээр талбар дахь аливаа утгыг илэрхийлэл гэж үздэг тул та бусад асуулттай нарийн төвөгтэй нөхцөлт харилцаатай хамгийн бага/дээд шалгуурыг тохируулж болно.

Эдгээр бүх тохиолдолд нарийвчилсан асуултын шинж чанарыг үргэлж илэрхийлэл гэж үздэг тул түүнийг зааж өгөхдөө буржгар хаалт ашигладаггүй.

Жишээ судалгаанууд хуудсанд төрөл бүрийн баталгаажуулалтын илэрхийллүүд агуулсан олон ажиллаж буй жишээг үзүүлсэн байдаг.

ExpressionScript - танилцуулга

ExpressionScript-ийн талаар болон судалгаагаа сайжруулахын тулд янз бүрийн илэрхийллийг хэрхэн ашиглах талаар илүү ихийг мэдэхийг хүсвэл дараах холбоос дээр дарна уу.