एक्सप्रेशन मैनेजर के नमूना सर्वेक्षण
From LimeSurvey Manual
परिचय
ExpressionScript का उपयोग करना सीखने का सबसे अच्छा तरीका है कि आप काम करते हुए उदाहरणों के साथ प्रयोग करें और उन्हें अपनी ज़रूरतों के अनुसार बदलें।
नीचे नमूना सर्वेक्षणों का एक सेट दिया गया है, जो दिखाता (और परखता) है कि EM की मदद से आप अपने सर्वेक्षण को कैसे बेहतर बना सकते हैं। ये सर्वेक्षण डिस्ट्रीब्यूशन के /docs/demosurveys फ़ोल्डर में मिल जाएँगे।
प्रासंगिकता, टेलरिंग और समीकरण
अवलोकन
निम्नलिखित उदाहरण हर प्रतिभागी का BMI (बॉडी मास इंडेक्स) निकालता है। इस उदाहरण में दिखाई गई सुविधाएँ नीचे देखें।
दर्शाई गई EM सुविधाएँ
- प्रासंगिकता - शक्तिशाली सशर्त लॉजिक का समर्थन;
- पाइपिंग / टेलरिंग - उत्तरों और प्रश्न के मेटाडेटा को पाइप या टेलर करने की सुविधा;
- डायनामिक टेलरिंग - ध्यान दें कि जैसे-जैसे आप प्रश्नों के उत्तर देते हैं, पेज पर रिपोर्ट बदलती जाती हैं।
- माइक्रो-टेलरिंग - if() स्टेटमेंट की मदद से वाक्यों और रिपोर्ट के भीतर सशर्त टेलरिंग
- समीकरण - एक नया प्रश्न का प्रकार, जिससे आप गणनाएँ कर सकते हैं और परिणाम डेटाबेस में सहेज सकते हैं, भले ही गणना छिपी हुई हो
- सशर्त सत्यापन - सत्यापन मानदंड, जैसे अनुमत न्यूनतम मान, सशर्त हो सकते हैं - जैसे समीकरणों पर आधारित।
स्क्रीनशॉट
यह उदाहरण बॉडी मास इंडेक्स निकालता है, यानी आपके वज़न और लंबाई से यह गणना करता है कि आपका वज़न ज़्यादा है या नहीं। ध्यान दें कि शुरुआत में आपको केवल चार अनिवार्य प्रश्न दिखाई देते हैं:

अपनी जानकारी दर्ज करने के बाद (और आप मीट्रिक या गैर-मीट्रिक इकाइयों में से चुन सकते हैं), आपको एक टेलर की गई रिपोर्ट दिखती है, जो आपके दर्ज किए गए विवरण का सार देती है और आपके वज़न की स्थिति बताती है:

यहाँ एक अलग उदाहरण है, जिसमें गैर-मीट्रिक इकाइयों का उपयोग करके दिखाया गया है कि परिणाम कैसे गतिशील रूप से बदलता है:

आंतरिक स्तर पर छिपे हुए समीकरण प्रकार के प्रश्न हैं, जो डेटा को (ज़रूरत हो तो) मीट्रिक में बदलते हैं और मीट्रिक लंबाई, वज़न, BMI और वज़न की स्थिति को बिना किसी कस्टम JavaScript के डेटाबेस में सहेजते हैं।
अगले उदाहरणों में आप देख सकते हैं कि टेलर की गई रिपोर्ट में गणितीय और अन्य फ़ंक्शन का उपयोग कैसे किया जा सकता है। कोई डेटा दर्ज करने से पहले पेज ऐसा दिखता है। यदि कोई डेटा (या गैर-संख्यात्मक डेटा) दर्ज किया जाए, तो "NaN" या "Divide by Zero" दिखाने के बजाय खाली सेल दिखाने के लिए सशर्त लॉजिक मौजूद है।

जैसे-जैसे संख्याएँ दर्ज की जाती हैं, पेज पर मौजूद रिपोर्ट बदलकर की जा रही गणना और उसका परिणाम दिखाती है।

