[]
        
(Showing Draft Content)

图表联动

图表联动指的是在同一张报表中实现图表和表格之间的联动效果。

如下图所示,当我们点击图表中的柱形条时,下方的表格会根据选择的大区进行联动,仅显示当前大区的数据。

图表联动2.gif

制作思路

此类图表联动效果的核心思路是在图表中设置钻取时选择当前报表本身,然后将表格中的数据根据参数值进行过滤。

而过滤表格中的数据时我们可以通过两种方法来实现:

  1. 通过新建内嵌数据集,直接在SQL语句中进行过滤;

  2. 直接在表格组件上添加数据过滤条件,进行视觉层的过滤,从而也能达到预期效果。

接下来就为您分别介绍这两种实现方法的操作过程。

方法一 使用数据集过滤

1. 新建报表,添加基于 WynDemoData 的内嵌数据集。使用图表组件,绑定字段并将图表标题改为“ 大区销售分析 ”。

image2020-11-5_12-23-53.png


2. 添加一个报表参数,如下图所示。

image2020-6-10_16-17-0.png


3. 新添加数据集,该数据集中使用报表参数进行大区的过滤。

image2020-11-5_12-24-47.png


4. 新建表格组件,并绑定“ 数据集2 ”中的各字段。

image2020-11-5_12-25-49.png


5. 单击保存按钮将报表保存,比如命名为“ 图表联动 ”。此时先将报表进行保存,是为了在下一步设置钻取操作时可以在列表中找到该报表。


6. 设置钻取操作。

选中图表的绘图区域,然后在右侧的属性设置面板中找到钻取操作。将钻取类型选择为跳转至报表;将跳转到报表选项设置为刚保存的报表名称,即报表本身。

image2020-11-5_12-27-22.png


设置跳转参数。将报表参数p1的数据设置为“ 数据集1 ”中的“ 销售大区 ”,因为我们要将柱形图中选中的大区数据同过报表参数传递出去,用于“ 数据集2 ”的数据过滤。

image2020-11-5_12-28-27.png


7. 此时预览报表,会发现需要输入一个参数值才可以进行预览。

为了可以直接进入报表,我们可以先为报表参数p1设置一个默认值,如“ 西北 ”,设置完成后单击上方的返回按钮,返回报表中。

image2020-6-10_16-32-16.png


8. 保存后,预览报表。此时可以看到已经实现我们需要的效果。

方法二 使用组件过滤

1 ~ 2 同方法一。

3. 添加表格组件,并绑定数据字段。

image2020-11-5_12-29-12.png


4. 选中表格,为表格组件添加数据过滤条件。然后保存报表,报表名称设置为“图表联动”。

image2020-11-5_13-37-37.png

5. 设置钻取操作。

选中图表的绘图区域,然后在右侧的属性设置面板中找到钻取操作。将钻取类型选择为跳转至报表;将跳转到报表选项设置为刚保存的报表名称,即报表本身。

image2020-11-5_13-38-42.png


设置跳转参数。将报表参数p1的数据设置为“ 销售大区 ”,因为我们要将柱形图中选中的大区数据同过报表参数传递出去,用于表格组件的数据过滤。

image2020-11-5_13-40-17.png


6. 此时预览报表,会发现需要输入一个参数值才可以进行预览。

为了可以直接进入报表,我们可以设置表格的隐藏属性,使其在没有参数输入时隐藏起来,有参数值时按参数值进行过滤显示。

选中表格组件,然后在属性设置面板中找到隐藏属性,然后单击右侧小方块按钮,选择表达式

image2022-1-14_14-52-35.png


在表达式编辑器中输入表达式: {IIF(IsNothing(@p1), true, false)}

image2022-1-14_14-54-10.png


然后将报表参数p1的可忽略属性开启。

image2020-6-10_16-46-42.png


7. 保存后,预览报表。可见开始预览时,由于没有参数输入,表格组件未显示。当单击图表中的柱形条时,表格则会根据所选大区进行数据过滤并显示。

图表联动示例2.gif