本节将对模板的通用参数类型和json函数做详细介绍。
第三方图形可通过润乾报表传递不同数据类型参数,如字符串,数值,序列等。如需在右侧js模板内容中动态获取报表数据,可通过${参数名}格式获取,如${arg1}。点击刷新按钮可将右侧所有为${}格式的参数显示在参数列表中。
左侧参数值可为任意类型的参数。目前有三个固定参数,id(图形的唯一编号)、 width(图形宽) 、height(图形高),程序会自动填写,不会列出到左边参数面板。
通用参数类型说明:
字符串类型:可直接填写字符串值或返回值为字符串的表达式
序列:通过A3{}引用方式获取的报表数据,参数类型为数组,该引用方式通常可用于对分类、系列、系列值的取值,也可通过数据集.字段名获取,如ds2.product。
json串:可通过润乾报表提供的json函数对数据集做转换处理。具体json函数使用方法可以参见json()函数说明。
函数说明:
将数据集或表达式转换成json串,此函数主要在第三方图形中用来替换宏表达式${a}中的数据。
语法:
json ('expression','Field1','Field2',...)
参数说明:
expression 需要转换成json串的数据集或表达式
Field 字段名
返回值:
json串
选项:
@d 将指定的数据集转换为json串,格式为:[{字段名:值,字段名2:值...},{字段名:值2,字段名2:值2...},...],其中不指定Field时,转换所有的字段,如果指定了字段,则只有指定的字段被转换。
@m 将指定的数据集当map转换为json串,格式为:{字段1值:字段2值,字段1值2:字段2值2},其中不指定Field*时,仅转换头两个字段,如果指定了字段,且只能指定两个字段,以便解释为map 的key跟value
@a 将数据集转换成二维数组的json串,缺省为所有列。当仅指定一列时,则返回的是一维数组
@s 当字符串对象已经是一个json格式串时,直接返回该串,而不再加引号来表示
@v 将表达式计算结果的值转成json串,缺省是将表达式计算结果的记录转换成json串
@r 当上述选项有其一时,表示去当前格子的根集
示例:
ds1数据集:
|
A |
|
1 |
=to(1,5) |
|
2 |
=json(A1) |
[1,2,3,4,5] |
3 |
['a':3,'b':4,'c':4] |
|
4 |
=json(A3) |
"['a':3,'b':4,'c':4]" |
5 |
=json@s(A3) |
['a':3,'b':4,'c':4] |
6 |
=json@d("ds1","STUDENT") |
[{"STUDENT":"Lily"},{"STUDENT":"Rose"},{"STUDENT":"Petter"},{"STUDENT |
7 |
=json@m("ds1","STUDENT","SCORE") |
{"Lily":84,"Sira":84,"Petter":69,"Lucy":100,"Rose":77} |
8 |
=json@m("ds1") |
{"Class two":"Lucy","Class one":"Petter"} |
9 |
=json@a("ds1","SCORE") |
[84,77,69,84,100] |
10 |
=json@v(ds1.select(#1)) |
["Class one","Class one","Class one","Class two","Class two"] |