x

Основни глави

  1. LimeSurvey Cloud срещу LimeSurvey CE
  2. LimeSurvey Cloud - Кратко ръководство за стартиране
  3. LimeSurvey CE - Монтаж
  4. Как да проектираме добро проучване (Ръководство)
  5. Приготвяме се да започнем
  6. Конфигурация на LimeSurvey
  7. Въведение - Анкети
  8. Вижте настройките на проучването
  9. Вижте менюто за проучване
  10. Вижте структурата на проучването
  11. Въведение - Въпроси
  12. Въведение - Групи въпроси
  13. Въведение – Проучвания – Управление
  14. Опции на лентата с инструменти за проучване
  15. Многоезично проучване
  16. Кратко ръководство за стартиране - ExpressionScript
  17. Разширени функции
  18. Общи ЧЗВ
  19. Отстраняване на неизправности
  20. Заобиколни решения
  21. Разрешително
  22. Дневник на промените на версията
  23. Плъгини - Разширени
 Actions

Tab Separated Value survey structure/bg: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Структура на анкетата с разделени стойности"
 
Maren.fritz (talk | contribs)
Created page with "Един ред за условие, без зависимост от езика. Редът с условия трябва да бъде поставен непосредст..."
 
(40 intermediate revisions by the same user not shown)
Line 3: Line 3:




=Tab Separated Value Import and Export of Survey Structure=
=Импортиране и експортиране на стойности, разделени с раздели на структурата на проучването=




This feature is designed to make it easy to use a spreadsheet software like LibreOffice, Excel or Google Docs to author and edit surveys. It completely eliminates the dependence upon SGQA codes.
Тази функция е предназначена да улесни използването на софтуер за електронни таблици като LibreOffice, Excel или Google Docs за създаване и редактиране на анкети. Той напълно елиминира зависимостта от SGQA кодовете.


This feature supports import from ASCII or UTF-8 encoded Tab Separated Value (TSV) files which have an extension of .txt.
Тази функция поддържа импортиране от ASCII или UTF-8 кодирани файлове със стойности, разделени с разделители (TSV), които имат разширение .txt.




