历史版本8 :过滤组件联动 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

过滤组件联动是指后面过滤组件的可选值随着前面组件的选择变化而变化,例如第一个过滤组件选择江苏省,第二组件的选择范围变成江苏省内的城市,如下图所示:

63.png

1.2 实现思路

可以使用默认联动或参数联动实现:

  • 默认联动要求两个过滤组件使用的字段有关联关系或在一张自助数据集中。

  • 参数联动适用于 SQL 数据集。

2. 默认联动 编辑

示例数据使用 Demo 数据表「地区数据分析」。

当两个字段之间存在关系时, FineBI 可以实现自动联动。

2.1 新建分组表

将「省份」和「城市」拖入维度,「合同金额」拖入指标栏,如下图所示:

66.png

2.2 添加省份过滤组件

1)拖进一个文本下拉过滤组件,如下图所示:

67.png

2)设置过滤组件的数据来源,如下图所示:

68.png

3)设置过滤组件的名字为「省份」,点击组件,选择下拉>编辑标题,输入省份,如下图所示:

69.png

2.3 添加城市过滤组件

同「省份」过滤组件的设置方法一致,设置过滤字段为「城市」,并将该过滤组件命名为城市。如下图所示:

70.png

2.4 查看效果

选择省份为浙江,可以看到城市的选择范围缩小到浙江城市,如下图所示:

71.png

2.5 说明

FineBI 支持默认的过滤组件联动效果,即只需要将数据跟过滤组件进行绑定,FineBI 就会自动读取被绑定数据之间的关联关系,实现组件联动,数据之间的关联关系必须是以下两种关系中的一种:

  • 联动组件中的数据来源于一张表。

  • 两张表建立关联关系,联动组件前面的组件可以是主键表的任意字段,后面的组件内数据则可以是外键表中的任意字段。

3. 参数联动编辑

参数联动在仅开启 实时数据 直连数据库的情况下支持,通过参数传递的方式联动过滤组件。 

示例数据来自 BI Demo 的 Demo_CUSTOMER。

3.1 添加表

1)新建一个带省份参数的 SQL 数据集,命名为「客户带参数」。

新建 SQL 数据集,输入SQL 语句 select * from DEMO_CUSTOMER where 1=1 <parameter> and 省份 in ('${省份}' ) </parameter>,设置默认值为江苏省,并点击确定保存,如下图所示:

 1.png

2)新建一个不带参数的 SQL 数据集,并命名为「客户」。

输入 SQL 语句 select * from DEMO_CUSTOMER,如下图所示:

2.png

3)为新建的两个 SQL 数据集开启实时数据,如下图所示:

3.png

3.2 添加省份过滤组件

1)新建一个仪表板,在页面中添加文本过滤组件,如下图所示:

5.png

2)设置过滤组件数据来源,将「客户」表中的省份拖入字段栏,并绑定省份参数(该参数为之前在「客户带参数」表中设置的参数),如下图所示:

4.png

注:为该文本过滤组件添加不带参数的省份字段,是为了在过滤组件选择字段时能选到所有的省份值。

3)命名该过滤组件的名字为省份,如下图所示:

image.png

3.3 添加城市过滤组件

同「省份」过滤组件的设置方法一致,选择「客户带参数」表,设置过滤字段为「城市」,不需要绑定参数,并将该过滤组件命名为城市。如下图所示:

6.png

3.4 新建分组表

使用 SQL 数据集「客户带参数」表新建分组表,将「省份」和「城市」拖入维度栏,「指标」拖入指标栏,如下图所示:

7.png

点击进入仪表板按钮。

3.5 效果查看

选择省份为江苏,可以看到城市的选择范围缩小到江苏城市,如下图所示:

image.png