问题

问题:加法计算在 ArcGIS Survey123 调查表单中显示不正确的结果

Last Published: April 29, 2022

描述

在 ArcGIS Survey123 Connect 中,使用以下表达式对多个字段的输入进行加法时,计算结果会在 ArcGIS Survey123 调查表单中显示错误的值。

${question_one} + ${question_two}

下图显示房间总数和厨房字段相加得出不正确计算结果的示例。

整数和文本数据类型之间的总和计算得出不正确的总值的示例图像

原因

计算输入中的一个或多个字段为文本或字符串字段。 如果加法公式包括文本或字符串字段,(+) 运算符将连接字段值而不其相加。

解决方案或解决方法

选择以下方法之一来解决此问题。

在计算公式中使用 number() 函数

: 公式中的 number() 函数使计算中的文本或字符串值被识别为数字。
  1. 在 ArcGIS Survey123 Connect 中,打开调查的 XLS 表单。
  2. calculation 列中,在加法公式中的 number() 函数中插入字段。 在本例中,将在 calculation 列中指定以下表达式:
(number(${question_1})+number(${question_2}))

下图显示了在 ArcGIS Survey123 Connect 的 XLS 表单中,将文本 (total_rooms) 和整数 (total_kitchens) 字段类型相加的计算公式示例。

已配置的两种不同数据类型之间总和计算的示例的图像。
  1. 保存并重新发布调查表单。

在文本或字符串字段的 bind::type 列中将数据类型设置为 int

  1. 在 ArcGIS Survey123 Connect 中,打开调查的 XLS 表单。
  2. 在调查的 XLS 表单中,导航至文本或字符串字段的 bind::type 列。
  3. bind::type 列中,单击文本或字符串的单元格。
文本或字符串数据类型同一行上的空字段的图像
  1. 单击下拉箭头,然后选择 int
下拉箭头选择内容的图像
: 或者,如果默认没有创建 bind::type 列,则可以新建该列并在文本或字符串字段中填写 int
  1. calculation 列中,在文本或字符串字段的单元格中填写以下表达式:
int(${question_1}) + int(${question_2})
已配置计算结果的示例图像
  1. 保存并重新发布调查表单。

下图显示在 ArcGIS Survey123 调查表单中文本和整数字段值加法的正确计算结果的示例。

从综合计算中得出正确总值的示例图像。

文章 ID: 000024531

接收通知并查找新问题或常见问题的解决方案

从我们全新的 AI 聊天机器人中获得简明答案和视频解决方案。

下载 Esri 支持应用程序

相关信息

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项