历史版本35 :[直连]仪表板URL直接添加参数条件传参 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本功能变动
5.1-
5.1.5

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

5.1.6

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

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

1.2 问题描述

在集成环境下,用户需要想要在打开门店相关仪表板 URL 的时候,直接添加相关参数,如http://xxxxxxxx&店性质=管理店(5.1.11之前的版本);http://xxxxxxxx?店性质=管理店(5.1.11  以及之后的版本)过滤出店性质为「管理店」的数据。

1.3 实现思路

在 SQL数据集 中添加参数

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

若需要通过过滤组件传递参数,详情参见:过滤组件作为参数参与计算跳转到仪表板(网页链接)

2. 传递一个参数编辑

2.1 添加  SQL 数据集

若同时拥有「实时数据」和「抽取数据」功能,则需要在数据列表中切换为「实时数据」,然后点击进入分组下业务包,如下图所示:

在业务包中新建带参数的 SQL 数据集,如下图所示:

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

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

1611125997638347.png

2.2 创建仪表板

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

1593336109135280.png

2.3 传递参数

链接类型传递一个值写法传递多个值写法
5.1.11 版本之前的公共链接&参数名称=参数值&参数名称=参数值1','参数值2
5.1.11 版本之后的公共链接?参数名称=参数值?参数名称=参数值1','参数值2
预览链接?参数名称=参数值?参数名称=参数值1','参数值2

2.3.1 公共链接传递参数

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

1611126262466753.png

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

5.1.11 版本之前,比如获取的链接为: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 浏览器。  

5.1.11 版本之后,比如获取的链接为:http://localhost:37799/webroot/decision/link/3Oth

在最后添加「?店性质=管理店」:http://localhost:37799/webroot/decision/link/3Oth?店性质=管理店

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

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 之后加上多个参数及值:

链接类型传参写法
5.1.11 版本之前的公共链接&参数名称1=参数值1&参数名称2=参数值2
5.1.11 版本之后的公共链接?参数名称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