XLSForm 中的组允许您将相关问题组织在一起,改善调查结构并增强数据分析能力。rtSurvey 完全支持 XLSForm 组,并通过额外功能扩展其功能。

基本组结构

要创建一组问题,使用 begin_groupend_group 语法:

  | type         | name       | label                                    |
|--------------|------------|------------------------------------------|
| begin_group  | respondent | 受访者信息                   |
| text         | name       | 输入受访者姓名              |
| text         | position   | 输入受访者职位          |
| end_group    |            |                                          |
  

关键点:

  • begin_group 行需要 namelabel
  • end_group 行不需要名称或标签。
  • begin_groupend_group 之间的问题是该组的一部分。

组外观

rtSurvey 支持组的各种外观选项:

  1. field-list:在同一屏幕上显示多个问题。

      | type         | name       | label     | appearance |
    |--------------|------------|-----------|------------|
    | begin_group  | respondent | 受访者| field-list |
    | text         | name       | 姓名      |            |
    | text         | position   | 职位  |            |
    | end_group    |            |           |            |
      
  2. grid:为组创建紧凑的表格式布局(rtSurvey 特有)。

      | type         | name       | label     | appearance |
    |--------------|------------|-----------|------------|
    | begin_group  | household  | 家庭 | grid       |
    | text         | member_name| 姓名      |            |
    | integer      | member_age | 年龄       |            |
    | end_group    |            |           |            |
      
  3. collapsible:创建可展开/折叠的组(rtSurvey 特有)。

      | type         | name       | label     | appearance  |
    |--------------|------------|-----------|-------------|
    | begin_group  | details    | 详情   | collapsible |
    | text         | address    | 地址   |             |
    | text         | phone      | 电话     |             |
    | end_group    |            |           |             |
      

嵌套组

组可以嵌套在其他组内,形成更复杂的结构:

  | type         | name       | label                                    |
|--------------|------------|------------------------------------------|
| begin_group  | hospital   | 医院信息                     |
| text         | hosp_name  | 该医院的名称是什么?       |
| begin_group  | medication | 药品供应                  |
| select_one y_n| hiv_meds  | 该医院有 HIV 药物吗?  |
| end_group    |            |                                          |
| end_group    |            |                                          |
  

注意:始终先结束最近开始的组以保持正确的嵌套。

组的跳题逻辑

使用 relevant 列为整个组实现跳题逻辑:

  | type         | name   | label                                        | relevant        |
|--------------|--------|----------------------------------------------|-----------------|
| integer      | age    | 您几岁了?                             |                 |
| begin_group  | child  | 儿童                                        | ${age} <= 5     |
| integer      | muac   | 记录儿童的中上臂围   |                 |
| select_one y_n| mrdt  | 儿童的快速诊断测试是阳性吗?|                |
| end_group    |        |                                              |                 |
  

在此示例中,child 组只有在受访者年龄为 5 岁或以下时才会出现。

使用组的最佳实践

  1. 使用有意义的组名以改善数据分析。
  2. 保持组关注相关问题。
  3. 谨慎使用嵌套组以避免过于复杂的结构。
  4. 在组上使用 relevant 时,彻底测试跳题逻辑。
  5. 对于较短的组,考虑使用 field-list 外观以减少滚动。
  6. 利用 rtSurvey 的网格布局紧凑显示相关信息。
  7. 对于长表单,使用可折叠组以改善导航。

rtSurvey 特有功能

  1. 网格布局:使用 grid 外观进行表格式显示。
  2. 可折叠组:实现 collapsible 外观以创建可展开的部分。
  3. 自定义样式:为组应用自定义 CSS 以实现独特的视觉设计。
  4. 动态组行为:在组内实现复杂的跳题逻辑和计算。

多语言支持

rtSurvey 支持多语言组。对标签使用特定语言的列:

  | type         | name       | label::English | label::French |
|--------------|------------|----------------|---------------|
| begin_group  | personal   | Personal Info  | Infos Personnelles |
| text         | name       | Name           | Nom           |
| end_group    |            |                |               |
  

移动应用注意事项

  • field-list 外观的组在移动应用中显示为单个屏幕。
  • 可折叠组可以改善较小屏幕上的导航。
  • 网格布局可能会在移动设备上进行调整以获得更好的可见性。

已知限制

  • 极深的组嵌套可能影响某些设备上的性能。
  • 某些高级样式选项在移动应用的组中可能不可用。

组故障排除

  1. 确保每个 begin_group 都有对应的 end_group
  2. 检查组名在表单中是否唯一。
  3. 验证跳题逻辑引用的问题名称是否正确。
  4. 在网页和移动界面上全面测试组。

通过在 rtSurvey 的 XLSForm 中有效使用组,您可以创建组织良好、高效的调查,既能改善数据收集体验,又能提高数据分析的质量。

此页面有帮助吗?