反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

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

  • 文档创建者:doreen0813
  • 历史版本:30
  • 最近更新:April陶 于 2023-12-20
  • 1. 概述

    1.1 版本

    FineBI 版本功能变动
    6.0-
    6.0.16过滤组件绑定参数界面优化

    1.2 问题描述

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

    文本过滤组件的传参分为两种:

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

    27.gif

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

    31.gif

    1.3 实现思路

    示例一:

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

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

    示例二:

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

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

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

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

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

    2.1 创建 SQL 数据集

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

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

    21.png

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

    22.png

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

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

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

    24.png

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

    2.2 制作分组表

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

    2023-12-20_19-44-57.png

    2.3 过滤组件仅绑定参数

    1)添加仪表板,将制作的分组表拖进仪表板中。并新增文本下拉过滤组件,如下图所示:

    2023-12-20_19-46-43.png

    2)勾选「绑定参数」,在设置中绑定SQL参数「店号参数」,如下图所示:

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

    2023-12-20_19-47-45.png

    2.4 效果查看

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

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

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

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

    3.1 数据准备

    3.1.1 创建有参数的 SQL 数据集

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

    21.png

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

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

    22.png

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

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

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

    24.png

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

    3.1.2 创建无参数的 SQL 数据集

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

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

    27.png

    3.1.3 添加数据

    创建分析主题并添加两张数据表。如下图所示:

    2023-12-20_19-51-44.png


    3.2 制作分组表

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

    2023-12-20_19-44-57.png

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

    1)添加仪表板,将制作的分组表拖进仪表板中。并新增文本下拉过滤组件,如下图所示:

    25.png

    2)勾选「绑定参数」,在设置中绑定SQL参数「店号参数」,如下图所示:

    2023-12-20_19-47-45.png

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

    29.png

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

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

    3.4 通过过滤店名过滤店号

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

    可点击下拉三角,出现实际值设置项。拖入相关字段进行设置,如下图所示:

    2023-12-20_19-57-59.png

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

    3.5 效果查看

    详情请参加本文 1.2 节。

    4. 注意事项

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

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

    32.png

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

    33.png

    34.png

    附件列表


    主题: 制作仪表板
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持