单条数据多值合并

 

问题描述

报表数据如下:

imagepng
想要实现数据合并展示 12,13,14;报表自带功能能做到合并的只有 ds.group()函数以及同值合并,使用这 2 种方法我们会发现数据展示为:

imagepng
这样显示是无法达到我们想要的效果,针对类似需求我们应该如果实现的?

解决方案

imagepng
A1:=ds1.select(field1)
B1:=split(A1,“,”),将数据拆分
A2:=esproc(“?.id()”,B1{})
报表内置函数 esproc()可以动态解析并计算集算器表达式,集算器 A.id{} 函数等同与 distinct,所以我们通过 esproc()调用集算器函数 A.id() 即可实现。

esproc()

函数说明:

动态解析并计算集算器表达式,等同于在集算器中执行 eval 函数。

语法:

esproc(StringExp,{argExp})
参数:

StringExp 待计算的表达式串
argExp 参数表达式

集算器 A.id()

函数参考链接:http://d.raqsoft.com.cn:6999/esproc/func/id.html