通过提供使用大括号 {} 括起来的名称,并以美元符号开头,可以在报表模板中显示问题的响应。 必须使用双引号将表达式中包含的任何字符串值括起来。
下方示例将显示来自名为 firstname 的文本问题的响应。
${firstname}
除了在报告中显示对问题的响应外,关键字还可用于显示其他有用的信息。 打印报告时,以下内容将显示当前日期和时间:
${$date}
如果结果是一个数组,则可以在大括号中使用 # 作为开始标签,使用 / 作为结束标签以迭代该数组。 以下内容会在单独的行上打印所有图像文件:
${#image1}
${$file}
${/}
您还可以使用表达式来优化响应的显示方式。 表达式可以为单个问题名称或关键字(同上)、涉及一个或多个问题或关键字的计算,或者是带有用于限制响应样式或将样式应用于响应的方法和参数的问题名称或关键字。 表达式将使用以下注记:
${questionname or keyword | method:parameter}
一个表达式可以包含多个方法和参数,或者根本不包含任何方法和参数。 参数可以是其他问题的值,也可以是固定值。
以下表达式将显示名为 floweringtrees 的数字问题除以名为 totaltrees 的数字问题的计算。 当在同一个表达式中引用多个问题时,只需要直接命名单个问题名称,不需要额外的大括号。
${floweringtrees / totaltrees}
以下表达式将显示位置问题的 x 坐标值,其中 getValue 是方法,x 是参数。
${location | getValue:"x"}
如果对 fruitcolor 问题的响应不等于 red,则以下表达式评估为 true。
${if fruitcolor!="red"}The fruit is not red.${/}
可以使用加号连接表达式中的字符串,从而将其串连。 以下表达式通过这种串连将名为 field_0 的问题的内容传递至生成服务的 QR 代码,同时创建问题响应的 QR 代码。
${$image | src:"https://barcode.tec-it.com/barcode.ashx?code=QRCode&data="+field_0}
以下主题中提供了每种类型问题的示例表达式:
- 文本表达式
- 数字表达式
- 图像和其他附件表达式
- 地图表达式(包括 geopoint、geotrace 和 geoshape)
- 日期、时间和日期时间表达式
- 选择表达式
- 重复表达式
表达式方法
并非所有的问题类型都支持表达式和方法。 下表列出了可与各种问题类型搭配使用的方法和参数。
方法 | 参数 | Connect 问题类型 | Web 设计器问题类型 | 描述 |
---|---|---|---|---|
getValue | - | 所有问题类型 | 所有问题类型 | 从要素图层中检索原始数据值,或从附件中检索原始图像。 |
getValue | x, y, z, wkid | geopoint | 地图 | 在指定的空间参考中分别检索 x, y, z 坐标。 wkid 参数是可选的,如果省略,其值将与要素图层的空间参考相同。 |
getValue | length, area, unit, measurement type | geotrace、geoshape | 地图 | 返回折线的长度,或多边形的周长或面积(以给定单位为单位),并指定测量是否为平面或测地线。 默认测量类型为测地线。 |
getValue | name, size | image、audio、file | 图像、签名、音频、文件 | 返回附件的文件名或大小。 |
getValue | width, height, x, y, date, time, direction | 图像 | 图像,签名 | 宽度和高度返回图像宽度和高度的整数值(以像素为单位),以及 x、y、日期、时间和方向,返回从图像 EXIF 读取的值(如果存在)。 |
getValue | count | begin repeat、image、audio、file | 重复、图像、签名、音频、文件 | 返回重复或附件的总数。 |
getValue | 位置 | begin repeat、image、audio、file | 重复、图像、签名、音频、文件 | 返回与数组中 1 索引位置相等的整数。 |
getValue | duration | audio、file | 音频、文件 | 返回音频记录的长度(以秒为单位)。 警告:使用 Safari 时,持续时间不会在 Web 应用程序中采集的响应中返回。 |
appearance | multiline | text | 多行文本 | 保留字符串中的换行符。 如果未指定外观值,则将返回单行字符串。 |
appearance | bullets | select_multiple | 多选 | 以项目符号格式返回答案。 |
checked | 选项名称 | select_one、select_multiple | 多选、单选、单选表格、下拉列表、李克特量表、评分 | 如果字段值等于选项名称,则返回选中的复选框,否则,返回未选中的复选框。 |
selected | 选项名称 | select_one、select_multiple | 多选、单选、单选表格、下拉列表、李克特量表、评分 | 如果存在编码值域,则当字段值等于选项名称时,将返回 true;否则将返回 false。 |
countSelected | - | select_one、select_multiple | 多选、单选、单选表格、下拉列表、李克特量表、评分 | 返回所选的选项的数量。 |
selectedAt | index | select_one、select_multiple | 多选、单选、单选表格、下拉列表、李克特量表、评分 | 返回选项列表中索引位置的字符串。 索引从零开始。 |
locale | language code | date, dateTime, start, end, decimal | 日期、日期和时间、数字 | 返回本地化日期、时间和数字。 |
format | format string | date, dateTime, integer, decimal, start, end | 日期、日期和时间 | 返回格式化日期字符串。 |
utcOffset | offset value | date, dateTime, start, end | 日期、日期和时间 | 返回平移 UTC 偏移值的日期或日期时间值。 |
mapSettings | web 地图项目 ID、地图比例 | geopoint、geotrace、geoshape | 地图 | 在打印地图图像时指定底图和比例尺。 旧版本:此方法已被 map 和 mapScale 替换。 |
mapExtent | xmin、ymin、xmax、ymax、wkid | geopoint、geotrace、geoshape | 地图 | 打印地图图像时指定固定地图范围。 wkid 参数为可选参数,如果省略,将设置为 4326 (WGS 1984)。 |
地图 | web 地图项目 ID | geopoint、geotrace、geoshape | 地图 | 在打印地图图像时指定底图。 |
mapScale | 地图比例 | geopoint、geotrace、geoshape | 地图 | 在打印地图图像时指定地图比例。 |
mapFilters | web 地图 JSON 中的图层 ID,查询参数 | geopoint、geotrace、geoshape | 地图 | 当打印地图图像时,在 web 地图中指定要素图层的一个或多个过滤器。 |
rotate | degrees | geopoint, geotrace, geoshape, image | 地图、图像 | 指定地图和图像的旋转角度。 |
drawingInfo | currentLayer、要素图层 URL | geopoint、geotrace、geoshape | 地图 | 指定打印地图图像时的绘制信息,包括符号、标注和透明度。 |
src | 图像 URL | - | - | 指定动态图像元素的源 URL。 |
size | width, height, max width, max height | 图像 | 图像 | 指定打印图像的大小。 |
round | places | decimal, geopoint, geoshape, geotrace | 数字 | 将十进制数字四舍五入到指定的小数位。 |
useGrouping | boolean | decimal | 数字 | 如果为 true,则返回带有由区域设置确定的分组分隔符的数字;如果为 false,则不会使用分隔符。 |
toFixed | places | decimal, geopoint, geoshape, geotrace | 数字 | 指定小数分隔符后的固定位数。 如果需要满足固定位数,将填充零。 |
attachmentsDefExp | SQL 表达式 | image、audio、file | 图像、签名、音频、文件 | 使用 $attachment 关键字识别问题或当前要素的附件。 |
表达式关键字
下表列出了所有可以用于表达式的关键字:
关键字 | 描述 |
---|---|
$date | 打印报告时插入当前日期和时间。 默认情况下,它使用当前区域设置格式输出当前日期。 例如:
|
$image | 在报告中插入图像元素。 使用 src 方法指定图像 URL。 示例:
|
$map | 在报告中插入地图元素,而不引用调查问题。 示例:
|
$shape | 在地图上打印当前要素的几何(点、折线或面)。 例如:
|
$attachment | 表示第一个附件或当前要素的所有附件。 例如:
要迭代所有附件,请添加开始和结束标签。
|
$file | 在迭代附件调查问题或要素附件的多个文件时,表示当前文件。 例如:
|
$feature | 表示要素数组中的当前要素。 示例:
|
$layers["<layername>"] 或 $layers[<layerId>] | 在与调查图层相同的要素服务中按名称或 ID 引用任意图层。 例如:
|