历史版本9 :[直连]年月区间过滤组件传参 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本功能变动
6.0-

1.2 问题描述

由于原始表数据量过大,有时可能会导致内存或磁盘占满的情况,因此通常需要使用 where 语句,加过滤条件来控制数据量。而 where 语句后面加上固定的数值会使得取数不灵活,此时可以使用参数动态控制 BI 取数的数据量,例如取动态时间段内的全部数据。

例如在「年月区间」过滤组件中选择 2015 年的数据,此时数据表中显示 2015 年的数据,如下图所示:

12.png

1.3 实现思路

1)添加 SQL 数据集,并在 SQL 语句中配置两个参数:开始时间与结束时间。

2)仪表板中使用「年月区间过滤组件」绑定参数,过滤出 2015 年全年数据。

2. 操作步骤编辑

示例数据:互联网访问统计表 .xlsx

下载示例数据并上传至 SQL Server。

2.1 添加 SQL 数据集

1)若同时拥有「抽取数据」和「直连数据」功能,则需要在数据列表中切换为「直连数据」。然后在公共数据中,点击「新建数据集 SQL 数据集」,如下图所示:

注:只有 数据处理用户 可以创建 SQL 数据集。

21.png

2)将数据集命名为「互联网访问数据」,选择数据连接,输入带参数的 SQL 语句,SELECT * FROM 互联网访问数据 WHERE format(统计日期,'yyyyMM') >=concat('${开始年份}',case when '${开始月份}'>9 then '${开始月份}'else concat(0,'${开始月份}') end ) and format(统计日期,'yyyyMM') <=concat('${截至年份}',case when '${截至月份}'>9 then '${截至月份}'else concat(0,'${截至月份}') end ),点击刷新,选择参数类型为「日期」并选择默认值,点击「确定」。如下图所示:

11.png

注1:示例为年月区间过滤组件 SQL 写法,不同的数据库写法不同,本文只提供参考示例,其他类型 SQL 参数写法详情参见:SQL 数据集参数写法示例 。

注2:默认值可任意选择,选择默认为空,即选择全部。

2.2 制作分组表

添加组件,制作出如下的分组表:

3.png

2.3 过滤组件绑定参数

1)添加仪表板,将制作的分组表拖进仪表板中。并新增「年月区间」过滤组件,如下图所示:

4.png

2)勾选「绑定参数」,在设置中对开始时间绑定 SQL 参数,开始时间的「年」绑定「开始年份」,「月」绑定「开始月份」;结束时间同理,如下图所示:

注:由于所有 SQL 数据集获取的参数都在绑定参数下拉框中,因此参数最好不要用一样的参数名。  

2022-09-28_18-59-19.png

2.4 效果查看

详情参见本文 1.2 节。