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

编辑
  • 文档创建者:印然
  • 浏览次数:7344次
  • 编辑次数:12次
  • 最近更新:Kevin-s 于 2019-06-20
  • 1. 描述

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

    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)动态参数

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

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


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

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

    3.3 效果查看

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

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

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

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


    附件列表


    主题: 报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]