反馈已提交

网络繁忙

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

[直连]参数为空选择所有值

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

    1.1 预期效果

    [直连]文本组件绑定参数中介绍了在直连数据库时,可通过过滤组件,使用参数动态控制 BI 取数的数据量。在上述文档中,当文本过滤组件为空时,数据表中无数据,那么如何实现当过滤组件为空时,显示数据表中所有数据呢?

    例如门店性质下拉框中不选择参数值时能够查询出数据表中的全部值呢,如下图所示:

    42.png

    1.2 实现思路

    • 添加 SQL 数据集,并在 SQL 语句中配置「店性质」参数,且 SQL 中需要增加 parameter 语句来保证参数为空时选择全部。

    • 添加 SQL 数据集,不配置参数,主要是为了获取完整的「店性质」数据,实现过滤组件下拉框能选择所有的店性质。

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

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

    2. 操作步骤

    2.1 创建带参数的 SQL 数据集

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

    注:只有 平台设计用户 可以创建 SQL 数据集。

    21.png

    2)输入带参数的SQL语句:select *  from NEW_DIAN where 1=1 <parameter> and 店性质 in ('${店性质}' ) </parameter>,命名该业务包为门店表(有参数)。点击「确定」保存该 SQL 数据集。

    注:此处也可使用SQL:select * from NEW_DIAN where 1=1 ${if(len(店性质) == 0,"","and 店性质 in ('" + 店性质 + "')")} 

    35.png

    SQL 语句说明:

    • 「where 1=1」表示条件永真,防止没有之后的参数条件时,where多出而导致出错

    • <parameter> and 店性质 in ('${店性质}' ) </parameter>为添加的店性质参数,该添加的「parameter」用于在中间参数为空时,获取店性质的所有值。

    2.2 创建不带参数的 SQL 数据集

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

    1)创建一个不添加参数的 SQL 数据集select *  from NEW_DIAN,命名为门店表(无参数),如下图所示:

    27.png

    2.3 添加明细表

    1)在主题内添加数据。如下图所示:

    2023-12-20_20-12-05.png

    使用有参数的门店表制作一个组件,图表类型选择「明细表」后,拖入字段,如下图所示:

    2023-12-20_20-12-33.png

    2.4 设置文本过滤组件

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

    2023-12-20_20-14-29.png

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

    2023-12-20_20-15-55.png

    3)因为想要在过滤组件中能够选择店性质的分类,因此将不带参数的门店表下的「店性质」字段拖入该过滤组件中,如下图所示:

    2023-12-20_20-17-55.png

    2.5 效果查看

    可以看到,文本过滤组件中不选择任何值,即参数为空时,该店性质字段显示为所有值,包括自有店、管理店及其他店的数据,如下图所示:

    40.png

    在点击门店性质过滤组件选择「管理店」时,下面的明细表通过参数带入 SQL 执行实现了管理店的过滤效果,如下图所示:

    41.png


    附件列表


    主题: 制作仪表板
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

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