[实时数据]仪表板URL直接添加参数条件传参

  • 文档创建者:doreen0813
  • 编辑次数:29次
  • 最近更新:Roxy 于 2021-04-13
  • 1. 概述

    1.1 版本

    FineBI 版本功能变动
    5.1-
    5.1.5

    取消「实时数据」按钮,FineBI 提供「实时数据」和「抽取数据」两种计算模式的 BI 工程,避免实时数据和抽取数据混用带来的问题。

    5.1.6

    当 URL 传参和过滤组件 SQL 参数同时存在时,用户刷新仪表板时 URL 参数优先生效,比如跳转,或者浏览器直接刷新,直接复制链接打开等

    后续在跳转的仪表板界面操作改变参数后,过滤组件参数生效

    1.2 问题描述

    在集成环境下,用户需要想要在打开门店相关仪表板 URL 的时候,直接添加相关参数,如http://xxxxxxxx&店性质=管理店直接过滤出店性质为管理店的数据。

    1.3 实现思路

    在 SQL数据集 中添加参数

    在前端仪表板中直接增加参数条件,实现数据过滤功能。

    若需要通过过滤组件传递参数,详情参见:过滤组件作为参数参与计算跳转过滤组件传递参数

    2. 传递一个参数

    2.1 添加  SQL 数据集

    在业务包中新建带参数的 SQL 数据集:select * from new_dian where 店性质 in ('${店性质}')${店性质}就是设置的参数变量,点击「刷新」,设置参数的默认值为「自有店」,设置参数类型为文本类型,点击「预览」,并确定保存数据集,如下图所示:

    1611125997638347.png

    2.2 创建仪表板

    新建一张仪表板,选择创建的带参数的 SQL 数据表「门店」,拖入「店性质」和「记录数」字段,选择「分组表」,如下图所示:

    52.png

    2.3 传递参数

    链接类型传递一个值写法传递多个值写法
    公共链接&参数名称=参数值&参数名称=参数值1','参数值2
    预览链接?参数名称=参数值?参数名称=参数值1','参数值2

    2.3.1 公共链接传递参数

    若要实现在 URL 中的参数传递过滤,首先需要获取该仪表板的 URL 。进入仪表板节点,对新建的仪表板选择「创建公共链接」,开启公共链接并「复制链接」,如下图所示:

    1611126262466753.png

    在获取的URL后添加「&参数名称=参数值」

    比如获取的链接为:http://localhost:37799/webroot/decision/v5/design/report/share/085cfd6b620c441eae930b9ad709e717?link=eyJhbGciOiJIUzI1NiJ9.eyJyZXBvcnRJZCI6IjA4NWNmZDZiNjIwYzQ0MWVhZTkzMGI5YWQ3MDllNzE3IiwidXNlcklkIjoiYjVmMGMyZWUtNjQwZi00MDM5LWE0ZDQtOTE4YjU1MzU0ODk4IiwianRpIjoiand0In0.19qCbrS1Mlpr9unY30Sk02p4Y1PbS1fv2xIAu3VfMBk

    在最后添加「&店性质=管理店」:

    http://localhost:37799/webroot/decision/v5/design/report/share/085cfd6b620c441eae930b9ad709e717?link=eyJhbGciOiJIUzI1NiJ9.eyJyZXBvcnRJZCI6IjA4NWNmZDZiNjIwYzQ0MWVhZTkzMGI5YWQ3MDllNzE3IiwidXNlcklkIjoiYjVmMGMyZWUtNjQwZi00MDM5LWE0ZDQtOTE4YjU1MzU0ODk4IiwianRpIjoiand0In0.19qCbrS1Mlpr9unY30Sk02p4Y1PbS1fv2xIAu3VfMBk&店性质=管理店

    在地址栏输入添加参数后的 URL,可以看到通过 URL 中的参数传递,实现「管理店」的过滤,如下图所示:

    1611126460171256.png

    注:若浏览器不支持中文参数,即该参数传递过滤不生效,就需要把 json 类型的 url 参数值先进行编码 encodeURIComponent()。比如 edge 浏览器。  

    2.3.2 预览链接传递参数

    仪表板预览的 URL 加上「?参数名称=参数值」,也可以进行参数的传递。

    例如点击「预览仪表板」后可以获取预览的 URL ,如下图所示:

    1611126666609995.png

    在预览的 URL 后加入「?店性质=管理店」,可以看到下方的分组表中过滤出了管理店的数据,实现参数的传递功能,如下图所示:

    1611126728933883.png

    3. 传递多个参数

    在有多个参数的时候,URL 同样可以通过添加参数来实现多个条件过滤的效果。

    3.1 添加有多个参数的 SQL 数据集

    添加 SQL 数据集,输入带包含多个参数的 SQL 语句:select *  from new_dian where 店性质 in ('${店性质}' ) and 店风格 in ('${店风格}' )

    点击「刷新」,设置默认值为「时尚馆」和「自有店」,并保存数据集,如下图所示:

    1611127062975903.png

    3.2 创建仪表板

    使用该数据表的字段创建组件,包含「店性质」、「店风格」、「记录数」字段,组件中显示字段值均为参数默认值。如下图所示:

    1611127133876793.png

    3.3 传递参数

    参考 2.3 节获取该仪表板的链接,在获取的 URL 之后加上多个参数及值:

    链接类型传参写法
    公共链接&参数名称1=参数值1&参数名称2=参数值2
    预览链接?参数名称1=参数值1& 参数名称2=参数值2

    例如获取的预览 URL 为:

    http://localhost:37799/webroot/decision/v5/design/report/085cfd6b620c441eae930b9ad709e717/view

    为其加上参数「?店性质=管理店&店风格=生活馆」,添加参数后的 URL 为:

    http://localhost:37799/webroot/decision/v5/design/report/085cfd6b620c441eae930b9ad709e717/view?店性质=管理店&店风格=生活馆

    添加参数后仪表板可以直接过滤出对应的参数值,如下图所示:

    1611127575112767.png

    附件列表


    主题: 构建图表和分析数据
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

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

    总裁办24H投诉

    热线电话:173-127-81526