报表使用 esproc 函数实现字符串组内的数据过滤

 

报表中有一个字符串组类型参数 unitno,通过外部程序传入一组字符串组,要求报表中过滤出字符串组内以 B 开头的参数,形成新的参数组,数组数据如下:

imagepng
报表内置了集算器引擎,在报表中通过 esproc 函数可以实现 SPL 语法的调用,如上例,报表新增加一个动态参数,在参数表达式中写入:

esproc("?.select(pos(~,\"B\")>=0)",unitno)

如图:

imagepng
这样,报表中使用 arg1 参数,就是过滤后的结果。
esproc 函数主要有两个参数,第一个是 SPL 语句,动态数据用问号代替,第二部分是给对应问号传递数据。
这样通过 esproc 函数可以实现一个数组内的数据过滤。