Структура на анкетата с разделени стойности
From LimeSurvey Manual
Импортиране и експортиране на стойности, разделени с раздели на структурата на проучването
Тази функция е предназначена да улесни използването на софтуер за електронни таблици като LibreOffice, Excel или Google Docs за създаване и редактиране на анкети. Той напълно елиминира зависимостта от SGQA кодовете.
Тази функция поддържа импортиране от ASCII или UTF-8 кодирани файлове със стойности, разделени с разделители (TSV), които имат разширение .txt.
Първи стъпки
Най-лесният начин е да вземете съществуваща анкета и да я експортирате във формат с разделени стойности. Използвайте нормалния бутон за анкета за експортиране и вместо да изберете формат .lss, изберете „Формат на разделени стойности (*.txt)“. Той ще бъде записан като файл със стойности, разделени с табулатори в правилния формат (уникод файл с разделители на табулатори), с всички правилни заглавия на колони.
Всеки софтуер за електронни таблици, който поддържа стойности, разделени с табулатори, е подходящ (напр. OpenOffice или LibreOffice). LimeSurvey игнорира всяко форматиране в електронната таблица, но не се колебайте да добавите някои, ако ви помага.
Ще има по един ред за всяка група, въпрос, подвъпрос и отговор. Има също редове за глобални променливи на проучването и за специфични за езика променливи на проучването. Основният език ще бъде посочен първи, последван от всички вторични езици. Така че, ако има няколко езика, цялото съдържание на основния език ще се покаже първо (напр. всички групи, въпроси, подвъпроси и отговори). Това ще бъде последвано от преведено копие за всеки вторичен език (с абсолютно същия брой и ред или редове за преведения набор).
Отношенията се предполагат по близост. И така, въпросите след група са част от тази група; подвъпросите след въпрос са част от този въпрос, а отговорите след въпрос са част от този въпрос. По този начин не е необходимо да знаете идентификаторите (gid, qid, sqid) за всякакви въпроси. Те ще бъдат изчислени автоматично при импортиране. Всъщност този формат изобщо не използва gid, qid или sqid (или SGQA кодове).
Съвети
Целта на импортирането/експортирането на стойности, разделени с раздели, е да ви позволи бързо да проектирате проучването си с помощта на електронна таблица. Очакваме, че често ще импортирате листа, ще проверявате валидността му с помощта на функцията „Показване на логиката на проучването“ и ще го тествате. Всеки път, когато го импортирате, ще получите нова анкета. Така че може да се окажете с много частично разработени проучвания, но това е добре. Просто придобийте навика да следите коя е най-новата или изтрийте старата, след като импортирате новите. Тъй като никога не използвате SGQA кодове в стойността, разделена с раздели, никога не е необходимо да се притеснявате какви кодове задава LimeSurvey за основните ключове за проучване, група, въпрос и отговор. Така че, не се колебайте да импортирате и експортирате толкова често, колкото искате.
Ето някои удобни неща, които можете да правите с този подход за създаване на инструменти:
- Използвайте едни и същи отговори за много въпроси. Просто копирайте редовете 'A' и поставете след всеки въпрос, който трябва да има същия набор.
- Използвайте едни и същи подвъпроси за много въпроси. Просто копирайте редовете 'SQ' и ги поставете след всеки въпрос, който се нуждае от него.
- "Зацикляне" - използвайте една и съща група много пъти'. След като групата е такава, каквато искате, копирайте я толкова пъти, колкото е необходимо. Използвайте филтриране на Excel, за да видите само редовете „G“ (за групи), и използвайте функцията за плъзгане на колони на Excel, за да актуализирате уравненията за уместност за всяка група (напр. за преброяване на населението първата уместност може да бъде „numPeople > 1“, следващото трябва да е "numPeople > 2". Функцията за плъзгане ще актуализира автоматично номера). Филтрирайте по редове „Q“ и се уверете, че всеки въпрос има уникална стойност (напр. кажете, че назовавате променливите си g1_q1, g1_q2, g1_qN, използвайте find/replace, за да конвертирате g1 в g2 втората група; g3 за третата и т.н.) .
- 'Пренареждане на въпроси/групи. Просто пренаредете редовете на файла с електронната таблица.
- Тестване на модули за проучване. За дълги проучвания може да искате да разделите тестването на модули. Просто създайте нови файлове с електронни таблици за всеки модул, като изтриете всички редове, които не ви трябват. Това избягва необходимостта от въвеждане на много данни за тестване на по-късни секции от анкетата.
- Тестване на задължителни въпроси. Често срещано оплакване не е необходимостта много въпроси да бъдат задължителни, а необходимостта да се изключи задължителната функция за тестване. Просто създайте основната електронна таблица със задължителни настройки на крайните желани стойности. След това, за да го тествате, просто изтрийте колоната „задължително“ и запазете тестовата версия на електронната таблица. Когато импортирате тази версия, нито един от въпросите няма да е задължителен. След като приключите с тестването, импортирайте главното копие.
- Настройка по подразбиране. Вместо да използвате GUI, можете да въведете желаните настройки по подразбиране в колоната по подразбиране. Това е особено полезно в случаите, когато GUI не ви позволява да въведете желаната стойност, като изрази, за да зададете стойността по подразбиране за елементи от списък (като попълване на списък от [[Участници в проучване|участник в проучване] ] атрибут).
- 'Превод'. Можете да създадете копия на вашата електронна таблица - по едно на език. Включете всички редове за основния език, след това ги копирайте и поставете по-долу и използвайте плъзгане, за да промените езиковото поле на целевия език. Те могат да бъдат раздадени на вашите преводачи и повторно интегрирани в един файл с електронна таблица, когато са готови.
- 'Групова настройка на разширени атрибути на въпроси'. Може да искате всичките ви уравнения да започнат видими (за да можете да виждате стойностите им, докато събирате данни), но след това ги скрийте всички, преди да преминете към производство. Просто филтрирайте електронната таблица по клас = '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
- име
- уместност
- текст
- помощ
- език
- валидиране
- задължително
- друго
- по подразбиране
- същото_по подразбиране
Глобални параметри на проучването
Има един ред на параметър в таблицата с проучвания.
- class => 'S'
- name => име на полето на базата данни
- text => стойност
Специфични параметри за езика на проучването
Има един ред на поле за всеки език в таблицата surveys_languagessettings. Всички записи за даден език се събират, преди да се извърши вмъкването в тази таблица.
- class => 'SL'
- name => име на поле на база данни
- text => value
- language = > език
Групи
Един групов ред на език на проучването (напр. ще има 3 групови реда, ако проучването има 3 езика).
- id => уникален цифров идентификатор за групата, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи на текуща група
- class => 'G'
- name => group_name -- уникалният идентификатор за групата
- relevance => grelevance -- уравнението за релевантност на ниво група, без фигурни скоби!N !#text => описание -- специфичното за езика описание на групата
- language => език -- езикът за групата (напр. 'en')
Въпроси
Един ред с въпроси на език на анкетата (напр. ще има 3 реда с въпроси, ако анкетата има 3 езика). Предполага се, че въпросите принадлежат към групата, която ги предхожда.
- id => уникален цифров идентификатор за въпроса, започващ с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущия въпрос
- class => ' Q'
- type/scale => type -- (обикновено една буква) тип въпрос (напр. 'M' е Multiple Choice)
- name => title -- the уникално име на въпрос (коренът на системата за именуване на qcode)
- relevance => уместност -- уравнение на уместност за въпроса
- text => въпрос - езикът -специфичен текст на въпроса
- help => помощ -- специфичният за езика помощен текст
- language => език -- езикът за групата (напр. 'en')
- validation = > preg -- незадължителните критерии за валидиране на регулярен израз за въпроса
- mandatory => задължително -- 'Y', ако е задължително
- other => other -- 'Y', ако опцията "Other" трябва да е налична (само за някои типове въпроси)
- default => default -- ако е зададена, тази стойност се вмъква в таблицата defaultvalues за този въпрос
- same_default => same_default -- 'Y' за true, в който случай всяка стойност по подразбиране, зададена за основния език, се прилага за други езици
Подвъпроси
Един ред с подвъпрос на език на проучването. Предполага се, че подвъпросите принадлежат на въпроса, който ги предхожда.
- id => същият уникален цифров идентификатор, който се използва за въпросите. Подвъпросите трябва да използват следващата налична стойност, идентификаторите на въпроса и подвъпроса трябва да са различни (напр. използвайте идентификатор 1 за въпрос и идентификатори 2, 3 и 4 за подвъпроси, принадлежащи на въпрос 1, идентификаторът на следващия въпрос трябва да бъде 5 и т.н.). Използвайте същия идентификатор на подвъпрос за допълнителни езици, принадлежащи към текущите подвъпроси.
- class => 'SQ'
- type/scale => scale_id -- 0 или 1, в зависимост от типа на въпроса (напр. текстът на масива ще има две скали)
- name => заглавие -- "името" на подвъпроса, напр. това, което се използва за exclude_all_others
- relevance => уместност -- (Бъдеще) за поддържане на уместност на ниво подвъпрос
- text => въпрос -- специфичният за езика текст на подвъпроса
- help => помощ -- (Бъдеще) за поддръжка на помощ на ниво подвъпрос
- language => език -- езикът за подвъпроса
#validation => preg -- (Бъдеще) за поддръжка на валидиране на регулярен израз на ниво подвъпрос (напр. за адресни части)
- mandatory => задължително -- (Бъдеще) за поддържане на задължително ниво на подвъпрос (напр. направете само няколко подвъпроса задължително)
- default => по подразбиране -- ако е зададено, тогава това е стойността по подразбиране за подвъпроса (вмъкнато в таблицата със стойности по подразбиране)
- same_default => same_default -- ако е зададено, тогава това е стойността по подразбиране за основния език се използва за всички други езици
Отговори
Един ред с отговори на език на анкетата (напр. ще има 3 реда с отговори, ако анкетата има 3 езика). Приема се, че отговорите принадлежат на въпроса, който ги предшества, и са в желания ред на сортиране.
- id => използвайте същия идентификатор като идентификатора на въпроса, към който принадлежи
- class => 'A'
- type/scale => scale_id -- 0 или 1 (напр. за двойна скала)
- name => код -- уникалният идентификатор на отговора
- relevance => assessment_value -- ако използвате опцията за оценка , това е стойността за оценка за отговора
- text => отговор -- специфичният за езика текст на отговора
- language => език -- езикът за този отговор (напр. 'en')
Оценки
Един ред за оценка на всеки език на проучването (напр. ще има 3 реда за оценка, ако проучването има 3 езика). Оценките се записват в края на файла.
- id => уникален цифров идентификатор за оценката, започвайки с номер 1, използвайте същия идентификатор за допълнителни езици, принадлежащи към текущата оценка
- related_id => id на групата до към коя текуща оценка принадлежи
- class => 'AS'
- type/scale => обхват на оценката: T-Total, G-group
- name => name
- text => съобщение
- min_num_value => Минимум
- max_num_value => Максимум
- language => език -- езикът за този отговор (напр. 'en')
Квоти
Един ред на квота. Квотите се записват в края на файла.
- id => уникален цифров идентификатор за квотата, започващ с номер 1
- class => 'QTA'
- name => име на квотата
- задължително => лимит
- other => квота действие
- по подразбиране => активно
- same_default => URL за автоматично зареждане
Квотни езикови настройки
Един квотен ред на език на проучването. Приема се, че настройките на езика на квотата принадлежат към квотата, която ги предшества.
- id => уникален цифров идентификатор за настройките на езика на квотата, започващ с номер 1. Всеки ред за различните езици на проучването трябва да има различни идентификатори
- related_id => квота идентификатор на квота, към която тази настройка принадлежи
- class => 'QTALS'
- релевантност => съобщение
- текст => URL
- помощ => URL описание
- language => език -- езикът за тази квота (напр. 'en')
Квотни членове
Един ред на член на квотата, без зависимост от езика. Редът за член на квота трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че членовете на квотата принадлежат към въпроса, който ги предхожда.
- id => уникален цифров идентификатор за членовете на квотата, започващ с номер 1
- related_id => квота id на квота, към която принадлежи този член
- class => 'QTAM'
- name => код на отговора
Условия
Един ред за условие, без зависимост от езика. Редът с условия трябва да бъде поставен непосредствено след въпроса, за който се отнася. Предполага се, че условията принадлежат на въпроса, който ги предхожда.
- id => уникален цифров идентификатор за условието, започващ с номер 1.
- related_id => идентификатор на въпрос на свързан въпрос, ако е приложимо
- class => 'C'
- type/scale => scenario
- name => име на полето за отговор
- relevance => оператор за сравнение
- text => очакван отговор