报表统计图之间的切换方法(二)

逸报表提供了非常强大的图形功能,饼形图,柱状图,折线图等等,这些图形在web报表中都有很广泛的应用,快逸报表都可以很轻松便捷的设计每一种统计图。但是这些统计图之间是否可以来回切换呢,比如我设计了一个饼形图,但是别人却想看它的柱形图效果,能否轻松的实现饼形图到柱形图的转换就是本文要解决的需求。
实现这个需求的主要思路是先将需要的统计图设计出来,然后通过控制该统计图所在行的显示与隐藏,来控制该统计图的显示与隐藏。具体的实现步骤如下:

第一步,准备数据与统计图

本例连接的是demo数据源。
ds1:SELECT EMPLOYEE.EMPID,DEGREE.NAME,TITLE.TITLENAME FROM EMPLOYEE,DEGREE,TITLE
WHERE TITLE.ID = EMPLOYEE.TITLE and EMPLOYEE.DEGREE = DEGREE.ID
然后设计报表:


A2:=ds1.group(TITLENAME,false)
B2:=ds1.count()
在A3,A4,A5插入统计图,
A3:饼形图,分类轴为=A2,系列名称=”员工数”,系列值=B2,标题=A2+B2+”人”
A4:柱状图,分类轴为=A2,系列名称=”员工数”,系列值=B2,标题=A2+B2+”人”
A5:折线图,分类轴为=A2,系列名称=”员工数”,系列值=B2,标题=A2+B2+”人”
将统计图调节到适当的高度,以便显示的时候能完全显示出统计图信息。

第二步,为报表加入参数来控制显示统计图的类型

为报表加入一个参数,本例中命名为type,类型为数值,默认值为1。
然后在各统计图所在行的隐藏属性中接受该参数,通过表达式判断该行是否隐藏,下面是统计图所在各行的判断表达式:
选择A3单元格,在隐藏行的表达式里写if(@type==1,false,true)
选择A4单元格,在隐藏行的表达式里写if(@type==2,false,true)
选择A5单元格,在隐藏行的表达式里写if(@type==3,false,true)

最后一步,设计参数模板

选择C2,定义填报属性,编辑风格是下拉列表框,然后设计列表框

这样报表就设计完毕,浏览报表,参数值默认为1,所以默认显示为饼形图。

当选择柱状图时:

当选择折线图时:

这样,通过动态隐藏行列的方法就实现了统计图之间的切换的功能,满足了不同浏览者的需求。

热门文章