反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

[直连]文本过滤组件传参

  • 文档创建者:doreen0813
  • 历史版本:25
  • 最近更新:Roxy 于 2021-12-02
  • 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

    附件列表


    主题: 构建图表和分析数据
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