怎么制作动态列报表(非常规交叉表)

 

最常见的动态列报表是交叉表,这种报表很容易做,一般报表工具都支持。用固定的 SQL 作为数据源,动态列的问题由报表工具搞定。

但有时候我们要面对不是常规交叉表的动态列报表,比如:

331png

其所用数据表及显示的每一列都是根据用户选择来动态加载的,也就是说,要根据报表的参数来决定选出的列。

相较交叉表,其难点在于

1.数据来源需要动态拼出 SQL 语句去执行;

2.无法事先确定列数,也就无法在报表中使用固定列的表达式。

注:表达式的主要作用是为了可以控制页面单元格的取数,这部分无法确定报表也就没有办法再进一步计算渲染了。

解决办法答题分为两步:

  1. 数据集 SQL 部分处理为动态接收字段列及数据表;

  2. 报表主体部分通过内置函数实现动态渲染。

详细过程比较繁琐,可参考动态列报表的制作

关键字

页面动态列报表,列数动态变化的报表,列数不固定的报表,动态列的显示,列数不固定的报表显示,动态数据源报表,动态交叉报表