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

目录:

1. 概述编辑

1.1 版本

FineBI 版本功能变动
5.1-
5.1.5
  • 取消「实时数据」按钮,FineBI 提供「实时数据」和「抽取数据」两种计算模式的 BI 工程,避免实时数据和抽取数据混用带来的问题。

  • 过滤组件「绑定参数」时查找参数支持模糊搜索

5.1.11

「文本过滤组件」支持全选

注:全选最多支持选中 1000 个选项。

1.2 问题描述

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

文本组件的绑定参数分为两种:

第一种为当文本过滤组件为空时,数据表中也无数据,在文本下拉框中可以输入自己要的字段,例如输入「11011」并回车,数据表自动过滤出「店号」为「11011」的数据,如下图所示:

1611044126988551.gif

第二种为文本可下拉选择字段筛选,不需要手动输入,并且支持勾选全选,效果如下图所示:

1617163068204396.gif

1.3 实现思路

示例一:

1)添加 SQL 数据集,并在 SQL 语句中配置「店号」参数。

2)仪表板中使用「文本下拉过滤组件」绑定参数。

示例二:

1)添加 SQL 数据集,并在 SQL 语句中配置「店号」参数。

2)添加 SQL 数据集,不配置参数。

3)仪表板中使用「文本下拉过滤组件」绑定参数,并将不配置参数的数据集下的「店号」字段作为过滤组件下拉选项。

注:目前仅有文本过滤组件和日期类过滤组件提供绑定参数功能。  

2. 示例一:手动输入过滤编辑

2.1 创建 SQL 数据集

1)若同时拥有「实时数据」和「抽取数据」功能,则需要在数据列表中切换为「实时数据」,然后选择「数据准备」,点击进入分组下业务包,点击「添加表>添加 SQL 数据集」,如下图所示:

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

首先需要在 SQL 数据集中创建「店号」参数。

设置表名为「门店信息」,输入带参数的 SQL 语句 select * from NEW_DIAN where 店号 in ('${店号参数}'),即设置「店号」为参数并命名为「店号参数」,点击参数设置「刷新」,并选择默认值为 11011,点击「确定」保存,如下图所示:

1611044820678823.png

注1:默认值可任意选择,只影响预览数据。

注2:SQL 参数写法可参考:SQL 数据集参数写法示例

若「参数类型」为「文本」,希望预览时默认值展示多个,可输入例如:11011','11012,则预览界面显示对应两条数据,如下图所示:

1611211044332330.png

注:多个默认值格式为:参数值1','参数值2 。

2.2 创建仪表板

创建组件,制作数据表,图表类型选择「分组表」后,拖入字段,如下图所示:

1611044976565059.png

2.3 过滤组件仅绑定参数

新增文本过滤组件,如下图所示:

1611045092257786.png

点击「绑定参数」,然后输入店号,可进行模糊搜索,绑定「店号参数」,如下图所示:

注:普通用户要有一个有参数的数据集的权限之后,才会出现「绑定参数」的按钮。由于所有 SQL 数据集获取的参数都在绑定参数下拉框中,因此参数最好不要用一样的参数名。  

1611045268905958.gif

2.4 效果查看

效果详情请参见本文 1.2 节。

3. 示例二:下拉框选择过滤编辑

过滤组件只绑定参数只能通过手输进行过滤,若是需要有下拉框则需要绑定字段,来提供下拉框内容。本节讲述如何在实现绑定参数的同时,实现下拉框选择字段效果。

实现要求:被绑定字段所在的表不能有已绑定的参数「店号参数」。

3.1 创建 SQL 数据集

3.1.1 创建有参数的 SQL 数据集

1)数据处理用户 选择「数据准备」,进入业务包,点击「添加表>添加 SQL 数据集」,如下图所示:

首先需要在 SQL 数据集中创建「店号」参数。

设置表名为「门店信息」,输入带参数的 SQL 语句 select * from NEW_DIAN where 店号 in ('${店号参数}'),即设置「店号」为参数并命名为「店号参数」,点击参数设置「刷新」,并选择默认值为 11011,点击「确定」保存,如下图所示:

注1:默认值可任意选择,只影响预览数据。

注2:SQL 参数写法可参考:SQL 数据集参数写法示例

若「参数类型」为「文本」,希望预览时默认值展示多个,可输入例如:11011','11012,则预览界面显示对应两条数据,如下图所示:

注:多个默认值格式为:参数值1','参数值2 。

3.1.2 创建无参数的 SQL 数据集

此步骤主要是为了获取完整的「店号」数据,实现下拉框能选择所有的店号。

使用同样的数据表,输入 select * from NEW_DIAN,创建无参数的 SQL 数据集,如下图所示:

1611045812484906.png

3.2 创建仪表板

创建组件,选择 3.1.1 节创建的「门店信息」数据表,图表类型选择「分组表」后,拖入字段,如下图所示:

3.3 过滤组件绑定参数和字段

新增文本过滤组件,如下图所示:

1611045521499830.png

首先为文本组件绑定「店号参数」,此时和示例一相同,可实现手动输入过滤,如下图所示:

1611046095871804.png

为了下拉框展示所有店号数据,因此需要使用没有设置参数的门店数据表,将其拖入过滤组件字段栏下 ,如下图所示:

1611046286543092.png

注 1:普通用户要有一个有参数的数据集的权限之后,才会出现「绑定参数」的按钮。

注 2:此处不用带参数的门店表的店号字段拖入文本过滤组件中,是因为此时「门店」表取过来数据库的数据,是「店号」为 SQL 数据集中设置的默认值 11011 的店号信息。所以文本框下拉可选的值也只有11011,不包括所有店号的字段值。  

3.4 通过过滤店名过滤店号

此时,用户可能会觉得,使用下拉框过滤选择的店号为 ID 字段,不容易记忆,而且已有数据为一个「店号」对应一个「店名」,希望能直接选择店名进行过滤,可进行如下设置:

1611046846515787.png

此时,在进行过滤时,表面上是过滤店名,实际是对店号进行过滤。

3.5 效果查看

详情请参加本文 1.2 节。

4. 注意事项编辑

过滤组件有两种用法:上文介绍的参数绑定的用法和 普通过滤组件 的用法。

在「示例二」的默认情况下过滤组件的功能为参数,即绑定字段的过滤组件控制范围只能过滤带参数的表「门店」制作的数据表组件,如下图所示:

1611047049949063.png

若想要过滤组件在满足示例二效果同时,还能过滤绑定字段所在的不带参数的「门店维度」表制作的组件。可去「管理系统>系统管理>常规」中的「BI参数」设置框,开启「参数控件过滤生效」按钮,如下图所示:

1603072582116914.png