那些大神们做的动态报表,图表可以各种变化,报表可以随意切换,数据可以实时展示,那么,如何实现的呢?一共是6种动态报表的制作方法。
其实,动态报表的实现方式有很多,大家都会用的Excel配合高级函数以及VBA就能实现,但是用Excel做报表在企业里,如何给别人展示是一个问题,数据更新也是一个问题,数据量大了也成问题。所以在做企业报表基本都会用专业的报表工具,在web端展示报表。
所以本文分享一种报表工具(FineReport)制作动态报表的过程,需要一些sql基础,适合企业表哥表姐以及从事数据相关工作的朋友们学习。
动态报表的场景有动态查询报表、动态列报表、表数据钻取联动、可视化图表的联动与钻取、数据地图钻取与联动、动态表头动态分组等。
制作动态报表除了需要掌握其基本报表制作方法(这里省略教程,大家可自行学习入门),重点涉及到两个功能:参数功能以及超链关联功能。
1、参数功能
参数的作用主要是对数据进行过滤,很多情况下需要用到,比如在单元格中引用参数来实现动态标题、根据参数值的不同显示不同值等等。
参数的操作:
① 设置参数名称,添加参数,根据实际应用场景的需要选择不同类型的参数,有模板参数、全局参数(类似代码中的参数作用域,有的作用于本张报表,有的可以作用于所有报表)
② 给参数添加控件。控件是参数实现查询的载体,通过将控件和参数绑定,实现在控件中输入参数值,能够过滤并查询出用户想要查看的数据。控件有下拉单选框、下拉复选框之类。
③ 设置参数的使用,比如你通过参数来控制报表数据的过滤,就要在面板区拖拽组件。
参数添加控件:控件是参数实现查询的载体,选择控件类型,通过将控件和参数绑定,实现在
2、超链关联功能
这个很好理解,就相当于做网页,点击能跳转。finereport报表的展示也是在web端,你可以给一个数据字段、一个数据、一个图表、一个文字附超链,连接到另一张报表。
理解了上面的原理,接下来就来讲讲各种动态报表的实现吧!
一、动态列报表
我们在查询报表时,报表当中的字段都是已经固定的。
但是我们可能会遇到这样一种情况,即需要查询的是一个数据集,但是显示在报表当中的字段却并非固定,要允许用户在查询报表时,自己定义需要显示的是哪几个列,这样的报表我们称之为动态列报表。
动态列报表可以有两种实现方式:一是通过使用函数实现,二是通过定义数据集实现。
这里举例函数实现方法:设计表格——添加模板参数——添加参数控件——设置参数控件的数据字典。
二、动态查询
如上述效果,有两层功能,一层是筛选报表,另一层是当第一个下拉框控件满足某条件,其他条件才显示出来。FineReport可实现动态显示参数控件,例如:
①选择年报,显示年的下拉框控件
②选择月报,显示年月下拉框控件
③选择日报,显示日期下拉框控件
三、数据钻取
报表中数据钻取是一个普遍的需求,FineReport报表通过超级链接功能方便地实现数据钻取及无限层钻取。
在主报表模板中设置好超链接,关联子报表和参数。
在子报表模板中同样的绑定好刚刚设置的参数,两个报表就建立了关联。
四、可视化图表的联动与钻取
1)图表联动
这是一种高级的动态效果,比如下图点击柱状图的某一支,其他报表就对应的展现和他关联的图表数据,用的是图表超链功能,可以在同一个报表页面查看多张关联的图表,实现图表联动的效果,这种联动是自动的,不需重新刷新整个页面。
单个模板的图表超链功能,可让用户在同一页面中查看多张关联的图表,实现图表联动的效果,这种联动是自动的,不需重新刷新整个页面。
具体怎么制作,原理类似上述联动操作,需要对每张图表进行单独的关联设置,具体这里就不引入介绍了。
2)图表钻取到网络报表
还有一种钻取就是点击图表可以到相应的明细报表,进行数据的钻取,如下图。
原理也是类似,两张报表制作好以后,建立超链接关联。
五、数据地图钻取与联动
1)地图钻取
地图钻取也是很常用的动态报表样式,省级——市级——有两种钻取方式,一种点击钻取:
另一种自动钻取,自动钻取的就是地图放大后自动钻取,无需鼠标点击:
2)地图联动
在地图钻取的基础上,还有联动功能,点击对应区域,在右侧显示该区域详细表格和图表数据,点击地图目录联动到相应层级。
关于钻取,具体的设置如下:
六、其他动态报表功能
此外还有其他动态报表功能,比如动态显示报表标题、动态sheet扩展、动态分组,这些细节类需求也都可以在finereport中设置。