报表知识库
动态设定报表的数据集–宏设定
用宏实现数据表,数据字段的动态查询的报表实例屡见不鲜,用宏也可以实现数据集的动态设定,我们经常做报表时,数据是直接写到报表单元格的,而动态设定数据集时,要怎样在设计报表的时候写数据呢?
具体实现方式如下:
1. 创建三个数据集,本例中使用的数据源是demo。
2. 定义一个参数,如下图所示:
3. 定义一个宏,如下图所示:
4. 在报表中,写入如下数据:
当我们预览是,在设置报表参数值的窗口中输入“ds1”是,在数据浏览窗口中显示数据如下图所示:
在设定数据集时,我们的SQL语句并没对查询的数据加任何限制,却只显示一条数据,由此得出,单元格中的数据并没有进行扩展,为了是数据有效扩展,增加一列,在A2单元格中输入“=${macro1}.fieldName(1)”,在A3单元格中输入“=${macro1}.select(A2)”,报表中的数据如下图所示:
第一行,和第一列,我们只是用来做数据扩展的,所以将其分别设置为隐藏行,隐藏列,这样我们就完成了动态设定数据集的功能,让我们来预览一下数据吧!
在浏览时,报表中的数据,已经可以根据输入的数据集的名称来动态显示了,为了便于数据集的设定,可以设计一个参数模板,和报表一起发布。
经过以上的设置,我们就能在发布报表时动态设定要查询的数据集了。此实例,用到了增强函数,如果您的版本不支持增强函数可以通过其他方式来实现。