报表表达式

通过提供使用大括号 {} 括起来的名称,并以美元符号开头,可以在报表模板中显示问题的响应。 必须使用双引号将表达式中包含的任何字符串值括起来。

下方示例将显示来自名为 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}

以下主题中提供了每种类型问题的示例表达式:

表达式方法

并非所有的问题类型都支持表达式和方法。 下表列出了可与各种问题类型搭配使用的方法和参数。

方法参数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

地图

在打印地图图像时指定底图和比例尺。

旧版本:

此方法已被 mapmapScale 替换。

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

打印报告时插入当前日期和时间。 默认情况下,它使用当前区域设置格式输出当前日期。

例如:

${$date | format:"MM/DD/YYYY"}
$($date | utcOffset:"+08:00"}
$($date | locale:"zh-cn"}

$image

在报告中插入图像元素。 使用 src 方法指定图像 URL。

示例:

${$image | src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"}

$map

在报告中插入地图元素,而不引用调查问题。

示例:

${$map | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$shape

在地图上打印当前要素的几何(点、折线或面)。

例如:

${$shape}
${$shape | map:"10df2279f9684e4a9f6a7f08febac2a9" | mapScale:4000000 | size:200:100}

$attachment

表示第一个附件或当前要素的所有附件。

例如:

${$attachment | getValue:"name"}
${$attachment | getValue:"size"}
${$attachment | size:200:300}

要迭代所有附件,请添加开始和结束标签。

${#$attachment}
${$file}
${/}

$file

在迭代附件调查问题或要素附件的多个文件时,表示当前文件。

例如:

${#image1}
${$file | size:460:0}
{/}

${#$attachment}
${$file | getValue:"position"}. ${$file | getValue:"name"}
${/}

$feature

表示要素数组中的当前要素。

示例:

{#repeat1}
{$feature | getValue: "position"}
{/}

$layers["<layername>"] 或

$layers[<layerId>]

在与调查图层相同的要素服务中按名称或 ID 引用任意图层。

例如:

${$layers["cities"] | where:”1=1 !important” | stats:”count,objectid”}
${#$layers["states"]}...${/}