历史版本15 :动态显示图表系列或分类 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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,如下图:

222

3)动态参数

在图表上方,动态列下方插入一行,输入各数据列的名称(即需要动态展现的数据列的名称),整个报表设计如下图:
222

选中所有数据列名称的单元格,即 A3 到 C3 单元格,右键,选择超级链接,点击按钮,增加一个名为 col 的动态参数,如下图:


注:该动态参数的意义为:点击该超级链接时,就将当前被点击的单元格的值传递给参数 col,参数 col 是动态列中使用的到的参数,因此动态列所在单元格就会显示被点击数据列的值,图表也就随着变化。

隐藏动态列所在的第一行和第二行,模板便完成了。

3.3 效果查看

保存该模板,点击分页预览,即可查看上面所展示的效果。

注:如果要动态展示分类轴,只需要将图表的分类轴数据源设置为动态列中动态变化的一列即可,同上。

已完成模板可参照:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\动态显示图表系列.cpt

在线查看示例效果请点击 动态显示图表系列 .cpt

4. 模板下载编辑

点击下载模板:动态显示图表系列.cpt