ExpressionScript नमूना सर्वेक्षण
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 थीम में पूरा प्रश्न लाल हो जाता है)।
ध्यान दें कि संख्यात्मक मान डेटाबेस में हमेशा दशमलव विभाजक के रूप में बिंदु (.) का उपयोग करके बदले जाते हैं। इस तरह सांख्यिकीय विश्लेषण सही ढंग से काम करेगा।
दशमलव विभाजक बदलने के लिए, सेटिंग टैब के अंतर्गत स्थित टेक्स्ट एलिमेंट विकल्प खोलें और दशमलव विभाजक सुविधा देखें।
दशमलव विभाजक का उपयोग करने वाले प्रश्न प्रकार
- संख्यात्मक इनपुट [N]
- एकाधिक संख्यात्मक इनपुट [K]
- सरणी (संख्या) [:]
- सरणी (ग्रंथों) [;], numbers_only विशेषता का उपयोग करते समय
- सूची (रेडियो) [L], other_numbers_only विशेषता का उपयोग करते समय
- छोटा मुक्त टेक्स्ट [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 प्रश्न हैं। शुरुआत में, समूह 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 यादृच्छिक प्रश्नों वाला सर्वेक्षण उदाहरण।
उपयोगकर्ता द्वारा दर्ज उत्पादों की सूची को रेट करना
अवलोकन
नीचे दिया गया उदाहरण दिखाता है कि आप उपयोगकर्ताओं से उन उत्पादों की सूची कैसे बनवा सकते हैं जिनमें उनकी रुचि है, और फिर उनसे उन उत्पादों को रेट करवा सकते हैं।
प्रदर्शित ES सुविधाएँ
- उत्तरों की टेलरिंग - उत्पादों को रेट करते समय, लेबल पिछले एकाधिक विकल्प प्रश्न के टिप्पणी फ़ील्ड से आते हैं
- स्केल की टेलरिंग - स्केल शीर्षकों जैसे कई उन्नत प्रश्न विकल्पों को भी टेलर किया जा सकता है।
स्क्रीनशॉट
यह छवि दिखाती है कि चूँकि केवल उत्पाद 1, 3 और 5 चुने गए थे, इसलिए केवल वही 3 प्रदर्शित होते हैं (array_filter विशेषता का उपयोग करके)। इसके अलावा, दूसरे प्रश्न में पंक्ति लेबल या तो उत्पाद संख्याएँ होते हैं (यदि टिप्पणी फ़ील्ड में कुछ दर्ज नहीं किया गया है) या टिप्पणी फ़ील्ड की सामग्री।

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

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

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

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

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