इस नमूना सर्वेक्षण में कई और उदाहरण हैं। उदाहरण के लिए, नीचे दिया गया स्क्रीनशॉट डायनामिक प्रासंगिकता पेज को भरने के दर्जनों तरीकों में से एक दिखाता है। जैसा कि सहायता टेक्स्ट में बताया गया है, अलग-अलग उम्र आज़माएँ, और खासकर उत्तरों के बेतुके संयोजन आज़माएँ, ताकि नीचे बनने वाले मज़ेदार संदेश देख सकें। यह भी ध्यान दें कि यदि आप बताते हैं कि आपके एक से ज़्यादा बच्चे हैं, तो संदेश में "I hope you enjoy playing with your child" के बजाय "I hope you enjoy playing with your X children" लिखा आएगा। इससे पता चलता है कि आप वाक्यों को अपने प्रतिभागियों के लिंग और/या संख्या के अनुसार आसानी से माइक्रो-टेलर कैसे कर सकते हैं। आप लिंग और संख्या के आधार पर क्रियाओं और संज्ञाओं के रूप भी आसानी से बदल सकते हैं।

डाउनलोड
सर्वेक्षण का नमूना पाने के लिए कृपया इस लिंक पर क्लिक करें: LS3_em_tailoring.zip।
नमूना जनगणना
अवलोकन
यह एक जनगणना का उदाहरण है, जिसमें पूछा जाता है कि आपके घर में कितने लोग हैं।
यह दिखाता है कि समूह-स्तर की प्रासंगिकता प्रश्नों का "लूप" बनाना कैसे आसान कर सकती है। व्यक्ति 1 का समूह बनाने के बाद मैंने उस समूह को एक्सपोर्ट किया। चूँकि मैंने SGQA कोड के बजाय p1_name जैसे qcode वैरिएबल नामों का उपयोग किया था, इसलिए मैं टेक्स्ट एडिटर से समूह को जल्दी से एडिट करके कई बार दोबारा इंपोर्ट कर सका (जैसे, हर दोहराए गए समूह को एडिट और दोबारा इंपोर्ट करने में लगभग 10 सेकंड लगे, जिससे यह सुनिश्चित हुआ कि सभी वैरिएबल के नाम अद्वितीय हैं और समूह-स्तर का लॉजिक सही है)।
आप सवाल की नकल सुविधा का भी उपयोग कर सकते हैं, लेकिन यह ऊपर सुझाए गए विकल्प जितनी तेज़ नहीं होगी।
इससे यह भी पता चलता है कि सर्वेक्षण के वास्तव में पूरा होने तक (उदाहरण के लिए, जब सभी आवश्यक समूह पूरे हो जाएँ) "पूर्ण" संदेश को दिखने से कैसे रोका जा सकता है।
प्रदर्शित EM सुविधाएँ
- समूह-स्तरीय प्रासंगिकता - अनुवर्ती समूह (व्यक्ति 1-5) केवल निर्दिष्ट सह-निवासियों की संख्या तक ही दिखाई देते हैं;
- टेलरिंग - अंतिम रिपोर्ट प्रत्येक सह-निवासी का जनसांख्यिकीय डेटा सारांशित करती है;
- क्रमिक प्रश्न प्रदर्शन - चाहे समूह मोड हो या सब-कुछ-एक-साथ मोड, अगले प्रश्न तभी दिखाई देते हैं जब पिछले प्रश्नों के उत्तर दे दिए जाते हैं।
स्क्रीनशॉट
सर्वेक्षण निर्दिष्ट संख्या में सह-निवासियों की जनसांख्यिकी दिखाने वाली एक टेलर की गई रिपोर्ट बनाता है:

यदि आप एक-समय-में-एक-प्रश्न मोड पर स्विच करते हैं, तो आप देखेंगे कि इंडेक्स प्रश्नों को टेलर करता है। चूँकि उपयोगकर्ता ने बताया कि व्यक्ति एक महिला है, यह पूछता है "उसका नाम क्या है"। और चूँकि हमने "Mary" उत्तर दिया, अगला प्रश्न कहता है "Mary की उम्र क्या है"?