{{Note|Check out the following [https://account.limesurvey.org/about-limesurvey/surveyhelp/2125-creating-limesurvey-questionnaires-in-excel example] to get a better understanding of this functionality.}}
{{Забележка|Разгледайте следния [https://account.limesurvey.org/about-limesurvey/surveyhelp/2125-creating-limesurvey-questionnaires-in-excel пример], за да разберете по-добре тази функционалност.}}




=Getting Started=
=Първи стъпки=




The easiest way is to take an existing survey and export it in Tab Separated Value format. Use the normal export survey button, and instead of selecting .lss format, select "Tab Separated Values format (*.txt)". It will be saved as a Tab Separated Value file in the proper format (tab delimited unicode file), with all the correct column headings.
Най-лесният начин е да вземете съществуваща анкета и да я експортирате във формат с разделени стойности. Използвайте нормалния бутон за анкета за експортиране и вместо да изберете формат .lss, изберете „Формат на разделени стойности (*.txt). Той ще бъде записан като файл със стойности, разделени с табулатори в правилния формат (уникод файл с разделители на табулатори), с всички правилни заглавия на колони.


Any spreadsheet software that supports tab separated values is fine (e.g., OpenOffice or LibreOffice). LimeSurvey ignores any formatting within the spreadsheet, but feel free to add some if it helps you.
Всеки софтуер за електронни таблици, който поддържа стойности, разделени с табулатори, е подходящ (напр. OpenOffice или LibreOffice). LimeSurvey игнорира всяко форматиране в електронната таблица, но не се колебайте да добавите някои, ако ви помага.


<div class="simplebox">Note that the exported file is in UTF-8 format with the Byte Order Mark (BOM) as the first three (hidden) characters. If you double click on the .txt and try to open it directly with Excel, it will not open properly because Excel does not realize that it is UTF-8 formatted. To open these files with Excel, first open Excel, then select File:Open, select the .txt file, and tell Excel that it is using UTF-8 encoding.</div>
<div class="simplebox">Обърнете внимание, че експортираният файл е във формат UTF-8 с маркировката за ред на байтовете (BOM) като първите три (скрити) знака. Ако щракнете два пъти върху .txt и се опитате да го отворите директно с Excel, той няма да се отвори правилно, защото Excel не осъзнава, че е във формат UTF-8. За да отворите тези файлове с Excel, първо отворете Excel, след това изберете File:Open, изберете .txt файла и кажете на Excel, че използва UTF-8 кодиране.</div>


There will be one row for each group, question, subquestion, and answer. There are also rows for global survey variables, and for language-specific survey variables. The primary language will be listed first, followed by any secondary languages. So, if there are multiple languages, the entire contents of the base language will appear first (e.g., all groups, questions, subquestions, and answers). This will be followed by a translated copy for each secondary language (with exactly the same number and order or rows for the translated set).
Ще има по един ред за всяка група, въпрос, подвъпрос и отговор. Има също редове за глобални променливи на проучването и за специфични за езика променливи на проучването. Основният език ще бъде посочен първи, последван от всички вторични езици. Така че, ако има няколко езика, цялото съдържание на основния език ще се покаже първо (напр. всички групи, въпроси, подвъпроси и отговори). Това ще бъде последвано от преведено копие за всеки вторичен език (с абсолютно същия брой и ред или редове за преведения набор).


Relationships are inferred by proximity. So, questions following a group are part of that group; subquestions following a question are part of that question, and answers following a question are part of that question. Thus, you don't need to know the IDs (gid, qid, sqid) for any questions. Those will be computed automatically upon import. In fact, this format does not use gid, qid, or sqid (or SGQA codes) at all.
Отношенията се предполагат по близост. И така, въпросите след група са част от тази група; подвъпросите след въпрос са част от този въпрос, а отговорите след въпрос са част от този въпрос. По този начин не е необходимо да знаете идентификаторите (gid, qid, sqid) за всякакви въпроси. Те ще бъдат изчислени автоматично при импортиране. Всъщност този формат изобщо не използва gid, qid или sqid (или SGQA кодове).




=Tips=
=Съвети=




The goal of the Tab Separated Value import/export is to let you rapidly design your survey using a spreadsheet. We expect that you will frequently import the sheet, check its validity using the "Show Survey Logic" feature, and test it. Each time you import it, you will get a new survey. So, you might end up with many partially developed surveys, but that is fine. Just get in the habit of keeping track of which is the most recent, or delete the old one after you import the new ones. Since you never use SGQA codes in the Tab Separated Value, you never need to worry about what codes LimeSurvey assigns for the primary survey, group, question and answer keys. So, feel free to import and export as often as you like.
Целта на импортирането/експортирането на стойности, разделени с раздели, е да ви позволи бързо да проектирате проучването си с помощта на електронна таблица. Очакваме, че често ще импортирате листа, ще проверявате валидността му с помощта на функцията „Показване на логиката на проучването“ и ще го тествате. Всеки път, когато го импортирате, ще получите нова анкета. Така че може да се окажете с много частично разработени проучвания, но това е добре. Просто придобийте навика да следите коя е най-новата или изтрийте старата, след като импортирате новите. Тъй като никога не използвате SGQA кодове в стойността, разделена с раздели, никога не е необходимо да се притеснявате какви кодове задава LimeSurvey за основните ключове за проучване, група, въпрос и отговор. Така че, не се колебайте да импортирате и експортирате толкова често, колкото искате.


Here are some convenient things you can do with this approach to authoring instruments:
Ето някои удобни неща, които можете да правите с този подход за създаване на инструменти:
#'''Use same Answers for many questions'''. Just copy the 'A' rows and paste after each question that should have the same set.
#'''Използвайте едни и същи отговори за много въпроси'''. Просто копирайте редовете 'A' и поставете след всеки въпрос, който трябва да има същия набор.
#'''Use same subquestions for many questions'''. Just copy the 'SQ' rows and paste them after each question that needs it.
#'''Използвайте едни и същи подвъпроси за много въпроси'''. Просто копирайте редовете 'SQ' и ги поставете след всеки въпрос, който се нуждае от него.
#'''"Looping" - use same group many times'''. After the group is the way you want it, copy it as many times as needed. Use Excel filtering to view just the 'G' rows (for groups), and use the Excel column drag feature to update the relevance equations for each group (e.g., for a census, the first relevance might be "numPeople > 1", the next should be "numPeople > 2". The drag feature will auto-update the number). Filter by 'Q' rows and ensure that each question has a unique value (e.g., say you name your variables g1_q1, g1_q2, g1_qN, use find/replace to convert g1 to g2 the second group; g3 for the third, etc.).
#'''"Зацикляне" - използвайте една и съща група много пъти''''. След като групата е такава, каквато искате, копирайте я толкова пъти, колкото е необходимо. Използвайте филтриране на Excel, за да видите само редовете „G“ (за групи), и използвайте функцията за плъзгане на колони на Excel, за да актуализирате уравненията за уместност за всяка група (напр. за преброяване на населението първата уместност може да бъде „numPeople > 1“, следващото трябва да е "numPeople > 2". Функцията за плъзгане ще актуализира автоматично номера). Филтрирайте по редове „Q“ и се уверете, че всеки въпрос има уникална стойност (напр. кажете, че назовавате променливите си g1_q1, g1_q2, g1_qN, използвайте find/replace, за да конвертирате g1 в g2 втората група; g3 за третата и т.н.) .
#'''Re-ordering questions/groups'''. Simply re-order the rows of the spreadsheet file.
#''''Пренареждане на въпроси/групи'''. Просто пренаредете редовете на файла с електронната таблица.
#'''Testing survey modules'''. For long surveys, you may want to break up the testing into modules. Simply create new spreadsheet files for each module, deleting any rows that you don't need. This avoids the need to enter lots of data to test later sections of the survey.
#'''Тестване на модули за проучване'''. За дълги проучвания може да искате да разделите тестването на модули. Просто създайте нови файлове с електронни таблици за всеки модул, като изтриете всички редове, които не ви трябват. Това избягва необходимостта от въвеждане на много данни за тестване на по-късни секции от анкетата.
#'''Testing mandatory questions'''. A common complaint is not the need to make many questions mandatory, but the need to turn off the mandatory feature for testing. Simply create the master spreadsheet with mandatory set to the final desired values. Then, to test it, just delete the "mandatory" column and save the test version of the spreadsheet. When you import that version, none of the questions will be mandatory. After you have finished your testing, import the master copy.
#'''Тестване на задължителни въпроси'''. Често срещано оплакване не е необходимостта много въпроси да бъдат задължителни, а необходимостта да се изключи задължителната функция за тестване. Просто създайте основната електронна таблица със задължителни настройки на крайните желани стойности. След това, за да го тествате, просто изтрийте колоната „задължително“ и запазете тестовата версия на електронната таблица. Когато импортирате тази версия, нито един от въпросите няма да е задължителен. След като приключите с тестването, импортирайте главното копие.
#'''Setting defaults'''. Rather than using the GUI, you can enter any desired defaults in the default column. This is especially helpful for cases where the GUI does not let you enter the desired value, like [[ExpressionScript - Presentation|expressions]] to set the default for list items (like populating a list from a [[Survey participants|survey participant]] attribute).
#'''Настройка по подразбиране'''. Вместо да използвате GUI, можете да въведете желаните настройки по подразбиране в колоната по подразбиране. Това е особено полезно в случаите, когато GUI не ви позволява да въведете желаната стойност, като [[ExpressionScript - Presentation|изрази]], за да зададете стойността по подразбиране за елементи от списък (като попълване на списък от [[Участници в проучване|участник в проучване] ] атрибут).
#'''Translation'''. You can create copies of your spreadsheet - one per language. Include all the rows for the primary language, then copy and paste them below, and use drag to change the language field to the target language. These can be distributed to your translators, and re-integrated into a single spreadsheet file when they are done.
#''''Превод''''. Можете да създадете копия на вашата електронна таблица - по едно на език. Включете всички редове за основния език, след това ги копирайте и поставете по-долу и използвайте плъзгане, за да промените езиковото поле на целевия език. Те могат да бъдат раздадени на вашите преводачи и повторно интегрирани в един файл с електронна таблица, когато са готови.
#'''Bulk setting of advanced question attributes'''. You may want all of your equations to start visible (so you can see their values as you collect data), but then hide them all before going to production. Simply filter the spreadsheet on class = 'Q' and question type = '*' (equation), and set always_hide to 1 for each of those questions. Similarly, say after you create the survey, you decide which questions should appear in public statistics. Rather than edit each question through the GUI, filter on class = 'Q', and set public_statistics = 1 for all of the questions that should be visible in statistics.
#''''Групова настройка на разширени атрибути на въпроси''''. Може да искате всичките ви уравнения да започнат видими (за да можете да виждате стойностите им, докато събирате данни), но след това ги скрийте всички, преди да преминете към производство. Просто филтрирайте електронната таблица по клас = 'Q' и тип въпрос = '*' (уравнение) и задайте always_hide на 1 за всеки от тези въпроси. По същия начин, да речем, след като създадете анкетата, вие решавате кои въпроси да се показват в публичната статистика. Вместо да редактирате всеки въпрос чрез GUI, филтрирайте по class = 'Q' и задайте public_statistics = 1 за всички въпроси, които трябва да се виждат в статистиката.
#'''Find and replace'''. Say you decide you need to change some phrasing across all of your questions, you can use Excel find and replace to make those changes. Similarly, say you decide to do a bulk-renaming of your variables, find and replace can come to the rescue. If you need regular-expression based find and replace, you can select the desired column, copy to a text editor, do your find and replace, and paste the column back into the spreadsheet.
#''''Намиране и заместване''''. Да речем, че решите, че трябва да промените някои фрази във всичките си въпроси, можете да използвате Excel за намиране и замяна, за да направите тези промени. По същия начин, кажете, че сте решили да направите групово преименуване на вашите променливи, намирането и замяната може да дойде на помощ. Ако имате нужда от намиране и замяна, базирано на регулярен израз, можете да изберете желаната колона, да копирате в текстов редактор, да направите своето намиране и замяна и да поставите колоната обратно в електронната таблица.
#'''Gaining approvals'''. If you are doing research, you may have an Institutional Review board who insists upon seeing the text of the questions. This may be a convenient way to share it.  Similarly for discussions with a client.
#''''Получаване на одобрения'' '. Ако правите проучване, може да имате институционален съвет за преглед, който настоява да видите текста на въпросите. Това може да е удобен начин да го споделите. По същия начин за дискусии с клиент.
#'''Team consensus'''. If you are trying to get a group to agree upon the wording or appearance of a question or group, you can rapidly prototype / edit the spreadsheet, import it, and show the team (via question or group preview) exactly what the users will see.  That way you can get approval from the team before they leave the room rather than having to document requirements, build them, and get approval at future meetings.
#'''Екипен консенсус'''. Ако се опитвате да накарате група да се съгласи с формулировката или външния вид на въпрос или група, можете бързо да прототипирате/редактирате електронната таблица, да я импортирате и да покажете на екипа (чрез преглед на въпрос или група) точно какво ще видят потребителите . По този начин можете да получите одобрение от екипа, преди да напуснат стаята, вместо да се налага да документирате изисквания, да ги изграждате и да получавате одобрение на бъдещи срещи.
#'''Upgrading from other survey formats'''. If your survey is in XML, Word, or other format, you can create a translation process to map them to this format. Although you could also try mapping to the .lss format, the advantage of this format is that it doesn't require you to keep track of foreign key relationships between groups, questions, subquestions, answers, and defaults.
#''''Надграждане от други формати на проучване''''. Ако вашата анкета е в XML, Word или друг формат, можете да създадете процес на превод, за да ги съпоставите с този формат. Въпреки че можете също да опитате да картографирате във формат .lss, предимството на този формат е, че не изисква да следите връзките на външен ключ между групи, въпроси, подвъпроси, отговори и настройки по подразбиране.




=Limitations=
=Ограничения=
#By design, this feature only works properly for surveys that use qcode (rather than SGQA) naming. This feature assumes that variable names (question identifiers) are unique throughout the survey. Subquestion names can be repeated, as long as they are unique within the scope of a particular question.
#По дизайн тази функция работи правилно само за проучвания, които използват qcode (вместо SGQA) наименуване. Тази функция предполага, че имената на променливите (идентификатори на въпроси) са уникални в цялата анкета. Имената на подвъпросите могат да се повтарят, стига да са уникални в обхвата на конкретен въпрос.




=File Format=
=Файлов формат=




==General==
==Общи==




We use the same set of column headings for multiple purposes. The first 14 columns serve different purposes depending upon the type of entity (e.g., group, question, answer). The remaining columns are an alphabetical list of the database field names for the advanced question codes. Below is the syntax for each entity type
Използваме един и същ набор от заглавия на колони за различни цели. Първите 14 колони служат за различни цели в зависимост от типа обект (напр. група, въпрос, отговор). Останалите колони са азбучен списък на имената на полетата на базата данни за разширени кодове на въпроси. По-долу е синтаксисът за всеки тип обект


The first 14 columns are:
Първите 14 колони са:
#id {{NewIn|3.14.0}}
#id {{NewIn|3.14.0}}
#related_id {{NewIn|3.14.0}}
#related_id {{NewIn|3.14.0}}
#class
#class
#type/scale
#type/scale
#name
# име
#relevance
#уместност
#text
#текст
#help
#помощ
#language
#език
#validation
#валидиране
#mandatory
#задължително
#other
#друго
#default
#по подразбиране
#same_default
#същото_по подразбиране


{{Hint|Text=Columns id and related_id are used only for quota and are optional. If you don't have quota, you can directly remove this 2 columns.}}
{{Hint|Text=Колоните id и related_id се използват само за квота и не са задължителни. Ако нямате квота, можете директно да премахнете тези 2 колони.}}


==Survey Global Parameters==
==Глобални параметри на проучването==




There is one row per parameter in the surveys table.
Има един ред на параметър в таблицата с проучвания.
#class => 'S'
#class => 'S'
#name => database field name
#name => име на полето на базата данни
#text => value
#text => стойност




==Survey Language-Specific Parameters==
==Специфични параметри за езика на проучването==




There is one row per field per language in the surveys_languagesettings table. All entries for a given language are collected before doing the insert into that table.
Има един ред на поле за всеки език в таблицата surveys_languagessettings. Всички записи за даден език се събират, преди да се извърши вмъкването в тази таблица.
#class => 'SL'
#class => 'SL'
#name => database field name
#name => име на поле на база данни
#text => value
#text => value
#language => language
#language = > език




==Groups==
==Групи==




One group row per survey language (e.g., there would be 3 group rows if survey has 3 languages).
Един групов ред на език на проучването (напр. ще има 3 групови реда, ако проучването има 3 езика).
#id => unique numeric identifier for the group, starting with number 1, use the same ID for additional languages belonging to current group
#id => уникален цифров идентификатор за групата, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи на текуща група
#class => 'G'
#class => 'G'
#name => group_name -- the unique identifier for the group
#name => group_name -- уникалният идентификатор за групата
#relevance => grelevance -- the group-level relevance equation, without curly braces
#relevance => grelevance -- уравнението за релевантност на ниво група, без фигурни скоби!N !#text => описание -- специфичното за езика описание на групата
#text => description -- the language-specific description of the group
#language => език -- езикът за групата (напр. 'en')
#language => language -- the language for the group (e.g., 'en')




==Questions==
==Въпроси==




One question row per survey language (e.g., there would be 3 question rows if survey has 3 languages). Questions are assumed to belong to the group that precedes them.
Един ред с въпроси на език на анкетата (напр. ще има 3 реда с въпроси, ако анкетата има 3 езика). Предполага се, че въпросите принадлежат към групата, която ги предхожда.
#id => unique numeric identifier for the question, starting with number 1, use the same ID for additional languages belonging to current question
#id => уникален цифров идентификатор за въпроса, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущия въпрос
#class => 'Q'
#class => ' Q'
#type/scale => type -- the (usually one letter) [[Question types|question type]] (e.g., 'M' is Multiple Choice)
#type/scale => type -- (обикновено една буква) [[Question types|тип въпрос]] (напр. 'M' е Multiple Choice)
#name => title -- the unique question name (the root of the qcode naming system)
#name => title -- the уникално име на въпрос (коренът на системата за именуване на qcode)
#relevance => relevance -- the [[ExpressionScript - Presentation#Access_to_Variables|relevance equation]] for the question
#relevance => уместност -- [[ExpressionScript - Presentation#Access_to_Variables|уравнение на уместност]] за въпроса
#text => question -- the language-specific text of the question
#text => въпрос - езикът -специфичен текст на въпроса
#help => help -- the language-specific help text
#help => помощ -- специфичният за езика помощен текст
#language => language -- the language for the group (e.g., 'en')
#language => език -- езикът за групата (напр. 'en')
#validation => preg -- the optional regular expression validation criteria for the question
#validation = > preg -- незадължителните критерии за валидиране на регулярен израз за въпроса
#mandatory => mandatory -- 'Y' if mandatory
#mandatory => задължително -- 'Y', ако е задължително
#other => other -- 'Y' if the "Other" option should be available (only for some question types)
#other => other -- 'Y', ако опцията "Other" трябва да е налична (само за някои типове въпроси)
#default => default -- if set, this value is inserted into the defaultvalues table for this question
#default => default -- ако е зададена, тази стойност се вмъква в таблицата defaultvalues за този въпрос
#same_default => same_default -- 'Y' for true, in which case any defaultvalue set for primary language applies to other languages
#same_default => same_default -- 'Y' за true, в който случай всяка стойност по подразбиране, зададена за основния език, се прилага за други езици




==Subquestions==
==Подвъпроси==




One subquestion row per survey language. Subquestions are assumed to belong to the question that precedes them.
Един ред с подвъпрос на език на проучването. Предполага се, че подвъпросите принадлежат на въпроса, който ги предхожда.
#id => same unique numeric identifier which is used for the questions. Subquestions should use next available value, question and subquestion IDs should be different (e.g. use ID 1 for question and IDs 2, 3 and 4 for subquestions belonging to question 1, next question ID should be 5 and so on). Use the same subquestion ID for additional languages belonging to current subquestions.
#id => същият уникален цифров идентификатор, който се използва за въпросите. Подвъпросите трябва да използват следващата налична стойност, идентификаторите на въпроса и подвъпроса трябва да са различни (напр. използвайте идентификатор 1 за въпрос и идентификатори 2, 3 и 4 за подвъпроси, принадлежащи на въпрос 1, идентификаторът на следващия въпрос трябва да бъде 5 и т.н.). Използвайте същия идентификатор на подвъпрос за допълнителни езици, принадлежащи към текущите подвъпроси.
#class => 'SQ'
#class => 'SQ'
#type/scale => scale_id -- 0 or 1, depending upon question type (e.g. array text will have two scales)
#type/scale => scale_id -- 0 или 1, в зависимост от типа на въпроса (напр. текстът на масива ще има две скали)
#name => title -- the "name" of the subquestion, e.g. the one used for exclude_all_others
#name => заглавие -- "името" на подвъпроса, напр. това, което се използва за exclude_all_others
#relevance => relevance -- (Future) to support subquestion-level relevance
#relevance => уместност -- (Бъдеще) за поддържане на уместност на ниво подвъпрос
#text => question -- the language-specific text of the subquestion
#text => въпрос -- специфичният за езика текст на подвъпроса
#help => help -- (Future) to support subquestion-level help
#help => помощ -- (Бъдеще) за поддръжка на помощ на ниво подвъпрос
#language => language -- the language for the subquestion
#language => език -- езикът за подвъпроса
#validation => preg -- (Future) to support subquestion-level regular expression validation (e.g. for address parts)
#validation => preg -- (Бъдеще) за поддръжка на валидиране на регулярен израз на ниво подвъпрос (напр. за адресни части)
#mandatory => mandatory -- (Future) to support subquestion-level mandatory (e.g. make only a few subquestions mandatory)
#mandatory => задължително -- (Бъдеще) за поддържане на задължително ниво на подвъпрос (напр. направете само няколко подвъпроса задължително)
#default => default -- if set, then this is the default value for the subquestion (inserted into defaultvalues table)
#default => по подразбиране -- ако е зададено, тогава това е стойността по подразбиране за подвъпроса (вмъкнато в таблицата със стойности по подразбиране)
#same_default => same_default -- if set, then the default for the primary language is  used for all other languages
#same_default => same_default -- ако е зададено, тогава това е стойността по подразбиране за основния език се използва за всички други езици




==Answers==
==Отговори==




One answer row per survey language (e.g., there would be 3 answer rows if survey has 3 languages). Answers are assumed to belong to the question that precedes them, and be in the desired sort order.
Един ред с отговори на език на анкетата (напр. ще има 3 реда с отговори, ако анкетата има 3 езика). Приема се, че отговорите принадлежат на въпроса, който ги предшества, и са в желания ред на сортиране.
#id => use the same ID as the ID of the question it belongs to
#id => използвайте същия идентификатор като идентификатора на въпроса, към който принадлежи
#class => 'A'
#class => 'A'  
#type/scale => scale_id -- 0 or 1 (e.g. for dual-scale)
#type/scale => scale_id -- 0 или 1 (напр. за двойна скала)
#name => code -- the unique answer identifier
#name => код -- уникалният идентификатор на отговора
#relevance => assessment_value -- if using assessment option, this is the assessment value for the answer
#relevance => assessment_value -- ако използвате опцията за оценка , това е стойността за оценка за отговора
#text => answer -- the language-specific text of the answer
#text => отговор -- специфичният за езика текст на отговора
#language => language -- the language for this answer (e.g. 'en')
#language => език -- езикът за този отговор (напр. 'en')




==Assessments==
==Оценки==




One assessment row per survey language (e.g., there would be 3 assessment rows if survey has 3 languages). Assessments are written at the end of file.
Един ред за оценка на всеки език на проучването (напр. ще има 3 реда за оценка, ако проучването има 3 езика). Оценките се записват в края на файла.
#id => unique numeric identifier for the assessment, starting with number 1, use the same ID for additional languages belonging to current assessment
#id => уникален цифров идентификатор за оценката, започвайки с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущата оценка
#related_id => id of group to which current assessment belongs to
#related_id => id на групата до към коя текуща оценка принадлежи
#class => 'AS'
#class => 'AS'
#type/scale => assessment scope: T-Total, G-group
#type/scale => обхват на оценката: T-Total, G-group
#name => name
#name => name
#text => message
#text => съобщение
#min_num_value => Minimum
#min_num_value => Минимум
#max_num_value => Maximum
#max_num_value => Максимум
#language => language -- the language for this answer (e.g. 'en')
#language => език -- езикът за този отговор (напр. 'en')




==Quotas==
==Квоти==




One row per quota. Quotas are written at the end of file.
Един ред на квота. Квотите се записват в края на файла.
#id => unique numeric identifier for the quota, starting with number 1
#id => уникален цифров идентификатор за квотата, започващ с номер 1
#class => 'QTA'
#class => 'QTA'
#name => quota name
#name => име на квотата
#mandatory => limit
# задължително => лимит
#other => quota action
#other => квота действие
#default => active
#по подразбиране => активно
#same_default => autoload URL
#same_default => URL за автоматично зареждане




==Quota language settings==
==Квотни езикови настройки==




One quota row per survey language. Quota language settings are assumed to belong to the quota that precedes them.
Един квотен ред на език на проучването. Приема се, че настройките на езика на квотата принадлежат към квотата, която ги предшества.
#id => unique numeric identifier for the quota language settings, starting with number 1. Each row for different survey languages should have different IDs
#id => уникален цифров идентификатор за настройките на езика на квотата, започващ с номер 1. Всеки ред за различните езици на проучването трябва да има различни идентификатори
#related_id => quota id of quota to which this setting belongs to
#related_id => квота идентификатор на квота, към която тази настройка принадлежи
#class => 'QTALS'
#class => 'QTALS'
#relevance => message
#релевантност => съобщение
#text => URL
#текст => URL
#help => URL description
#помощ => URL описание
#language => language -- the language for this quota (e.g. 'en')
#language => език -- езикът за тази квота (напр. 'en')




==Quota members==
==Квотни членове==




One row per quota member, no language dependent. Quota member row should be placed immediately after question it relates to. Quota members are assumed to belong to the question that precedes them.
Един ред на член на квотата, без зависимост от езика. Редът за член на квота трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че членовете на квотата принадлежат към въпроса, който ги предхожда.
#id => unique numeric identifier for the quota members, starting with number 1
#id => уникален цифров идентификатор за членовете на квотата, започващ с номер 1
#related_id => quota id of quota to which this member belongs to
#related_id => квота id на квота, към която принадлежи този член
#class => 'QTAM'
#class => 'QTAM'
#name => answer code
#name => код на отговора




==Conditions==
==Условия==




One row per condition, no language dependent. Condition row should be placed immediately after question it relates to. Conditions are assumed to belong to the question that precedes them.
Един ред за условие, без зависимост от езика. Редът с условия трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че условията принадлежат на въпроса, който ги предхожда.
#id => unique numeric identifier for the condition, starting with number 1.
#id => уникален цифров идентификатор за условието, започващ с номер 1.
#related_id => question id of related question, if applicable
#related_id => идентификатор на въпрос на свързан въпрос, ако е приложимо
#class => 'C'
#class => 'C'
#type/scale => scenario
#type/scale => scenario
#name => answer field name
#name => име на полето за отговор
#relevance => comparison operator
#relevance => оператор за сравнение
#text => expected answer
#text => очакван отговор

Latest revision as of 10:04, 23 November 2023


Импортиране и експортиране на стойности, разделени с раздели на структурата на проучването

Тази функция е предназначена да улесни използването на софтуер за електронни таблици като LibreOffice, Excel или Google Docs за създаване и редактиране на анкети. Той напълно елиминира зависимостта от SGQA кодовете.

Тази функция поддържа импортиране от ASCII или UTF-8 кодирани файлове със стойности, разделени с разделители (TSV), които имат разширение .txt.


Template:Забележка


Първи стъпки

Най-лесният начин е да вземете съществуваща анкета и да я експортирате във формат с разделени стойности. Използвайте нормалния бутон за анкета за експортиране и вместо да изберете формат .lss, изберете „Формат на разделени стойности (*.txt)“. Той ще бъде записан като файл със стойности, разделени с табулатори в правилния формат (уникод файл с разделители на табулатори), с всички правилни заглавия на колони.

Всеки софтуер за електронни таблици, който поддържа стойности, разделени с табулатори, е подходящ (напр. OpenOffice или LibreOffice). LimeSurvey игнорира всяко форматиране в електронната таблица, но не се колебайте да добавите някои, ако ви помага.

Обърнете внимание, че експортираният файл е във формат UTF-8 с маркировката за ред на байтовете (BOM) като първите три (скрити) знака. Ако щракнете два пъти върху .txt и се опитате да го отворите директно с Excel, той няма да се отвори правилно, защото Excel не осъзнава, че е във формат UTF-8. За да отворите тези файлове с Excel, първо отворете Excel, след това изберете File:Open, изберете .txt файла и кажете на Excel, че използва UTF-8 кодиране.

Ще има по един ред за всяка група, въпрос, подвъпрос и отговор. Има също редове за глобални променливи на проучването и за специфични за езика променливи на проучването. Основният език ще бъде посочен първи, последван от всички вторични езици. Така че, ако има няколко езика, цялото съдържание на основния език ще се покаже първо (напр. всички групи, въпроси, подвъпроси и отговори). Това ще бъде последвано от преведено копие за всеки вторичен език (с абсолютно същия брой и ред или редове за преведения набор).

Отношенията се предполагат по близост. И така, въпросите след група са част от тази група; подвъпросите след въпрос са част от този въпрос, а отговорите след въпрос са част от този въпрос. По този начин не е необходимо да знаете идентификаторите (gid, qid, sqid) за всякакви въпроси. Те ще бъдат изчислени автоматично при импортиране. Всъщност този формат изобщо не използва gid, qid или sqid (или SGQA кодове).


Съвети

Целта на импортирането/експортирането на стойности, разделени с раздели, е да ви позволи бързо да проектирате проучването си с помощта на електронна таблица. Очакваме, че често ще импортирате листа, ще проверявате валидността му с помощта на функцията „Показване на логиката на проучването“ и ще го тествате. Всеки път, когато го импортирате, ще получите нова анкета. Така че може да се окажете с много частично разработени проучвания, но това е добре. Просто придобийте навика да следите коя е най-новата или изтрийте старата, след като импортирате новите. Тъй като никога не използвате SGQA кодове в стойността, разделена с раздели, никога не е необходимо да се притеснявате какви кодове задава LimeSurvey за основните ключове за проучване, група, въпрос и отговор. Така че, не се колебайте да импортирате и експортирате толкова често, колкото искате.

Ето някои удобни неща, които можете да правите с този подход за създаване на инструменти:

  1. Използвайте едни и същи отговори за много въпроси. Просто копирайте редовете 'A' и поставете след всеки въпрос, който трябва да има същия набор.
  2. Използвайте едни и същи подвъпроси за много въпроси. Просто копирайте редовете 'SQ' и ги поставете след всеки въпрос, който се нуждае от него.
  3. "Зацикляне" - използвайте една и съща група много пъти'. След като групата е такава, каквато искате, копирайте я толкова пъти, колкото е необходимо. Използвайте филтриране на Excel, за да видите само редовете „G“ (за групи), и използвайте функцията за плъзгане на колони на Excel, за да актуализирате уравненията за уместност за всяка група (напр. за преброяване на населението първата уместност може да бъде „numPeople > 1“, следващото трябва да е "numPeople > 2". Функцията за плъзгане ще актуализира автоматично номера). Филтрирайте по редове „Q“ и се уверете, че всеки въпрос има уникална стойност (напр. кажете, че назовавате променливите си g1_q1, g1_q2, g1_qN, използвайте find/replace, за да конвертирате g1 в g2 втората група; g3 за третата и т.н.) .
  4. 'Пренареждане на въпроси/групи. Просто пренаредете редовете на файла с електронната таблица.
  5. Тестване на модули за проучване. За дълги проучвания може да искате да разделите тестването на модули. Просто създайте нови файлове с електронни таблици за всеки модул, като изтриете всички редове, които не ви трябват. Това избягва необходимостта от въвеждане на много данни за тестване на по-късни секции от анкетата.
  6. Тестване на задължителни въпроси. Често срещано оплакване не е необходимостта много въпроси да бъдат задължителни, а необходимостта да се изключи задължителната функция за тестване. Просто създайте основната електронна таблица със задължителни настройки на крайните желани стойности. След това, за да го тествате, просто изтрийте колоната „задължително“ и запазете тестовата версия на електронната таблица. Когато импортирате тази версия, нито един от въпросите няма да е задължителен. След като приключите с тестването, импортирайте главното копие.
  7. Настройка по подразбиране. Вместо да използвате GUI, можете да въведете желаните настройки по подразбиране в колоната по подразбиране. Това е особено полезно в случаите, когато GUI не ви позволява да въведете желаната стойност, като изрази, за да зададете стойността по подразбиране за елементи от списък (като попълване на списък от [[Участници в проучване|участник в проучване] ] атрибут).
  8. 'Превод'. Можете да създадете копия на вашата електронна таблица - по едно на език. Включете всички редове за основния език, след това ги копирайте и поставете по-долу и използвайте плъзгане, за да промените езиковото поле на целевия език. Те могат да бъдат раздадени на вашите преводачи и повторно интегрирани в един файл с електронна таблица, когато са готови.
  9. 'Групова настройка на разширени атрибути на въпроси'. Може да искате всичките ви уравнения да започнат видими (за да можете да виждате стойностите им, докато събирате данни), но след това ги скрийте всички, преди да преминете към производство. Просто филтрирайте електронната таблица по клас = 'Q' и тип въпрос = '*' (уравнение) и задайте always_hide на 1 за всеки от тези въпроси. По същия начин, да речем, след като създадете анкетата, вие решавате кои въпроси да се показват в публичната статистика. Вместо да редактирате всеки въпрос чрез GUI, филтрирайте по class = 'Q' и задайте public_statistics = 1 за всички въпроси, които трябва да се виждат в статистиката.
  10. 'Намиране и заместване'. Да речем, че решите, че трябва да промените някои фрази във всичките си въпроси, можете да използвате Excel за намиране и замяна, за да направите тези промени. По същия начин, кажете, че сте решили да направите групово преименуване на вашите променливи, намирането и замяната може да дойде на помощ. Ако имате нужда от намиране и замяна, базирано на регулярен израз, можете да изберете желаната колона, да копирате в текстов редактор, да направите своето намиране и замяна и да поставите колоната обратно в електронната таблица.
  11. ''Получаване на одобрения '. Ако правите проучване, може да имате институционален съвет за преглед, който настоява да видите текста на въпросите. Това може да е удобен начин да го споделите. По същия начин за дискусии с клиент.
  12. Екипен консенсус. Ако се опитвате да накарате група да се съгласи с формулировката или външния вид на въпрос или група, можете бързо да прототипирате/редактирате електронната таблица, да я импортирате и да покажете на екипа (чрез преглед на въпрос или група) точно какво ще видят потребителите . По този начин можете да получите одобрение от екипа, преди да напуснат стаята, вместо да се налага да документирате изисквания, да ги изграждате и да получавате одобрение на бъдещи срещи.
  13. 'Надграждане от други формати на проучване'. Ако вашата анкета е в XML, Word или друг формат, можете да създадете процес на превод, за да ги съпоставите с този формат. Въпреки че можете също да опитате да картографирате във формат .lss, предимството на този формат е, че не изисква да следите връзките на външен ключ между групи, въпроси, подвъпроси, отговори и настройки по подразбиране.


Ограничения

  1. По дизайн тази функция работи правилно само за проучвания, които използват qcode (вместо SGQA) наименуване. Тази функция предполага, че имената на променливите (идентификатори на въпроси) са уникални в цялата анкета. Имената на подвъпросите могат да се повтарят, стига да са уникални в обхвата на конкретен въпрос.


Файлов формат

Общи

Използваме един и същ набор от заглавия на колони за различни цели. Първите 14 колони служат за различни цели в зависимост от типа обект (напр. група, въпрос, отговор). Останалите колони са азбучен списък на имената на полетата на базата данни за разширени кодове на въпроси. По-долу е синтаксисът за всеки тип обект

Първите 14 колони са:

  1. id (New in 3.14.0 )
  2. related_id (New in 3.14.0 )
  3. class
  4. type/scale
  5. име
  6. уместност
  7. текст
  8. помощ
  9. език
  10. валидиране
  11. задължително
  12. друго
  13. по подразбиране
  14. същото_по подразбиране
 Hint: Колоните id и related_id се използват само за квота и не са задължителни. Ако нямате квота, можете директно да премахнете тези 2 колони.


Глобални параметри на проучването

Има един ред на параметър в таблицата с проучвания.

  1. class => 'S'
  2. name => име на полето на базата данни
  3. text => стойност


Специфични параметри за езика на проучването

Има един ред на поле за всеки език в таблицата surveys_languagessettings. Всички записи за даден език се събират, преди да се извърши вмъкването в тази таблица.

  1. class => 'SL'
  2. name => име на поле на база данни
  3. text => value
  4. language = > език


Групи

Един групов ред на език на проучването (напр. ще има 3 групови реда, ако проучването има 3 езика).

  1. id => уникален цифров идентификатор за групата, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи на текуща група
  2. class => 'G'
  3. name => group_name -- уникалният идентификатор за групата
  4. relevance => grelevance -- уравнението за релевантност на ниво група, без фигурни скоби!N !#text => описание -- специфичното за езика описание на групата
  5. language => език -- езикът за групата (напр. 'en')


Въпроси

Един ред с въпроси на език на анкетата (напр. ще има 3 реда с въпроси, ако анкетата има 3 езика). Предполага се, че въпросите принадлежат към групата, която ги предхожда.

  1. id => уникален цифров идентификатор за въпроса, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущия въпрос
  2. class => ' Q'
  3. type/scale => type -- (обикновено една буква) тип въпрос (напр. 'M' е Multiple Choice)
  4. name => title -- the уникално име на въпрос (коренът на системата за именуване на qcode)
  5. relevance => уместност -- уравнение на уместност за въпроса
  6. text => въпрос - езикът -специфичен текст на въпроса
  7. help => помощ -- специфичният за езика помощен текст
  8. language => език -- езикът за групата (напр. 'en')
  9. validation = > preg -- незадължителните критерии за валидиране на регулярен израз за въпроса
  10. mandatory => задължително -- 'Y', ако е задължително
  11. other => other -- 'Y', ако опцията "Other" трябва да е налична (само за някои типове въпроси)
  12. default => default -- ако е зададена, тази стойност се вмъква в таблицата defaultvalues за този въпрос
  13. same_default => same_default -- 'Y' за true, в който случай всяка стойност по подразбиране, зададена за основния език, се прилага за други езици


Подвъпроси

Един ред с подвъпрос на език на проучването. Предполага се, че подвъпросите принадлежат на въпроса, който ги предхожда.

  1. id => същият уникален цифров идентификатор, който се използва за въпросите. Подвъпросите трябва да използват следващата налична стойност, идентификаторите на въпроса и подвъпроса трябва да са различни (напр. използвайте идентификатор 1 за въпрос и идентификатори 2, 3 и 4 за подвъпроси, принадлежащи на въпрос 1, идентификаторът на следващия въпрос трябва да бъде 5 и т.н.). Използвайте същия идентификатор на подвъпрос за допълнителни езици, принадлежащи към текущите подвъпроси.
  2. class => 'SQ'
  3. type/scale => scale_id -- 0 или 1, в зависимост от типа на въпроса (напр. текстът на масива ще има две скали)
  4. name => заглавие -- "името" на подвъпроса, напр. това, което се използва за exclude_all_others
  5. relevance => уместност -- (Бъдеще) за поддържане на уместност на ниво подвъпрос
  6. text => въпрос -- специфичният за езика текст на подвъпроса
  7. help => помощ -- (Бъдеще) за поддръжка на помощ на ниво подвъпрос
  8. language => език -- езикът за подвъпроса
#validation => preg -- (Бъдеще) за поддръжка на валидиране на регулярен израз на ниво подвъпрос (напр. за адресни части)
  1. mandatory => задължително -- (Бъдеще) за поддържане на задължително ниво на подвъпрос (напр. направете само няколко подвъпроса задължително)
  2. default => по подразбиране -- ако е зададено, тогава това е стойността по подразбиране за подвъпроса (вмъкнато в таблицата със стойности по подразбиране)
  3. same_default => same_default -- ако е зададено, тогава това е стойността по подразбиране за основния език се използва за всички други езици


Отговори

Един ред с отговори на език на анкетата (напр. ще има 3 реда с отговори, ако анкетата има 3 езика). Приема се, че отговорите принадлежат на въпроса, който ги предшества, и са в желания ред на сортиране.

  1. id => използвайте същия идентификатор като идентификатора на въпроса, към който принадлежи
  2. class => 'A'
  3. type/scale => scale_id -- 0 или 1 (напр. за двойна скала)
  4. name => код -- уникалният идентификатор на отговора
  5. relevance => assessment_value -- ако използвате опцията за оценка , това е стойността за оценка за отговора
  6. text => отговор -- специфичният за езика текст на отговора
  7. language => език -- езикът за този отговор (напр. 'en')


Оценки

Един ред за оценка на всеки език на проучването (напр. ще има 3 реда за оценка, ако проучването има 3 езика). Оценките се записват в края на файла.

  1. id => уникален цифров идентификатор за оценката, започвайки с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущата оценка
  2. related_id => id на групата до към коя текуща оценка принадлежи
  3. class => 'AS'
  4. type/scale => обхват на оценката: T-Total, G-group
  5. name => name
  6. text => съобщение
  7. min_num_value => Минимум
  8. max_num_value => Максимум
  9. language => език -- езикът за този отговор (напр. 'en')


Квоти

Един ред на квота. Квотите се записват в края на файла.

  1. id => уникален цифров идентификатор за квотата, започващ с номер 1
  2. class => 'QTA'
  3. name => име на квотата
  4. задължително => лимит
  5. other => квота действие
  6. по подразбиране => активно
  7. same_default => URL за автоматично зареждане


Квотни езикови настройки

Един квотен ред на език на проучването. Приема се, че настройките на езика на квотата принадлежат към квотата, която ги предшества.

  1. id => уникален цифров идентификатор за настройките на езика на квотата, започващ с номер 1. Всеки ред за различните езици на проучването трябва да има различни идентификатори
  2. related_id => квота идентификатор на квота, към която тази настройка принадлежи
  3. class => 'QTALS'
  4. релевантност => съобщение
  5. текст => URL
  6. помощ => URL описание
  7. language => език -- езикът за тази квота (напр. 'en')


Квотни членове

Един ред на член на квотата, без зависимост от езика. Редът за член на квота трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че членовете на квотата принадлежат към въпроса, който ги предхожда.

  1. id => уникален цифров идентификатор за членовете на квотата, започващ с номер 1
  2. related_id => квота id на квота, към която принадлежи този член
  3. class => 'QTAM'
  4. name => код на отговора


Условия

Един ред за условие, без зависимост от езика. Редът с условия трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че условията принадлежат на въпроса, който ги предхожда.

  1. id => уникален цифров идентификатор за условието, започващ с номер 1.
  2. related_id => идентификатор на въпрос на свързан въпрос, ако е приложимо
  3. class => 'C'
  4. type/scale => scenario
  5. name => име на полето за отговор
  6. relevance => оператор за сравнение
  7. text => очакван отговор