टैब सेपरेटेड वैल्यू सर्वेक्षण की संरचना
From LimeSurvey Manual
सर्वेक्षण की संरचना का टैब सेपरेटेड वैल्यू इंपोर्ट और एक्सपोर्ट
यह सुविधा LibreOffice, Excel या Google Docs जैसे स्प्रेडशीट सॉफ़्टवेयर का उपयोग करके सर्वेक्षण बनाना और एडिट करना आसान बनाने के लिए डिज़ाइन की गई है। यह SGQA कोड पर निर्भरता को पूरी तरह से खत्म करता है।
यह सुविधा ASCII या UTF-8 एन्कोडेड टैब सेपरेटेड वैल्यू (TSV) फ़ाइलों से इंपोर्ट को सपोर्ट करती है, जिनका एक्सटेंशन .txt होता है।
शुरुआत करना
सबसे आसान तरीका यह है कि किसी मौजूदा सर्वेक्षण को टैब सेपरेटेड वैल्यू फ़ॉर्मैट में एक्सपोर्ट करें। सामान्य निर्यात सर्वेक्षण बटन का उपयोग करें और .lss फ़ॉर्मैट चुनने के बजाय "Tab Separated Values format (*.txt)" चुनें। यह सही फ़ॉर्मैट (टैब से अलग किए गए यूनिकोड वाली फ़ाइल) में, सभी सही कॉलम शीर्षकों के साथ, टैब सेपरेटेड वैल्यू फ़ाइल के रूप में सेव हो जाएगी।
टैब सेपरेटेड वैल्यू को सपोर्ट करने वाला कोई भी स्प्रेडशीट सॉफ़्टवेयर उपयुक्त है (जैसे OpenOffice या LibreOffice)। LimeSurvey स्प्रेडशीट के भीतर की किसी भी फ़ॉर्मैटिंग को अनदेखा करता है, लेकिन यदि इससे आपको सुविधा हो तो आप कुछ फ़ॉर्मैटिंग जोड़ सकते हैं।
प्रत्येक समूह, प्रश्न, उप-प्रश्न और उत्तर के लिए एक पंक्ति होगी। वैश्विक सर्वेक्षण वेरिएबल और भाषा-विशिष्ट सर्वेक्षण वेरिएबल के लिए भी पंक्तियाँ होती हैं। प्राथमिक भाषा सबसे पहले सूचीबद्ध होगी, उसके बाद कोई भी द्वितीयक भाषाएँ। इसलिए, यदि कई भाषाएँ हैं, तो बेस भाषा की पूरी सामग्री (जैसे सभी समूह, प्रश्न, उप-प्रश्न और उत्तर) पहले दिखाई देगी। इसके बाद प्रत्येक द्वितीयक भाषा के लिए अनूदित प्रति होगी (अनूदित सेट के लिए पंक्तियों की संख्या और क्रम बिल्कुल समान होगा)।
संबंध निकटता के आधार पर निर्धारित होते हैं। इसलिए, किसी समूह के बाद आने वाले प्रश्न उसी समूह का हिस्सा होते हैं; किसी प्रश्न के बाद आने वाले उप-प्रश्न उसी प्रश्न का हिस्सा होते हैं, और किसी प्रश्न के बाद आने वाले उत्तर उसी प्रश्न का हिस्सा होते हैं। इस प्रकार, आपको किसी भी प्रश्न की ID (gid, qid, sqid) जानने की आवश्यकता नहीं है। इन्हें इंपोर्ट के समय स्वचालित रूप से तैयार कर लिया जाएगा। वास्तव में, यह फ़ॉर्मैट gid, qid या sqid (या SGQA कोड) का बिल्कुल भी उपयोग नहीं करता।
सुझाव
टैब सेपरेटेड वैल्यू इंपोर्ट/एक्सपोर्ट का लक्ष्य आपको स्प्रेडशीट का उपयोग करके अपना सर्वेक्षण तेज़ी से डिज़ाइन करने देना है। हम उम्मीद करते हैं कि आप शीट को बार-बार इंपोर्ट करेंगे, "Show Survey Logic" सुविधा से उसकी वैधता जाँचेंगे और उसका परीक्षण करेंगे। हर बार इंपोर्ट करने पर आपको एक नया सर्वेक्षण मिलेगा। इसलिए, आपके पास कई अधूरे विकसित सर्वेक्षण हो सकते हैं, लेकिन यह ठीक है। बस यह ध्यान रखने की आदत डालें कि सबसे नया कौन-सा है, या नए सर्वेक्षण इंपोर्ट करने के बाद पुराने को डिलीट करें। चूँकि आप टैब सेपरेटेड वैल्यू में SGQA कोड का कभी उपयोग नहीं करते, इसलिए आपको इस बात की चिंता करने की आवश्यकता नहीं कि LimeSurvey प्राथमिक सर्वेक्षण, समूह, प्रश्न और उत्तर की कुंजियों के लिए कौन-से कोड असाइन करता है। इसलिए, जितनी बार चाहें इंपोर्ट और एक्सपोर्ट करें।
इंस्ट्रूमेंट बनाने के इस तरीके से आप ये सुविधाजनक काम कर सकते हैं:
- कई प्रश्नों के लिए समान उत्तर उपयोग करें. 'A' पंक्तियों को कॉपी करें और उन्हें हर उस प्रश्न के बाद पेस्ट करें जिसमें वही सेट होना चाहिए।
- कई प्रश्नों के लिए समान उप-प्रश्न उपयोग करें. 'SQ' पंक्तियों को कॉपी करें और उन्हें हर उस प्रश्न के बाद पेस्ट करें जिसे उनकी आवश्यकता है।
- "लूपिंग" - एक ही समूह को कई बार उपयोग करें. जब समूह आपकी इच्छा के अनुसार तैयार हो जाए, तो उसे जितनी बार आवश्यक हो कॉपी करें। केवल 'G' पंक्तियाँ (समूहों के लिए) देखने के लिए Excel फ़िल्टर का उपयोग करें, और प्रत्येक समूह के प्रासंगिकता समीकरण अपडेट करने के लिए Excel की कॉलम ड्रैग सुविधा का उपयोग करें (जैसे, जनगणना के लिए पहली प्रासंगिकता "numPeople > 1" हो सकती है, अगली "numPeople > 2" होनी चाहिए। ड्रैग सुविधा संख्या को अपने-आप अपडेट कर देगी)। 'Q' पंक्तियों से फ़िल्टर करें और सुनिश्चित करें कि प्रत्येक प्रश्न का मान अद्वितीय हो (जैसे, यदि आप अपने वेरिएबल का नाम g1_q1, g1_q2, g1_qN रखते हैं, तो दूसरे समूह के लिए g1 को g2 में बदलने हेतु खोजें/बदलें का उपयोग करें; तीसरे के लिए g3, आदि)।
- प्रश्नों/समूहों का क्रम बदलना. बस स्प्रेडशीट फ़ाइल की पंक्तियों का क्रम बदल दें।
- सर्वेक्षण मॉड्यूल का परीक्षण. लंबे सर्वेक्षणों के लिए, आप परीक्षण को मॉड्यूल में बाँटना चाह सकते हैं। प्रत्येक मॉड्यूल के लिए नई स्प्रेडशीट फ़ाइलें बनाएँ और जिन पंक्तियों की आवश्यकता नहीं है उन्हें डिलीट करें। इससे सर्वेक्षण के बाद के हिस्सों का परीक्षण करने के लिए बहुत सारा डेटा दर्ज करने की आवश्यकता नहीं पड़ती।
- अनिवार्य प्रश्नों का परीक्षण. आम शिकायत कई प्रश्नों को अनिवार्य बनाने की आवश्यकता की नहीं, बल्कि परीक्षण के लिए अनिवार्य सुविधा बंद करने की आवश्यकता की होती है। मास्टर स्प्रेडशीट में अनिवार्य को अंतिम वांछित मानों पर सेट करके बनाएँ। फिर, परीक्षण के लिए बस "mandatory" कॉलम डिलीट करें और स्प्रेडशीट का परीक्षण संस्करण सेव करें। जब आप वह संस्करण इंपोर्ट करेंगे, तो कोई भी प्रश्न अनिवार्य नहीं होगा। परीक्षण पूरा होने के बाद मास्टर प्रति इंपोर्ट करें।
- डिफ़ॉल्ट मान सेट करना. GUI का उपयोग करने के बजाय, आप default कॉलम में कोई भी वांछित डिफ़ॉल्ट दर्ज कर सकते हैं। यह उन मामलों में विशेष रूप से उपयोगी है जहाँ GUI आपको वांछित मान दर्ज नहीं करने देता, जैसे सूची आइटम का डिफ़ॉल्ट सेट करने के लिए एक्सप्रेशन (जैसे सर्वेक्षण के प्रतिभागी की विशेषता से सूची भरना)।
- अनुवाद. आप अपनी स्प्रेडशीट की प्रतियाँ बना सकते हैं - प्रति भाषा एक। प्राथमिक भाषा की सभी पंक्तियाँ शामिल करें, फिर उन्हें नीचे कॉपी और पेस्ट करें, और भाषा फ़ील्ड को लक्षित भाषा में बदलने के लिए ड्रैग का उपयोग करें। इन्हें आपके अनुवादकों को वितरित किया जा सकता है, और उनका काम पूरा होने पर एक ही स्प्रेडशीट फ़ाइल में दोबारा जोड़ा जा सकता है।
- उन्नत प्रश्न विशेषताओं की थोक सेटिंग. हो सकता है आप चाहें कि आपके सभी समीकरण शुरुआत में दिखाई दें (ताकि डेटा एकत्र करते समय आप उनके मान देख सकें), लेकिन प्रोडक्शन में जाने से पहले उन सभी को छिपा दें। बस स्प्रेडशीट को class = 'Q' और प्रश्न का प्रकार = '*' (समीकरण) पर फ़िल्टर करें, और उन सभी प्रश्नों के लिए always_hide को 1 पर सेट करें। इसी तरह, मान लें कि सर्वेक्षण बनाने के बाद आप तय करते हैं कि कौन-से प्रश्न सार्वजनिक आँकड़े में दिखाई देने चाहिए। प्रत्येक प्रश्न को GUI के माध्यम से एडिट करने के बजाय, class = 'Q' पर फ़िल्टर करें, और उन सभी प्रश्नों के लिए public_statistics = 1 सेट करें जो आँकड़ों में दिखाई देने चाहिए।
- खोजें और बदलें. मान लें आप तय करते हैं कि आपके सभी प्रश्नों में कुछ शब्दावली बदलनी है, तो आप वे बदलाव करने के लिए Excel की खोजें और बदलें सुविधा का उपयोग कर सकते हैं। इसी तरह, यदि आप अपने वेरिएबल का थोक में नाम बदलने का निर्णय लेते हैं, तो खोजें और बदलें मदद कर सकता है। यदि आपको नियमित अभिव्यक्ति पर आधारित खोजें और बदलें चाहिए, तो आप वांछित कॉलम चुनकर उसे टेक्स्ट एडिटर में कॉपी कर सकते हैं, खोजें और बदलें करें, और कॉलम को वापस स्प्रेडशीट में पेस्ट कर दें।
- अनुमोदन प्राप्त करना. यदि आप शोध कर रहे हैं, तो हो सकता है आपके यहाँ इंस्टीट्यूशनल रिव्यू बोर्ड हो जो प्रश्नों का टेक्स्ट देखने पर ज़ोर देता हो। इसे शेयर करने का यह एक सुविधाजनक तरीका हो सकता है। क्लाइंट के साथ चर्चा के लिए भी यही बात लागू होती है.
- टीम की सहमति. यदि आप किसी प्रश्न या समूह के शब्दों या स्वरूप पर किसी टीम की सहमति बनाना चाहते हैं, तो आप स्प्रेडशीट का तेज़ी से प्रोटोटाइप बना / एडिट कर सकते हैं, उसे इंपोर्ट कर सकते हैं, और (प्रश्न या समूह के पूर्वावलोकन के माध्यम से) टीम को दिखा सकते हैं कि उपयोगकर्ता ठीक क्या देखेंगे। इस तरह आप आवश्यकताओं का दस्तावेज़ बनाने, उन्हें तैयार करने और भविष्य की बैठकों में अनुमोदन लेने के बजाय टीम के कमरे से जाने से पहले ही अनुमोदन पा सकते हैं।
- अन्य सर्वेक्षण फ़ॉर्मैट से अपग्रेड करना. यदि आपका सर्वेक्षण XML, Word या किसी अन्य फ़ॉर्मैट में है, तो आप उन्हें इस फ़ॉर्मैट में मैप करने के लिए एक अनुवाद प्रक्रिया बना सकते हैं। हालाँकि आप .lss फ़ॉर्मैट में मैप करने का भी प्रयास कर सकते हैं, इस फ़ॉर्मैट का लाभ यह है कि इसमें आपको समूहों, प्रश्नों, उप-प्रश्नों, उत्तरों और डिफ़ॉल्ट मानों के बीच के फ़ॉरेन की संबंधों का ट्रैक नहीं रखना पड़ता।
सीमाएँ
- डिज़ाइन के अनुसार, यह सुविधा केवल उन सर्वेक्षणों के लिए सही ढंग से काम करती है जो qcode (SGQA के बजाय) नामकरण का उपयोग करते हैं। यह सुविधा मानती है कि वेरिएबल के नाम (प्रश्न पहचानकर्ता) पूरे सर्वेक्षण में अद्वितीय हैं। उप-प्रश्नों के नाम दोहराए जा सकते हैं, बशर्ते वे किसी विशेष प्रश्न के दायरे में अद्वितीय हों।
फ़ाइल फ़ॉर्मैट
सामान्य
हम एक ही कॉलम शीर्षकों के सेट का उपयोग कई उद्देश्यों के लिए करते हैं। पहले 14 कॉलम इकाई के प्रकार (जैसे समूह, प्रश्न, उत्तर) के आधार पर अलग-अलग उद्देश्यों की पूर्ति करते हैं। शेष कॉलम उन्नत प्रश्न कोड के डेटाबेस फ़ील्ड नामों की वर्णानुक्रम सूची हैं। नीचे प्रत्येक इकाई प्रकार के लिए सिंटैक्स दिया गया है
पहले 14 कॉलम ये हैं:
- id (New in 3.14.0 )
- related_id (New in 3.14.0 )
- class
- type/scale
- name
- relevance
- text
- help
- language
- validation
- mandatory
- other
- default
- same_default
वैश्विक सर्वेक्षण पैरामीटर
surveys टेबल में प्रत्येक पैरामीटर के लिए एक पंक्ति होती है।
- class => 'S'
- name => डेटाबेस फ़ील्ड का नाम
- text => मान
सर्वेक्षण के भाषा-विशिष्ट पैरामीटर
surveys_languagesettings टेबल में प्रत्येक भाषा के लिए प्रत्येक फ़ील्ड की एक पंक्ति होती है। किसी दी गई भाषा की सभी प्रविष्टियाँ उस टेबल में इन्सर्ट करने से पहले एकत्र की जाती हैं।
- class => 'SL'
- name => डेटाबेस फ़ील्ड का नाम
- text => मान
- language => भाषा
समूह
प्रत्येक सर्वेक्षण भाषा के लिए एक समूह पंक्ति (जैसे, यदि सर्वेक्षण में 3 भाषाएँ हैं तो 3 समूह पंक्तियाँ होंगी)।
- id => समूह के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है; वर्तमान समूह की अतिरिक्त भाषाओं के लिए वही ID उपयोग करें
- class => 'G'
- name => group_name -- समूह का अद्वितीय पहचानकर्ता
- relevance => grelevance -- समूह-स्तर का प्रासंगिकता समीकरण, कर्ली ब्रैकेट के बिना
- text => description -- समूह का भाषा-विशिष्ट विवरण
- language => language -- समूह की भाषा (जैसे, 'en')
प्रश्न
प्रत्येक सर्वेक्षण भाषा के लिए एक प्रश्न पंक्ति (जैसे, यदि सर्वेक्षण में 3 भाषाएँ हैं तो 3 प्रश्न पंक्तियाँ होंगी)। माना जाता है कि प्रश्न उस समूह के हैं जो उनसे पहले आता है।
- id => प्रश्न के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है; वर्तमान प्रश्न की अतिरिक्त भाषाओं के लिए वही ID उपयोग करें
- class => 'Q'
- type/scale => type -- (आमतौर पर एक अक्षर का) प्रश्न का प्रकार (जैसे, 'M' एकाधिक विकल्प है)
- name => title -- अद्वितीय प्रश्न नाम (qcode नामकरण प्रणाली का मूल)
- relevance => relevance -- प्रश्न के लिए प्रासंगिकता समीकरण
- text => question -- प्रश्न का भाषा-विशिष्ट टेक्स्ट
- help => help -- भाषा-विशिष्ट सहायता टेक्स्ट
- language => language -- समूह की भाषा (जैसे, 'en')
- validation => preg -- प्रश्न के लिए वैकल्पिक नियमित अभिव्यक्ति सत्यापन मानदंड
- mandatory => mandatory -- अनिवार्य होने पर 'Y'
- other => other -- 'Y' यदि "अन्य" विकल्प उपलब्ध होना चाहिए (केवल कुछ प्रश्न प्रकारों के लिए)
- default => default -- यदि सेट है, तो यह मान इस प्रश्न के लिए defaultvalues टेबल में इन्सर्ट किया जाता है
- same_default => same_default -- सत्य के लिए 'Y', जिस स्थिति में प्राथमिक भाषा के लिए सेट किया गया कोई भी defaultvalue अन्य भाषाओं पर भी लागू होता है
उप-प्रश्न
प्रत्येक सर्वेक्षण भाषा के लिए एक उप-प्रश्न पंक्ति। उप-प्रश्न उस प्रश्न से संबंधित माने जाते हैं जो उनसे पहले आता है।
- id => वही अद्वितीय संख्यात्मक पहचानकर्ता जो प्रश्नों के लिए उपयोग किया जाता है। उप-प्रश्नों को अगला उपलब्ध मान उपयोग करना चाहिए; प्रश्न और उप-प्रश्न के आईडी अलग-अलग होने चाहिए (उदाहरण के लिए प्रश्न के लिए ID 1 और प्रश्न 1 से संबंधित उप-प्रश्नों के लिए ID 2, 3 और 4 उपयोग करें, अगला प्रश्न ID 5 होना चाहिए, और इसी तरह)। वर्तमान उप-प्रश्नों से संबंधित अतिरिक्त भाषाओं के लिए वही उप-प्रश्न आईडी उपयोग करें।
- class => 'SQ'
- type/scale => scale_id -- 0 या 1, प्रश्न का प्रकार पर निर्भर करता है (उदाहरण के लिए सरणी टेक्स्ट में दो स्केल होंगे)
- name => title -- उप-प्रश्न का "नाम", उदाहरण के लिए वह जो exclude_all_others के लिए उपयोग किया जाता है
- relevance => relevance -- (भविष्य) उप-प्रश्न स्तर की प्रासंगिकता का समर्थन करने के लिए
- text => question -- उप-प्रश्न का भाषा-विशिष्ट टेक्स्ट
- help => help -- (भविष्य) उप-प्रश्न स्तर की सहायता का समर्थन करने के लिए
- language => language -- उप-प्रश्न की भाषा
- validation => preg -- (भविष्य) उप-प्रश्न स्तर के नियमित अभिव्यक्ति सत्यापन का समर्थन करने के लिए (उदाहरण के लिए पते के भाग)
- mandatory => mandatory -- (भविष्य) उप-प्रश्न स्तर की अनिवार्यता का समर्थन करने के लिए (उदाहरण के लिए केवल कुछ उप-प्रश्नों को अनिवार्य बनाना)
- default => default -- यदि सेट है, तो यह उप-प्रश्न का डिफ़ॉल्ट मान है (defaultvalues तालिका में जोड़ा जाता है)
- same_default => same_default -- यदि सेट है, तो प्राथमिक भाषा का डिफ़ॉल्ट मान अन्य सभी भाषाओं के लिए उपयोग किया जाता है
उत्तर
प्रत्येक सर्वेक्षण भाषा के लिए एक उत्तर पंक्ति (उदाहरण के लिए, यदि सर्वेक्षण में 3 भाषाएँ हैं तो 3 उत्तर पंक्तियाँ होंगी)। उत्तर उस प्रश्न से संबंधित माने जाते हैं जो उनसे पहले आता है, और वे इच्छित क्रम में होने चाहिए।
- id => वही आईडी उपयोग करें जो उस प्रश्न की है जिससे यह संबंधित है
- class => 'A'
- type/scale => scale_id -- 0 या 1 (उदाहरण के लिए दोहरे स्केल के लिए)
- name => code -- अद्वितीय उत्तर पहचानकर्ता
- relevance => assessment_value -- यदि मूल्यांकन विकल्प उपयोग कर रहे हैं, तो यह उत्तर का मूल्यांकन मूल्य है
- text => answer -- उत्तर का भाषा-विशिष्ट टेक्स्ट
- language => language -- इस उत्तर की भाषा (उदाहरण के लिए 'en')
मूल्यांकन
प्रत्येक सर्वेक्षण भाषा के लिए एक मूल्यांकन पंक्ति (उदाहरण के लिए, यदि सर्वेक्षण में 3 भाषाएँ हैं तो 3 मूल्यांकन पंक्तियाँ होंगी)। मूल्यांकन फ़ाइल के अंत में लिखे जाते हैं।
- id => मूल्यांकन के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है; वर्तमान मूल्यांकन से संबंधित अतिरिक्त भाषाओं के लिए वही आईडी उपयोग करें
- related_id => उस समूह की आईडी जिससे वर्तमान मूल्यांकन संबंधित है
- class => 'AS'
- type/scale => मूल्यांकन का दायरा: T-कुल, G-समूह
- name => नाम
- text => संदेश
- min_num_value => न्यूनतम
- max_num_value => अधिकतम
- language => language -- इस उत्तर की भाषा (उदाहरण के लिए 'en')
कोटा
प्रत्येक कोटा के लिए एक पंक्ति। कोटा फ़ाइल के अंत में लिखे जाते हैं।
- id => कोटा के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है
- class => 'QTA'
- name => कोटा नाम
- mandatory => सीमा
- other => कोटा कार्रवाई
- default => सक्रिय
- same_default => Autoload यूआरएल
कोटा भाषा सेटिंग
प्रत्येक सर्वेक्षण भाषा के लिए एक कोटा पंक्ति। कोटा भाषा सेटिंग उस कोटा से संबंधित मानी जाती हैं जो उनसे पहले आता है।
- id => कोटा भाषा सेटिंग के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है। विभिन्न सर्वेक्षण भाषाओं की प्रत्येक पंक्ति का आईडी अलग होना चाहिए
- related_id => उस कोटा का कोटा आईडी जिससे यह सेटिंग संबंधित है
- class => 'QTALS'
- relevance => संदेश
- text => यूआरएल
- help => यूआरएल विवरण
- language => language -- इस कोटा की भाषा (उदाहरण के लिए 'en')
कोटा सदस्य
प्रत्येक कोटा सदस्य के लिए एक पंक्ति, भाषा पर निर्भर नहीं। कोटा सदस्य पंक्ति को उस प्रश्न के तुरंत बाद रखा जाना चाहिए जिससे वह संबंधित है। कोटा सदस्य उस प्रश्न से संबंधित माने जाते हैं जो उनसे पहले आता है।
- id => कोटा सदस्यों के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है
- related_id => उस कोटा का कोटा आईडी जिससे यह सदस्य संबंधित है
- class => 'QTAM'
- name => उत्तर कोड
शर्तें
प्रत्येक शर्त के लिए एक पंक्ति, भाषा पर निर्भर नहीं। शर्त पंक्ति को उस प्रश्न के तुरंत बाद रखा जाना चाहिए जिससे वह संबंधित है। शर्तें उस प्रश्न से संबंधित मानी जाती हैं जो उनसे पहले आता है।
- id => शर्त के लिए अद्वितीय संख्यात्मक पहचानकर्ता, जो संख्या 1 से शुरू होता है।
- related_id => संबंधित प्रश्न का प्रश्न आईडी, यदि लागू हो
- class => 'C'
- type/scale => परिदृश्य
- name => उत्तर फ़ील्ड का नाम
- relevance => तुलना ऑपरेटर
- text => अपेक्षित उत्तर