डाउनलोड
सर्वेक्षण का नमूना डाउनलोड करने के लिए यहाँ क्लिक करें: LS3_group_relevance.zip।
क्रमिक सरणी फ़िल्टर
अवलोकन
यह सर्वेक्षण Joy Lane Research, LLC के सौजन्य से प्राप्त एक सर्वेक्षण के डिज़ाइन पर आधारित है।
स्क्रीनशॉट
निम्नलिखित में ध्यान दें कि:
- Q02 केवल वही उत्पाद दिखाता है जिन्हें Q01 में चुना गया था (array_filter का उपयोग करके)
- Q02 "Another product" भी दिखाता है, जो Q01 के "Other electronic" फ़ील्ड में दर्ज किया गया टेक्स्ट है
- Q04 केवल Q02 के वे उत्पाद दिखाता है जिन्हें चुना गया था (इस प्रकार सरणी फ़िल्टर क्रमिक रूप से लागू होता है)
- Q05 केवल Q02 के वे उत्पाद दिखाता है जिन्हें Q02 में नहीं चुना गया था (क्रमिक array_filter_exclude का उपयोग करके)


डाउनलोड
उपर्युक्त उदाहरण डाउनलोड करने के लिए निम्नलिखित लिंक पर क्लिक करें: LS2_cascading_array_filter सर्वेक्षण उदाहरण।
सभी प्रश्न प्रकारों और गुणों का उपयोग करके पाइपिंग/टेलरिंग
अवलोकन
यदि आप इस बात को लेकर उलझन में हैं कि अपने वेरिएबल्स का नाम कैसे रखें (SGQA बनाम Qcodes), तो आप अकेले नहीं हैं। हालाँकि मुख्य दस्तावेज़ में Qcode वेरिएबल नाम कैसे बनाएँ इसका वर्णन है, लेकिन किसी कार्यशील डेमो को देखने से बेहतर कुछ नहीं है। यह सर्वेक्षण दिखाता है कि आप ExpressionScript का उपयोग करके प्रश्न गुणों और उत्तरों तक कैसे पहुँच सकते हैं।
सामग्री
- प्रत्येक प्रश्न प्रकार के उदाहरण
- वे सभी प्रश्न प्रकार शामिल हैं जो "अन्य" का उपयोग कर सकते हैं, ताकि आप देख सकें कि इससे वेरिएबल के नामकरण पर क्या प्रभाव पड़ता है
- उन सभी प्रश्न प्रकारों के डिफ़ॉल्ट मान जो डिफ़ॉल्ट स्वीकार करते हैं
- टेलरिंग - पेज पर और पेज के बाहर की रिपोर्ट, जो सभी 16 उपलब्ध EM डॉट नोटेशन प्रत्ययों को दिखाती हैं।
- ये रिपोर्ट वर्तमान में दर्ज किया गया सारा डेटा दिखाती हैं (ताकि आप देख सकें कि उत्तर-प्रिंट स्क्रीन के बजाय उपयोगकर्ताओं के लिए अपनी प्रिंट करने योग्य रिपोर्ट कैसे बनाई जा सकती हैं)
- सभी वेरिएबल्स का सही Qcode और SGQA नामकरण
स्क्रीनशॉट
यह एक बहुत बड़ा सर्वेक्षण है, इसलिए हमने स्क्रीनशॉट शामिल न करने का निर्णय लिया। इसके बजाय, कृपया इसे डाउनलोड करें और स्वयं आज़माएँ।
डाउनलोड
सर्वेक्षण डाउनलोड करने के लिए निम्नलिखित लिंक पर क्लिक करें: LS3_EM_question_attributes.lss
पारंपरिक सत्यापन, नए रूप में
अवलोकन
यह उन सभी सत्यापन प्रकारों को दर्शाता है जो एक्सप्रेशन का उपयोग करते हैं, और यह भी कि वे सत्यापन का समर्थन करने वाले प्रत्येक प्रश्न के प्रकार को कैसे प्रभावित करते हैं। कई मामलों में सत्यापन संबंधी सुझाव शुरुआत में छिपे रहते हैं और केवल तभी दिखाई देते हैं जब कोई प्रश्न सत्यापन मानदंड पूरे नहीं करता (और प्रश्न के मानदंड पूरे करते ही वे फिर से गायब हो जाते हैं)।
प्रदर्शित सत्यापन प्रकार
- min_num_value_n - किसी उत्तर के लिए न्यूनतम मान
- max_num_value_n - किसी उत्तर के लिए अधिकतम मान
- min_answers - आवश्यक उत्तरों की न्यूनतम संख्या
- max_answers - अनुमत उत्तरों की अधिकतम संख्या
- multiflexible_min - किसी उत्तर के लिए अनुमत न्यूनतम मान (मल्टीफ्लेक्सी नंबर प्रश्न के प्रकार के लिए)
- multiflexible_max - किसी उत्तर के लिए अनुमत अधिकतम मान (मल्टीफ्लेक्सी नंबर प्रश्न के प्रकार के लिए)
- min_num_value - प्रश्न के सभी उत्तरों के योग का न्यूनतम अनुमत मान
- max_num_value - प्रश्न के सभी उत्तरों के योग का अधिकतम अनुमत मान
- equals_num_value - प्रश्न के सभी उत्तरों का योग इस मान के बराबर होना चाहिए
- validation - यह प्रश्न के लिए नियमित अभिव्यक्ति सत्यापन है - इसे अलग-अलग सेल पर लागू किया जा सकता है
स्क्रीनशॉट
नई CSS शैलियों का उपयोग करके, प्रत्येक सत्यापन प्रकार एक अलग सुझाव के रूप में दिखाई देता है। यदि वे दिखाए जा रहे हैं, तो उन्हें hide_tip विकल्प से छिपाया जा सकता है। डिफ़ॉल्ट रूप से, यदि प्रश्न सत्यापन मानदंड पूरे नहीं करता तो सुझाव लाल फ़ॉन्ट में दिखते हैं, और यदि पूरे करता है तो हरे में:

