动态显示图表系列或分类轴

编辑
文档创建者:印然 (67260 )     浏览次数:4237次     编辑次数:10次     最近更新:jiangsr 于 2017-11-14     

目录:

1. 问题描述编辑

上一节中介绍了报表跟图表的联动,即点击报表中的数据让图表的分类轴数据或系列值跟着变化,那么如果点击报表数据列的名称,使图表的系列名称或者分类轴动态变化又该如何实现呢 ,效果如下:
222

2. 解决思路编辑

动态显示图表的系列名称和分类轴,那么该图表只能使用单元格数据集,只需要让单元格动态显示数据列就行,在ds1.select()和ds1.group()函数的使用章节中有介绍到ds1.group()这个方法来获取数据集中的数据列,我们这里将数据列名称以动态参数的形式传递到该函数中,使数据列的数据动态显示在单元格中,然后图表数据源就来自于该动态变化的单元格。

3. 示例编辑

3.1 新建数据集
新建一张空白模板,添加数据集ds1:SELECT * FROM 销量
3.2 模板设计
1)动态数据列的实现
新增一个col的模板参数,默认值为:“销售员”,标题单元格B1直接使用公式=$col,动态数据列值所在单元格B2输入使用公式=ds1.group($col,,true),报表主体设计如下图:

注:B2单元格为图表的系列名称(动态变化),父格为A2,A2单元格是显示图表的分类轴数据,C2单元格为图表的系列值,对销量进行求和,根据B2单元格的变化而变化(动态变化)。
另:ds1.group($col,,true)公式的意思是,获取ds1数据集中col参数值数据列的所有值,并合并所有相同项,注意中间有一个空白的条件,需要两个逗号。
2)图表设计
合并动态列下方的一片单元格,插入图表,图表类型为柱形图,图表数据源为单元格数据源,分类轴为A2,系列名为B2,系列值为C2,如下图:
3)动态参数
在图表上方,动态列下方插入一行,输入各数据列的名称(即需要动态展现的数据列的名称),整个报表设计如下图:
222
选中所有数据列名称的单元格,即A3到C3单元格,右键,选择超级链接,点击按钮,增加一个名为col的动态参数,如下图:


注:该动态参数的意义为:点击该超级链接时,就将当前被点击的单元格的值传递给参数col,参数col是动态列中使用的到的参数,因此动态列所在单元格就会显示被点击数据列的值,图表也就随着变化。
隐藏动态列所在的第一行和第二行,模板便完成了。
3.3 效果查看
保存该模板,点击分页预览,即可查看上面所展示的效果。
注:如果要动态展示分类轴,只需要将图表的分类轴数据源设置为动态列中动态变化的一列即可,同上。
已完成模板可参照:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\动态显示图表系列.cpt
在线查看示例效果请点击动态显示图表系列.cpt

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?