ExpressionScript के उदाहरण
From LimeSurvey Manual
संरचना
लेख का पहला भाग बताएगा कि एक्सप्रेशन का उपयोग किसलिए किया जा सकता है और एक्सप्रेशन कहाँ खोजें/जोड़ें। दूसरे भाग में एक्सप्रेशन का उपयोग करने के उदाहरण दिए गए हैं।
एक्सप्रेशन की श्रेणियाँ
LimeSurvey में एक्सप्रेशन का उपयोग निम्नलिखित उद्देश्यों के लिए किया जाता है:
प्रासंगिकता
उद्देश्य: प्रश्न समूह/प्रश्न छिपाना
प्रासंगिकता यह नियंत्रित करती है कि कोई प्रश्न समूह या प्रश्न दिखाया जाए या छिपाया जाए। यदि एक्सप्रेशन का परिणाम "true" (यानी 1) है, तो तत्व दिखाया जाएगा। अन्यथा (यदि एक्सप्रेशन का परिणाम "false" (यानी 0) है), तो तत्व छिपा दिया जाएगा।
सत्यापन
उद्देश्य: प्रश्नों/उप-प्रश्नों/उत्तरों पर इनपुट/क्रियाओं का सत्यापन करना
सत्यापन यह नियंत्रित करता है कि किसी प्रश्न या क्रिया में उत्तरदाता का इनपुट मान्य है या नहीं। यदि एक्सप्रेशन का परिणाम "true" (यानी 1) है, तो तत्व और सत्यापन संदेश पर "good" क्लास लागू होगी। अन्यथा, यदि एक्सप्रेशन का परिणाम "false" (यानी 0) है, तो तत्व और सत्यापन संदेश पर "error" क्लास लागू होगी। आप इन क्लास की शैली template.css में घोषित कर सकते हैं।
टेक्स्ट आउटपुट
उद्देश्य: (कुछ करना) और कुछ टेक्स्ट लिखना
एक्सप्रेशन का उपयोग कुछ टेक्स्ट लिखने के लिए किया जा सकता है। उदाहरण के लिए, आप कुछ जाँच या गणना कर सकते हैं और जाँच या गणना के परिणाम के आधार पर आउटपुट तय कर सकते हैं। इसका उपयोग एक्सप्रेशन से पहले उपयोग किए गए किसी प्रश्न का प्रश्न टेक्स्ट, उत्तर, प्रश्न के प्रकार, ... डालने के लिए भी किया जा सकता है। टेक्स्ट आउटपुट का उपयोग उन सभी जगहों पर किया जा सकता है जहाँ टेक्स्ट दिखाया जाता है, और यह हर तरह के परिणाम लौटा सकता है।
| उपयोग का मामला | विवरण |
|---|---|
| Micro tailoring | टेक्स्ट को समायोजित करें, जैसे पहले पूछे गए लिंग संबंधी प्रश्न के आधार पर "Mr" या "Mrs" लिखना |
| गणना | कोई मान गणना करके लिखें, जैसे "आपकी पारिवारिक आय xxx है" |
| संदर्भ | किसी तत्व से टेक्स्ट डालें, जैसे "आपका नाम xxx है। आपकी उम्र क्या है?" |
उत्तर संग्रहीत करना
उद्देश्य: (कुछ करना,) (कुछ टेक्स्ट लिखना) और डेटाबेस में कुछ संग्रहीत करना
समीकरण प्रश्न का प्रकार डेटाबेस में कुछ संग्रहीत करने के लिए उपयोग किया जा सकता है। आप एक्सप्रेशन से कुछ कर सकते हैं, समीकरण प्रश्न दिखा सकते हैं (जो पाठ प्रदर्शन के समान है) और एक्सप्रेशन का परिणाम डेटाबेस में संग्रहीत कर सकते हैं। यह उत्तर को responses टेबल में संग्रहीत करता है। फिर परिणाम का उपयोग आँकड़े सुविधा में किया जा सकता है, या इसे LimeSurvey की एक्सपोर्ट सुविधा द्वारा दिए गए किसी एक फ़ॉर्मेट में भी आयात किया जा सकता है।
एक्सप्रेशन के उदाहरण
पिछले प्रश्न का उत्तर डालना
उत्तर अपने-आप भरने के लिए छिपे हुए समीकरण प्रश्न का उपयोग
समस्या: मान लीजिए आपके पास दो प्रश्न Q1 और Q2 हैं। Q1 उत्तरदाताओं से उनकी उम्र पूछता है। Q2 उत्तरदाताओं को तीन समूहों में बाँटता है: उम्र 20 वर्ष से कम, उम्र 20 वर्ष, उम्र 20 वर्ष से अधिक। इसलिए, Q2 को "1", "2", "3" मानों का उपयोग करना चाहिए, जो उपरोक्त शर्तों के अनुरूप हैं। साथ ही, हमें Q2 को अदृश्य बनाना नहीं भूलना चाहिए (प्रश्न सर्वेक्षण में प्रदर्शित नहीं होगा, लेकिन मान "बैकग्राउंड प्रक्रिया" के माध्यम से responses टेबल में दर्ज होंगे)।
समीकरण प्रश्न के प्रकार का उपयोग करके डेटाबेस भरने के लिए:
- सबसे पहले, कोड Q1 वाला एक प्रश्न संख्यात्मक इनपुट प्रश्न के रूप में बनाएँ।
- फिर कोड Q2 वाला एक और प्रश्न समीकरण प्रश्न के रूप में बनाएँ।
- Q2 के "Display settings" टैब अनुभाग में:
- "हमेशा इस प्रश्न को छिपाने" फ़ील्ड को "पर" पर सेट करें
- "समीकरण" फ़ील्ड में यह एक्सप्रेशन लिखें:
{if(Q1.NAOK < 20, "1", if(Q1.NAOK > 20, "3", "2"))}
प्लेसहोल्डर का उपयोग करके सारांश पेज बनाएँ
यह ट्यूटोरियल दिखाता है कि आप ExpressionScript प्लेसहोल्डर के माध्यम से सर्वेक्षण के अंत में सभी प्रश्नों और उत्तरों की सूची वाला अवलोकन कैसे बना सकते हैं। यह भी दिखाता है कि ऐसे अवलोकन को केवल उत्तर दिए गए प्रश्नों तक कैसे सीमित किया जाए।
हमारा उदाहरण यहाँ से डाउनलोड किया जा सकता है: सर्वेक्षण प्लेसहोल्डर सर्वेक्षण उदाहरण।
यहाँ उपयोग किए गए प्रश्न प्रकार:
1. एक विकल्प प्रश्न / एकल टेक्स्ट/संख्यात्मक प्रश्न
- सूची (ड्रापडाउन)
- सूची (रेडियो) [L]
- हां/नहीं [Y]
- लंबे मुफ़्त टेक्स्ट [T]
- Teks bebas singkat [S]
- Input numerik [N]
- समीकरण [*]
2. उप-प्रश्नों वाले प्रश्न
- एक से ज़्यादा छोटे टेक्स्ट [Q]
- एकाधिक विकल्प [M]
- सरणी [F]
- सरणी (हां / नहीं अनिश्चित /) [C]
- Larik (pilihan 10 poin) [B]
3. 2 स्केल वाले प्रश्न
- सरणी दोहरी स्केल [1]
4. X और Y स्केल वाले प्रश्न
- सरणी (संख्या) [:]
5. मुखौटा सवाल
- पाठ प्रदर्शन [X]
इस सरल उदाहरण में, हमारा अवलोकन एक साधारण सूची होगा, जिसमें यह होगा:
- प्रश्न टेक्स्ट: उपयोगकर्ता का उत्तर
एक विकल्प प्रश्न / एकल टेक्स्ट/संख्यात्मक प्रश्न
इन सभी प्रश्न प्रकारों के लिए, LimeSurvey एक ही प्रतिक्रिया संग्रहीत करेगा:
- सूची (ड्रापडाउन)
- सूची (रेडियो)
- टिप्पणी के साथ सूची
- 5 बिंदु वाले विकल्प
- हां/नहीं
- Teks bebas singkat
- लंबे मुफ़्त टेक्स्ट
- Teks bebas besar
- Input numerik
- समीकरण
- तिथि
- लिंग
मान लें कि प्रश्न का प्रश्न कोड q1 है, तो हम प्रश्न टेक्स्ट और उत्तर को इस प्रकार संदर्भित कर सकते हैं:
- {q1.question}: {q1.shown}
उदाहरण:
- आपकी उम्र क्या है?: 25
यदि आप जाँचना चाहते हैं कि उस प्रश्न का उत्तर दिया गया था या नहीं, तो आप अपने आउटपुट के चारों ओर IF स्टेटमेंट लगा सकते हैं:
{if(!is_empty(q1),join("- ",q1.question,": ",q1.shown),"")}
इसका "अनुवाद" यह है: यदि कोड q1 वाला प्रश्न खाली नहीं है, तो "- " और प्रश्न टेक्स्ट और ": " और उत्तर टेक्स्ट आउटपुट करें (join() फ़ंक्शन तत्वों को एक नई स्ट्रिंग के रूप में जोड़ता है); अन्यथा: कुछ भी आउटपुट न करें ("" का अर्थ खाली स्ट्रिंग है)।
उप-प्रश्नों वाले प्रश्न
इन सभी प्रश्न प्रकारों के लिए LimeSurvey उप-प्रश्नों का उपयोग करता है:
- एक से ज़्यादा छोटे टेक्स्ट
- एकाधिक विकल्प
- टिप्पणी के साथ एकाधिक विकल्प
- सरणी
- Larik (pilihan 5 poin)
- Larik (pilihan 10 poin)
- सरणी (हां / नहीं अनिश्चित /)
- सरणी (बढ़ाएँ / वही घटाएँ /)
- स्तंभ के आधार पर एरे
मान लें कि प्रश्न का प्रश्न कोड q2 है और उप-प्रश्नों की संख्या SQ001, SQ002 है (स्वचालित क्रमांकन LimeSurvey द्वारा किया जाता है), तो हम प्रश्न टेक्स्ट और उत्तर को इस प्रकार संदर्भित कर सकते हैं:
- {q2_SQ001.question}: {q2_SQ001.shown}
- {q2_SQ002.question}: {q2_SQ002.shown}
एकाधिक विकल्प वाले प्रश्नों के लिए, चुने गए उप-प्रश्न का टेक्स्ट दिखाने के बजाय हर चयनित विकल्प के लिए Y दिखाना उचित है:
- {q2_SQ001.question}: {q2_SQ001}
- {q2_SQ002.question}: {q2_SQ002}
...
ध्यान दें कि फ़िलहाल उप-प्रश्नों वाले प्रश्नों का प्रश्न टेक्स्ट आउटपुट करना संभव नहीं है, देखें यह फ़ीचर अनुरोध।
उदाहरण 1 (मान लें कि प्रश्न का प्रकार एकाधिक विकल्प है)
- क्या आप इन कार ब्रांड्स को जानते हैं?
-- Mercedes: Y
-- Audi: N
-- Volvo: Y
यदि आप केवल चयनित आइटम आउटपुट करना चाहते हैं, तो आप अपने आउटपुट के चारों ओर IF स्टेटमेंट लगा सकते हैं और चेकबॉक्स का मान जाँच सकते हैं:
{ if( q2_SQ001=="Y", join( "- ", q2_SQ001.question, ": ", q2_SQ001.shown ), "" ) }
यदि आप केवल चयनित आइटम की सूची आउटपुट करना चाहते हैं, तो listifop फ़ंक्शन का उपयोग करें, उदाहरण: Mercedes, Volvo
{ listifop( 'value', '==', 'Y', 'question', ', ', that.q2.sgqa ) }
यहाँ that.q2 का विस्तार q2 के सभी उप-प्रश्नों तक होता है। अधिक जानकारी के लिए self, this और that देखें।
उदाहरण 2 (मान लें कि प्रश्न का प्रकार सरणी (10 बिंदु विकल्प) है)
- कृपया नीचे दिए गए कार ब्रांड्स की गुणवत्ता को 1=बहुत खराब से 10=बहुत अच्छा के स्केल पर रेट करें।
-- Mercedes: 7
-- Audi: 9
-- Volvo: 9
यदि आप केवल रेट किए गए आइटम आउटपुट करना चाहते हैं, तो आप अपने आउटपुट के चारों ओर IF स्टेटमेंट लगा सकते हैं और निम्न का उपयोग करके जाँच सकते हैं कि वर्तमान उप-प्रश्न का उत्तर दिया गया है या नहीं:
{ if( ! is_empty( q3_SQ001 ), join( "- ", q3_SQ001.question, ": ", q3_SQ001.shown ), "" ) }
यदि आप, उदाहरण के लिए, केवल आठ से अधिक वाले चयनित आइटम की सूची आउटपुट करना चाहते हैं, तो listifop फ़ंक्शन का उपयोग करें, उदाहरण: Audi / Volvo
{ listifop( 'value', '>', 8, 'question', ' / ', that.q3.sgqa ) }
दो स्केल वाला प्रश्न
मान लें कि निम्नलिखित कोड उपयोग किए जा रहे हैं:
- प्रश्न कोड: q4
- उप-प्रश्न कोड: SQ001, SQ002, ...
- उत्तर कोड, स्केल 1: A1, A2, ...
- उत्तर कोड, स्केल 2: B1, B2, ...
तीसरे उप-प्रश्न और दूसरे स्केल के उत्तर का संदर्भ देने का उदाहरण: q4_SQ003_1 - प्रश्न 4, उप-प्रश्न 3, दूसरा स्केल।
आइए दोनों स्केल और पहले दो उप-प्रश्नों के परिणाम आउटपुट करें:
- {q4_SQ001_0.question}: {q4_SQ001_0.shown} / {q4_SQ001_1.shown}
- {q4_SQ002_0.question}: {q4_SQ002_0.shown} / {q4_SQ002_1.shown}
उप-प्रश्न का टेक्स्ट आउटपुट करने के लिए, आपको प्लेसहोल्डर में स्केल ID जोड़नी होगी (हालाँकि दोनों स्केल के लिए टेक्स्ट समान होते हैं)। इसलिए {q4_SQ001.question} के बजाय हमें {q4_SQ001_0.question} या {q4_SQ001_1.question} का उपयोग करना होगा।
यदि आप केवल उन उप-प्रश्नों के परिणाम एक्सपोर्ट/प्रदर्शित करना चाहते हैं जिनका कम से कम एक उत्तर है, तो प्रत्येक उप-प्रश्न के लिए इस सिंटैक्स का उपयोग करें:
{if(count(q4_SQ001_0,q4_SQ001_1)>0,join("- ",q4_SQ001_0.question,": ",q4_SQ001_0.shown," / ",q4_SQ001_1.shown),"")}
X और Y स्केल वाला प्रश्न
यह उन सभी मैट्रिक्स प्रश्नों पर लागू होता है जिनमें हर सेल के लिए उत्तर दिया जा सकता है (पहले दिखाए गए अनुसार केवल हर पंक्ति के लिए नहीं):
- सरणी (टेक्स्ट)
- सरणी (संख्या)
उपयोग किए गए माने गए कोड:
- प्रश्न कोड: q5
- उप-प्रश्न कोड: SQ001, SQ002, ...
- उत्तर कोड: A1, A2, ...
किसी विशेष कॉलम के किसी निश्चित उप-प्रश्न के परिणाम का संदर्भ देने के लिए आपको QuestionCode . '_' . SubQuestionCode . '_' . AnswerCode का उपयोग करना होगा। तीसरे उप-प्रश्न और दूसरे कॉलम के उत्तर का संदर्भ देने का उदाहरण: q5_SQ003_A2।
आइए पहले दो उप-प्रश्नों के कॉलम 1-3 के परिणाम आउटपुट करें:
- {q5_SQ001_A1.question}: {q5_SQ001_A1.shown} | {q5_SQ001_A2.shown} | {q5_SQ001_A3.shown}
- {q5_SQ002_A1.question}: {q5_SQ002_A1.shown} | {q5_SQ002_A2.shown} | {q5_SQ002_A3.shown}
चूँकि इन प्रश्न प्रकारों में प्रत्येक सेल (X अक्ष और Y अक्ष का संयोजन) एक उत्तर विकल्प के बराबर होता है, इसलिए हर सेल के लिए मौजूदा डेटा की जाँच करनी होगी। उदाहरण:
{if(!is_empty(q5_SQ001_A1),join("- ",q5_SQ001_A1.question,": ",q5_SQ001_A1.shown),"")}
यदि पिछले प्रश्न का उत्तर खाली हो तो प्रश्न छिपाएँ
| उद्देश्य | यदि पिछले प्रश्न का उत्तर खाली हो तो प्रश्न छिपाएँ |
| प्रकार | प्रश्न प्रासंगिकता |
| उदाहरण | पहला प्रश्न: प्रश्न कोड "name", प्रश्न टेक्स्ट "आपका नाम क्या है?" दूसरा प्रश्न: प्रश्न टेक्स्ट "{name}, आपकी उम्र कितनी है?" करना है: यदि पहले प्रश्न का टेक्स्ट फ़ील्ड खाली हो तो दूसरा प्रश्न छिपाएँ |
| एक्सप्रेशन | !is_empty(name) |
| विवरण | is_empty() यह तय करता है कि कोई वेरिएबल खाली माना जाता है या नहीं। "!" परिणाम को उलट देता है। इसलिए यदि वेरिएबल खाली नहीं है तो एक्सप्रेशन सत्य होगा और प्रश्न दिखाया जाएगा |
| चरण | दूसरा प्रश्न बनाएँ/एडिट करें "प्रासंगिकता समीकरण:" में "!is_empty(name)" डालें |
| नमूना फ़ाइल | Hide_question_if_empty_question_group.zip |
![]()
| |
यदि पिछले प्रश्न का उत्तर हाँ या नहीं हो तो प्रश्न समूह छिपाएँ
| उद्देश्य | यदि पिछले प्रश्न का उत्तर हाँ या नहीं हो तो प्रश्न समूह छिपाएँ |
| प्रकार | प्रश्न समूह प्रासंगिकता |
| उदाहरण | पृष्ठ एक, प्रश्न समूह एक, प्रश्न एक: प्रश्न कोड "PET", प्रश्न टेक्स्ट "क्या आपके पास कोई पालतू जानवर है?" -हाँ -नहीं पृष्ठ दो, प्रश्न समूह दो: शीर्षक "आपके पालतू जानवरों के बारे में" करना है: यदि पहले प्रश्न का उत्तर हाँ/नहीं हो तो दूसरा प्रश्न समूह दिखाएँ/छिपाएँ |
| एक्सप्रेशन | PET == "Y" |
| विवरण | PET उस प्रश्न का प्रश्न कोड है जिसका उत्तर आप जाँचना चाहते हैं। यदि आप प्रत्यय का उपयोग नहीं करते हैं तो EM "Qcode.code" का उपयोग करेगा। इसलिए आप PET प्रश्न के उत्तर कोड की तुलना मान "Y" से करते हैं। यदि प्रतिभागी "हाँ" उत्तर देता है तो एक्सप्रेशन सत्य होगा और प्रश्न समूह "आपके पालतू जानवरों के बारे में" दिखाया जाएगा। |
| चरण | दूसरा प्रश्न समूह बनाएँ/एडिट करें "प्रासंगिकता समीकरण:" में "PET == "Y"" डालें |
| नमूना फ़ाइल | Hide_question group_if_answer_from_previous_question_is_Yes_or_No.zip |
![]()
| |
बहु-उत्तर इनपुट प्रश्न फ़ील्ड का मान प्रदर्शित करें
| उद्देश्य | बहु-उत्तर इनपुट प्रश्न फ़ील्ड का मान प्रदर्शित करें |
| प्रकार | संदर्भ |
| उदाहरण | पहला प्रश्न: प्रश्न कोड "AskChildAge", प्रश्न टेक्स्ट "आपके बच्चों की उम्र कितनी है?"। उप-प्रश्न कोड -Child1 -Child2 -Child3 - ChildXXX दूसरा प्रश्न: प्रश्न कोड "ReportChildAge" प्रश्न टेक्स्ट "आपके पहले बच्चे के बारे में: - CHILD1 की उम्र AGE1 है।" |
| एक्सप्रेशन | {AskChildAge_Child1.question}, {AskChildAge_Child1.value} |
| विवरण | आप किसी उप-प्रश्न के मान को अगले प्रश्न में उपयोग करना चाहते हैं। आप इस प्रकार के एक्सप्रेशन से उप-प्रश्न के मान तक पहुँच सकते हैं: QcodeQuestion_QcodeSubquestion.value |
| चरण | दूसरा प्रश्न बनाएँ/एडिट करें विवरण में यह टेक्स्ट डालें: "आपके पहले बच्चे के बारे में: - {AskChildAge_Child1.question} की उम्र {AskChildAge_Child1.value} है।" |
| नमूना फ़ाइल | Display_value_of_a_multiple_answer_input_question_field.zip |
| |
"सरणी (संख्या) चेकबॉक्स" प्रश्न में प्रति पंक्ति चुने गए बॉक्स की संख्या सत्यापित करें
| उद्देश्य | प्रति पंक्ति चुने गए बॉक्स की संख्या सत्यापित करें |
| प्रकार | सत्यापन |
| उदाहरण | "सरणी (संख्या) (चेकबॉक्स लेआउट)" प्रकार का प्रश्न |
| एक्सप्रेशन | sum(...) |
| विवरण | (sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= X) यह तय करता है कि पंक्ति A में कम से कम X चेकबॉक्स चुने गए हैं या नहीं। यदि आप तीनों पंक्तियों (A, B, C) की जाँच करना चाहते हैं, तो आप "&&" का उपयोग करके एक्सप्रेशन को जोड़ सकते हैं: (sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= X) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= X) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= X) |
| चरण | "सरणी (संख्या) (चेकबॉक्स लेआउट)" प्रकार का प्रश्न बनाएँ/एडिट करें। उपरोक्त एक्सप्रेशन को उन्नत प्रश्न सेटिंग्स में "प्रश्न सत्यापन समीकरण" में डालें (हो सकता है आपको वेरिएबल के नाम बदलने पड़ें!)। |
| नमूना फ़ाइल | Validate number of boxes ticker per row for an Array (Numbers) Checkbox.lss |
![]()
| |
दो तारीखों के बीच का अंतर निकालें
| उद्देश्य | दो तारीखों के बीच का अंतर निकालें |
| प्रकार | प्रासंगिकता / समीकरण प्रश्न का प्रकार / सत्यापन |
| उदाहरण | पहला प्रश्न (तारीख/समय, कोड: DOB): आपकी जन्मतिथि क्या है? दूसरा प्रश्न (तारीख/समय, कोड: datetoday): आज की तारीख क्या है? तीसरा प्रश्न (boilerplate): आप XXXX दिन के हैं। करना है: प्रश्न 1 में दी गई तारीख और प्रश्न 2 के बीच दिनों की संख्या निकालकर प्रदर्शित करें। |
| एक्सप्रेशन | {(strtotime(datetoday)-strtotime(DOB))/60/60/24} |
| विवरण | strtotime 1 जनवरी 1970 और दी गई तारीख के बीच सेकंड की संख्या निकालता है। उपरोक्त एक्सप्रेशन दो दी गई तारीखों के बीच सेकंड की संख्या निकालता है। "/60/60/24" सेकंड की संख्या से दिनों की संख्या निकालता है। "datetoday" पूछने के बजाय आप strtotime('now') या सीधे time() का भी उपयोग कर सकते हैं, जो जनवरी 1970 से अब तक (यानी सर्वेक्षण भरे जाने के समय तक) के सेकंड सीधे लौटाता है। इस तरह आप समीकरण {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25} से किसी व्यक्ति की उम्र वर्षों में जल्दी निकाल सकते हैं। इन सभी मामलों में तारीख का सही प्रारूप में दर्ज होना ज़रूरी है, अन्यथा strtotime() फ़ंक्शन सही से काम नहीं करेगा। |
| चरण | दो तारीख वाले प्रश्न (जन्मतिथि और आज की तारीख के लिए) और एक boilerplate प्रश्न बनाएँ। boilerplate प्रश्न के प्रश्न टेक्स्ट में यह डालें: "{datetoday} को आप {(strtotime(today)-strtotime(dob))/60/60/24} दिन के थे।" कृपया ध्यान दें: strtotime फ़ंक्शन बहुत से, लेकिन सभी नहीं, तारीख प्रारूपों के साथ काम कर सकता है। यदि समस्या आए तो अपने सर्वेक्षण का तिथि प्रारूप mm/dd/yyyy या yyyy-mm-dd या dd.mm.yyyy सेट करें" |
| नमूना फ़ाइल | Date_difference.zip |
| |
आकलन (Assessments) के लिए ExpressionScript का उपयोग
यहाँ सरणी प्रकार के प्रश्नों और आकलन के साथ ExpressionScript का उपयोग करने का एक और उदाहरण है:</ br>
मान लीजिए आपके पास 2 सरणी प्रश्न हैं और आप गणना के परिणाम का डेटा अपने डेटाबेस में सेव करना चाहते हैं। यह वास्तव में आसान है: आपको अपनी सरणियाँ बनानी और टेस्ट करनी होंगी, और यह देखने के लिए एक डमी प्रतिक्रिया सबमिट करनी होगी कि यह काम करता है और पूरा पेज पर आपको परिणाम देता है।
कार्यान्वयन का विवरण:
- समीकरण प्रकार का एक प्रश्न जोड़ें
- यह मानते हुए कि Q1 आपके सरणी प्रश्न का प्रश्न कोड है और Q2 दूसरा, निम्न पंक्ति जोड़ें:
{sum(Q1_SQ001.value,Q2_SQ001.value)}
ध्यान दें कि SQ001 किसी भी उप-प्रश्न का डिफ़ॉल्ट कोड है। यदि आप उप-प्रश्न कोड बदलते हैं, तो उपरोक्त समीकरण को उसी के अनुसार समायोजित करें।
सरणी में em_validation_q का उपयोग
आप किसी भी शर्त के साथ सरणी को नियंत्रित करने के लिए प्रश्न सत्यापन समीकरण का उपयोग कर सकते हैं।
कार्यान्वयन का विवरण:
- पहली सरणी के लिए : एकल विकल्प की सरणी
- प्रश्न कोड ARRAY है
- उप-प्रश्न कोड SQ01, SQ02, SQ03 और SQ04 हैं
- पूरा प्रश्न सत्यापन समीकरण अपडेट करें और यह डालें
!is_empty(ARRAY_SQ01) and !is_empty(ARRAY_SQ03)
- दूसरी सरणी के लिए : टेक्स्ट की सरणी
- प्रश्न कोड ARRAYTEXT है
- Y अक्ष पर उप-प्रश्न कोड SY01, SY02, SY03 और SY04 हैं
- पूरा प्रश्न सत्यापन समीकरण अपडेट करें और यह डालें
count(self.sq_SY01 >= 1) and count(self.sq_SY03 >= 3)