उपयोगकर्ता सत्यापन त्रुटियों वाला पृष्ठ सबमिट नहीं कर सकता। यदि उसने गलत जानकारी दर्ज की है, तो उसे तुरंत चेतावनी दी जाएगी:

सत्यापन को सरणी के अलग-अलग सेल पर लागू किया जा सकता है, जैसे इस उदाहरण में, जहाँ नियमित अभिव्यक्ति सत्यापन यह सुनिश्चित करते हैं कि प्रत्येक प्रविष्टि एरिया कोड सहित सही प्रारूप वाला अमेरिकी फ़ोन नंबर हो।

डाउनलोड
उपरोक्त उदाहरण डाउनलोड करने के लिए, निम्नलिखित लिंक पर क्लिक करें: LS3_Validation_tests.zip।
सत्यापन समीकरण
अवलोकन
कभी-कभी आपको कस्टम सत्यापन की आवश्यकता होती है जो पारंपरिक न्यूनतम/अधिकतम मानदंडों से संभव नहीं है। इसके लिए आपको em_validation_q और em_validation_sq विकल्पों का उपयोग करना होगा, जो आपको क्रमशः प्रश्न और उप-प्रश्न स्तर पर जटिल सत्यापन समीकरण बनाने देते हैं।
प्रदर्शित EM सुविधाएँ
- em_validation_q - यह एक समीकरण है जो तय करता है कि पूरा प्रश्न मान्य है या नहीं
- em_validation_q_tip - यदि प्रश्न em_validation_q मानदंड पूरे नहीं करता तो यह संदेश दिखाया जाता है
- em_validation_sq - यह वह समीकरण है जो तय करता है कि प्रत्येक उप-प्रश्न (सरणी का सेल) मान्य है या नहीं
- 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 सुविधाएँ
यह मुख्य प्रश्नों में उत्तर दिए गए प्रश्नों की संख्या की डायनामिक रिपोर्टिंग भी दिखाता है।
स्क्रीनशॉट
दिखाई देने वाली पंक्तियों की संख्या बदलने से योग डायनामिक रूप से बदल जाता है। किसी उप-प्रश्न को अप्रासंगिक चिह्नित करने से उसका मान साफ़ नहीं होता। बल्कि, यदि वह अप्रासंगिक है, तो उसके मान किसी भी समीकरण में योगदान नहीं देते।


