On this page
code
重复问题
重复是 rtSurvey 中的一个强大功能,允许您在单个调查中多次收集同一组信息。这在家庭调查等场景中特别有用,您可能需要收集有关多个家庭成员的数据。
基本重复结构
要在 rtSurvey 中创建重复,使用 begin repeat 和 end repeat 结构:
| type | name | label |
|--------------|--------------|----------------------|
| begin repeat | child_repeat | |
| text | name | 儿童姓名 |
| decimal | birthweight | 儿童出生体重 |
| select_one male_female | sex | 儿童性别 |
| end repeat | | |
在此示例中,用户可以通过在表单中添加新的重复来收集多个儿童的信息。
重复标签
虽然 begin repeat 的 label 列是可选的,但添加标签可以改善导航:
| type | name | label |
|--------------|--------------|----------------------|
| begin repeat | child_repeat | 儿童信息 |
| text | name | 儿童姓名 |
| decimal | birthweight | 儿童出生体重 |
| select_one male_female | sex | 儿童性别 |
| end repeat | | |
rtSurvey 将显示"儿童信息"作为每个重复实例的标题。
固定重复次数
要指定固定的重复次数,使用 repeat_count 列:
| type | name | label | repeat_count |
|--------------|--------------|----------------------|--------------|
| begin repeat | child_repeat | 儿童信息 | 3 |
| text | name | 儿童姓名 | |
| decimal | birthweight | 儿童出生体重 | |
| end repeat | | | |
这将创建正好 3 次儿童重复。
动态重复次数
rtSurvey 支持基于之前答案的动态重复次数:
| type | name | label | repeat_count |
|----------|----------------|--------------------------------|--------------------|
| integer | num_hh_members | 家庭成员人数? | |
| begin repeat | hh_member | 家庭成员 | ${num_hh_members} |
| text | name | 姓名 | |
| integer | age | 年龄 | |
| end repeat | | | |
条件重复
您可以使用 relevant 列有条件地显示重复:
| type | name | label | relevant |
|-------------------|-------------|---------------------------|---------------------|
| select_one yes_no | has_child | 这里有孩子居住吗?| |
| begin repeat | child_repeat| 儿童信息 | ${has_child} = 'yes'|
| text | name | 儿童姓名 | |
| decimal | birthweight | 儿童出生体重 | |
| end repeat | | | |
rtSurvey 特有功能
重复摘要
rtSurvey 提供重复的摘要视图。要自定义摘要,在重复内使用组:
| type | name | label |
|--------------|--------------|------------------------------------------|
| begin repeat | person_repeat| |
| begin group | person | ${first_name} ${last_name} - ${age} |
| text | first_name | 名 |
| text | last_name | 姓 |
| integer | age | 年龄 |
| end group | | |
| end repeat | | |
重复外观选项
rtSurvey 为重复提供额外的外观选项:
appearance: field-list- 在一个屏幕上显示重复中的所有问题appearance: table-list- 以表格格式呈现重复
| type | name | label | appearance |
|--------------|--------------|-------------------|-------------|
| begin repeat | child_repeat | 儿童信息 | table-list |
| text | name | 姓名 | |
| integer | age | 年龄 | |
| end repeat | | | |
嵌套重复
rtSurvey 支持复杂数据结构的嵌套重复:
| type | name | label |
|--------------|----------------|----------------------|
| begin repeat | household | 家庭 |
| text | hh_name | 家庭名称 |
| begin repeat | hh_member | 家庭成员 |
| text | member_name | 成员姓名 |
| integer | member_age | 成员年龄 |
| end repeat | | |
| end repeat | | |
rtSurvey 重复使用最佳实践
- 为重复使用有意义的名称和标签以改善数据分析。
- 考虑使用动态重复次数以减少数据输入错误。
- 全面测试表单,尤其是在使用复杂的嵌套重复时。
- 使用摘要功能帮助调查员导航长列表的重复。
- 对大量重复要谨慎,因为它们可能影响表单性能。
处理零重复
在 rtSurvey 中表示零重复:
- 培训调查员在不需要时删除第一个重复。
- 当确切数量已知时使用动态重复次数。
- 使用
relevant有条件地显示重复。
数据导出注意事项
从 rtSurvey 导出数据时,重复数据通常会被扁平化。每个重复实例在导出数据中成为单独的行,父表单的数据在每个实例中重复。
移动应用注意事项
- rtSurvey 移动应用中的重复支持离线数据收集。
- 大量重复可能影响低端设备上的应用性能。
通过在 rtSurvey 中有效使用重复,您可以创建灵活强大的调查,能够捕获复杂的层次数据结构,同时为调查员保持友好的用户界面。
此页面有帮助吗?