Повтори — потужна функція rtSurvey, що дозволяє збирати однаковий набір інформації кілька разів у межах одного опитування. Це особливо корисно для таких сценаріїв, як опитування домогосподарств, де потрібно збирати дані про кількох членів домогосподарства.

Базова структура повтору

Для створення повтору в rtSurvey використовуйте конструкцію begin repeat та end repeat:

  | type         | name         | label                |
|--------------|--------------|----------------------|
| begin repeat | child_repeat |                      |
| text         | name         | Child's name         |
| decimal      | birthweight  | Child's birthweight  |
| select_one male_female | sex | Child's sex         |
| end repeat   |              |                      |
  

У цьому прикладі користувач може збирати інформацію про кількох дітей, додаючи нові повтори у формі.

Позначення повторів

Хоча стовпець label необов’язковий для begin repeat, додавання мітки може покращити навігацію:

  | type         | name         | label                |
|--------------|--------------|----------------------|
| begin repeat | child_repeat | Child Information    |
| text         | name         | Child's name         |
| decimal      | birthweight  | Child's birthweight  |
| select_one male_female | sex | Child's sex         |
| end repeat   |              |                      |
  

rtSurvey відображатиме “Child Information” як заголовок для кожного екземпляру повтору.

Фіксована кількість повторів

Щоб вказати фіксовану кількість повторів, використовуйте стовпець repeat_count:

  | type         | name         | label                | repeat_count |
|--------------|--------------|----------------------|--------------|
| begin repeat | child_repeat | Child Information    | 3            |
| text         | name         | Child's name         |              |
| decimal      | birthweight  | Child's birthweight  |              |
| end repeat   |              |                      |              |
  

Це створить рівно 3 повтори дитини.

Динамічна кількість повторів

rtSurvey підтримує динамічну кількість повторів на основі попередніх відповідей:

  | type     | name           | label                          | repeat_count       |
|----------|----------------|--------------------------------|--------------------|
| integer  | num_hh_members | Number of household members?   |                    |
| begin repeat | hh_member  | Household Member               | ${num_hh_members}  |
| text     | name           | Name                           |                    |
| integer  | age            | Age                            |                    |
| end repeat |              |                                |                    |
  

Умовні повтори

Ви можете використовувати стовпець relevant для умовного відображення повторів:

  | type              | name        | label                     | relevant           |
|-------------------|-------------|---------------------------|---------------------|
| select_one yes_no | has_child   | Do any children live here?|                     |
| begin repeat      | child_repeat| Child Information         | ${has_child} = 'yes'|
| text              | name        | Child's name              |                     |
| decimal           | birthweight | Child's birthweight       |                     |
| end repeat        |             |                           |                     |
  

Специфічні функції rtSurvey

Зведення повторів

rtSurvey надає зведений вигляд повторів. Для налаштування зведення використовуйте групу всередині повтору:

  | type         | name         | label                                    |
|--------------|--------------|------------------------------------------|
| begin repeat | person_repeat|                                          |
| begin group  | person       | ${first_name} ${last_name} - ${age}      |
| text         | first_name   | First name                               |
| text         | last_name    | Last name                                |
| integer      | age          | Age                                      |
| end group    |              |                                          |
| end repeat   |              |                                          |
  

Параметри appearance повторів

rtSurvey пропонує додаткові параметри appearance для повторів:

  • appearance: field-list — Відображає всі питання в повторі на одному екрані
  • appearance: table-list — Представляє повтори у табличному форматі
  | type         | name         | label            | appearance  |
|--------------|--------------|-------------------|-------------|
| begin repeat | child_repeat | Child Information | table-list  |
| text         | name         | Name              |             |
| integer      | age          | Age               |             |
| end repeat   |              |                   |             |
  

Вкладені повтори

rtSurvey підтримує вкладені повтори для складних структур даних:

  | type         | name           | label                |
|--------------|----------------|----------------------|
| begin repeat | household      | Household            |
| text         | hh_name        | Household Name       |
| begin repeat | hh_member      | Household Member     |
| text         | member_name    | Member Name          |
| integer      | member_age     | Member Age           |
| end repeat   |                |                      |
| end repeat   |                |                      |
  

Найкращі практики використання повторів у rtSurvey

  1. Використовуйте значущі імена та мітки для повторів для покращення аналізу даних.
  2. Розгляньте використання динамічної кількості повторів для зменшення помилок введення даних.
  3. Ретельно тестуйте форму, особливо при використанні складних вкладених повторів.
  4. Використовуйте функцію зведення для допомоги анкетерам в навігації по довгих списках повторів.
  5. Будьте обережні з великою кількістю повторів, оскільки вони можуть впливати на продуктивність форми.

Обробка нульових повторів

Для представлення нуля повторів у rtSurvey:

  1. Навчіть анкетерів видаляти перший повтор, якщо він не потрібен.
  2. Використовуйте динамічну кількість повторів, коли точна кількість відома.
  3. Використовуйте relevant для умовного відображення повторів.

Питання експорту даних

При експорті даних з rtSurvey дані повторів зазвичай “розгортаються”. Кожен екземпляр повтору стає окремим рядком у експортованих даних, а дані батьківської форми повторюються для кожного екземпляру.

Міркування щодо мобільного додатку

  • Повтори у мобільному додатку rtSurvey підтримують офлайн-збір даних.
  • Велика кількість повторів може впливати на продуктивність додатку на пристроях нижчого класу.

Ефективно використовуючи повтори в rtSurvey, ви можете створювати гнучкі та потужні опитування, здатні захоплювати складні, ієрархічні структури даних, зберігаючи зручний інтерфейс для анкетерів.

Чи була ця сторінка корисною?