देखें कि पहले प्रश्न "Which rows should appear below" के लिए "Fifth subquestion" को चुनने पर क्या होता है। ध्यान दें कि दूसरे "Enter some numbers" प्रश्न का योग अब 5 है। भले ही उस प्रश्न के उप-प्रश्न 5 का मान अभी भी 14 है (उदाहरण के लिए, यदि आप पाँचवें उप-प्रश्न का चयन हटाते हैं, तो आपको फिर से 14 दिखाई देगा), यह मान योग में योगदान नहीं देता क्योंकि यह फ़िलहाल अप्रासंगिक है। सबमिट करने पर सभी अप्रासंगिक डेटा साफ़ हो जाता है (डेटाबेस में NULL हो जाता है), लेकिन वह पेज पर उपलब्ध रहता है ताकि यदि उपयोगकर्ता अपने उत्तर बदलना चाहें या उन्हें बदलने की ज़रूरत पड़े तो वे ऐसा कर सकें।

डाउनलोड
हमारा उदाहरण डाउनलोड करने के लिए यहाँ क्लिक करें: ls2_subquestion_relevance.lss।
कॉमा को रेडिक्स विभाजक (दशमलव बिंदु) के रूप में इस्तेमाल करना
अवलोकन
ExpressionScript यह सुनिश्चित करता है कि संख्यात्मक फ़ील्ड में केवल मान्य संख्याएँ ही दर्ज की जा सकें। यदि आप कोई अमान्य संख्या दर्ज करते हैं, तो आपको चेतावनी मिलेगी कि कुछ गलत है (उदाहरण के लिए, fruity थीम में पूरा प्रश्न लाल हो जाता है)।
ध्यान दें कि संख्यात्मक मान डेटाबेस में हमेशा रेडिक्स विभाजक के रूप में बिंदु (.) का उपयोग करने के लिए बदल दिए जाते हैं। इस तरह सांख्यिकीय विश्लेषण सही ढंग से काम करेंगे।
रेडिक्स विभाजक बदलने के लिए, सेटिंग टैब के अंतर्गत मौजूद टेक्स्ट एलिमेंट विकल्पों पर जाएँ और दशमलव विभाजक सुविधा देखें।
रेडिक्स विभाजक का उपयोग करने वाले प्रश्न के प्रकार
- Input numerik [N]
- एकाधिक संख्यात्मक इनपुट [K]
- सरणी (संख्या) [:]
- सरणी (ग्रंथों) [;], numbers_only विशेषता का उपयोग करते समय
- सूची (रेडियो) [L], other_numbers_only विशेषता का उपयोग करते समय
- Teks bebas singkat [S], numbers_only विशेषता का उपयोग करते समय
- एक से ज़्यादा छोटे टेक्स्ट [Q], numbers_only विशेषता का उपयोग करते समय
- एकाधिक विकल्प [M], other_numbers_only विशेषता का उपयोग करते समय
- टिप्पणी के साथ एकाधिक विकल्प [P], other_numbers_only विशेषता का उपयोग करते समय
स्क्रीनशॉट
नीचे दिए गए स्क्रीनशॉट में आप देख सकते हैं कि कॉमा का उपयोग रेडिक्स विभाजक के रूप में किया जा सकता है।

डाउनलोड
ऊपर का उदाहरण डाउनलोड करने के लिए इस लिंक पर क्लिक करें: ls2_comma_as_radix_separator.lss।
रैंडमाइज़ेशन समूह
अवलोकन
यह सर्वेक्षण दर्शाता है कि random_group विशेषता का उपयोग कैसे किया जाए।
यदि इस विशेषता का उपयोग किया जाता है, तो हर बार सर्वेक्षण शुरू करने पर प्रश्नों का क्रम यादृच्छिक हो जाता है। हालांकि, सर्वेक्षण शुरू होने के बाद, भाषा बदलने पर भी रैंडमाइज़ेशन का क्रम स्थिर रहता है।
स्क्रीनशॉट
आइए नीचे दिया गया उदाहरण साथ मिलकर देखें। पेज पर पहला यादृच्छिक प्रश्न Q1, Q4 या Q7 में से कोई एक होगा। पेज पर दूसरा यादृच्छिक प्रश्न Q2, Q5 या Q8 में से कोई एक होगा।

यह वह रैंडमाइज़ेशन है जो मेरे द्वारा इस सर्वेक्षण का पहली बार परीक्षण करने पर उत्पन्न हुआ।

सर्वेक्षण का दूसरी बार परीक्षण करने पर एक अलग रैंडमाइज़ेशन उत्पन्न हुआ।

लेकिन जब मैंने (सर्वेक्षण को दोबारा शुरू किए बिना) फ़्रेंच भाषा में स्विच किया, तो रैंडमाइज़ेशन का क्रम वैसा ही रहा।

डाउनलोड
उपरोक्त उदाहरण डाउनलोड करने के लिए, निम्नलिखित लिंक पर क्लिक करें: Randomization_Group_Test.lss
प्रत्येक समूह में यादृच्छिक रूप से एक प्रश्न पूछें
अवलोकन
यह सर्वेक्षण दिखाता है कि आप किसी सर्वेक्षण को इस प्रकार कैसे कॉन्फ़िगर कर सकते हैं कि प्रत्येक समूह में यादृच्छिक रूप से एक प्रश्न प्रदर्शित हो। इसमें 5 समूह हैं और प्रत्येक में 6 प्रश्न हैं। शुरुआत में, Group 0 में, ask1-ask5 नामक पाँच छिपे हुए समीकरण प्रश्न भरे जाते हैं। प्रत्येक के प्रश्न टेक्स्ट फ़ील्ड में {floor(rand(1,6.9999))} मान होता है, जिसका अर्थ है कि वेरिएबल ask1-ask5 में प्रत्येक का मान 1 से 6 के बीच होगा। फिर, समूह के प्रत्येक प्रश्न का प्रासंगिकता समीकरण "ask1==N" जैसा होता है, जहाँ N समूह में N-वाँ प्रश्न है (इसलिए समूह 1 के तीसरे प्रश्न का प्रासंगिकता समीकरण "ask1==3" है)।
यह सर्वेक्षण एक साथ पूरे सर्वेक्षण, समूह से समूह और प्रश्न-दर-प्रश्न, तीनों मोड में समान रूप से काम करता है। चूँकि रैंडमाइज़ेशन पहले समूह में सेट किया जाता है, और वह समूह प्रभावी रूप से छिपा रहता है (क्योंकि ask1-ask5 के सभी प्रश्न छिपे हैं), इसलिए प्रतिभागी के लिए रैंडमाइज़ेशन वही रहता है; लेकिन प्रत्येक अलग प्रतिभागी के लिए रैंडमाइज़ेशन अलग होगा।
प्रदर्शित सुविधाएँ
- समीकरण प्रश्न का प्रकार
- रैंडमाइज़ेशन फ़ंक्शन
- सशर्त (if) फ़ंक्शन
स्क्रीनशॉट
यह Group0 है, जो प्रत्येक समूह के लिए 1 से 6 तक के यादृच्छिक मान चुनने हेतु समीकरण प्रश्न का प्रकार का उपयोग करता है (अंतिम समूह को छोड़कर, जिसमें केवल 4 प्रश्न हैं)। ध्यान दें कि "if()" फ़ंक्शन पहले जाँचता है कि ask1 पहले से सेट है या नहीं, और यदि है, तो वही मान उपयोग करता है। यदि मान सेट नहीं है, तो वह ask1 का मान सेट करने के लिए एक यादृच्छिक मान का उपयोग करता है।

यह समूह दिखाता है कि Group0 के वेरिएबल (ask4) का उपयोग यह नियंत्रित करने के लिए कैसे किया जाता है कि चौथे समूह में कौन-सा प्रश्न दिखाई देगा।

डाउनलोड
उपरोक्त सर्वेक्षण उदाहरण डाउनलोड करने के लिए, यहाँ क्लिक करें: समूह में यादृच्छिक प्रश्नों का सर्वेक्षण उदाहरण।
समूह में यादृच्छिक रूप से निर्दिष्ट संख्या में प्रश्न पूछें (प्रश्नों का एक उपसमुच्चय)
अवलोकन
यह सर्वेक्षण दिखाता है कि किसी समूह में प्रश्नों का एक यादृच्छिक उपसमुच्चय कैसे पूछा जाए। उदाहरण के लिए, किसी समूह में मौजूद 10 प्रश्नों में से 5 यादृच्छिक प्रश्न दिखाएँ।
इस सर्वेक्षण में एक समूह है जिसमें 10 प्रश्न हैं। सभी प्रश्नों को समान Randomization समूह का नाम दिया गया है। इसके परिणामस्वरूप, पृष्ठ लोड होने पर वे अनिश्चित क्रम में दिखाई देंगे। प्रत्येक प्रश्न को एक प्रासंगिकता समीकरण दिया जाता है, जिसके अनुसार समूह के अन्य सभी प्रश्नों के "relevanceStatus" का योग उन प्रश्नों की संख्या से कम होना चाहिए जिन्हें आप दिखाना चाहते हैं। चूँकि प्रश्नों के प्रदर्शित होने के साथ relevanceStatus निर्धारित होता है, इसलिए यह प्रभावी रूप से पूर्ववर्ती प्रश्नों की कुल संख्या देता है।
इसलिए, हमारे 10 में से 5 वाले उदाहरण में, 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
और इसी प्रकार आगे...
प्रदर्शित सुविधाएँ
डाउनलोड
ऊपर दिया गया उदाहरण डाउनलोड करने के लिए, निम्नलिखित लिंक पर क्लिक करें: 10 में से 5 यादृच्छिक प्रश्नों वाला सर्वेक्षण उदाहरण।
उपयोगकर्ता द्वारा दर्ज उत्पादों की सूची को रेट करना
अवलोकन
नीचे दिया गया उदाहरण दिखाता है कि आप उपयोगकर्ताओं से उनकी रुचि के उत्पादों की सूची बनाने के लिए कैसे कह सकते हैं, और फिर उनसे उन उत्पादों को रेट करने के लिए कह सकते हैं।
प्रदर्शित EM सुविधाएँ
- उत्तरों की टेलरिंग - उत्पादों को रेट करते समय, लेबल पिछले एकाधिक विकल्प प्रश्न के टिप्पणी फ़ील्ड से आते हैं
- स्केल की टेलरिंग - स्केल शीर्षकों जैसे कई उन्नत प्रश्न विकल्पों को भी टेलर किया जा सकता है।
स्क्रीनशॉट
यह चित्र दिखाता है कि भले ही केवल उत्पाद 1, 3 और 5 चुने गए थे, केवल वही 3 प्रदर्शित होते हैं (array_filter विशेषता का उपयोग करके)। इसके अलावा, दूसरे प्रश्न में पंक्ति के लेबल या तो उत्पाद संख्याएँ होते हैं (यदि टिप्पणी फ़ील्ड में कुछ दर्ज नहीं किया गया है) या टिप्पणी फ़ील्ड की सामग्री।

यह चित्र दिखाता है कि टेलर किए गए उत्तर कैसे निर्दिष्ट किए जाते हैं:

यह उस प्रश्न की Show Logic File है, जिससे हम सत्यापित कर सकते हैं कि सशर्त लॉजिक अपेक्षित रूप से काम करता है (उदाहरण के लिए, यह देखने के लिए कि कोई सिंटैक्स त्रुटि तो नहीं है):

अगला चित्र एक ऐसा समूह दिखाता है जिसमें आप 5 अंकों का रेटिंग स्केल (विकल्प 1-5), स्केल का शीर्षक और वे उत्पाद निर्दिष्ट करते हैं जिन्हें आप रेट करना चाहते हैं। अंतिम प्रश्न दिखाता है कि सरणी प्रश्न के प्रत्येक भाग को टेलर किया जा सकता है:

अगला चित्र अंतिम प्रश्न का लॉजिक फ़ाइल दृश्य दिखाता है। जैसा कि आप देख सकते हैं, उप-प्रश्नों, उत्तरों और स्केल शीर्षकों को टेलर किया जा सकता है।

डाउनलोड
ऊपर दिया गया सर्वेक्षण उदाहरण डाउनलोड करने के लिए, निम्नलिखित लिंक पर क्लिक करें: उपयोगकर्ता द्वारा दर्ज उत्पादों की सूची को रेट करने वाला सर्वेक्षण उदाहरण।