1. 概述
该功能仅支持 直连数据 。
1.1 版本
FineBI 版本 | 功能变动 |
---|---|
6.0 | - |
1.2 问题描述
用户希望由一张仪表板点击跳转到另一张仪表板中,同时实现参数的传值,使得 BI 仪表板通过跳转传参实现数据过滤。
1.2.1公共链接跳转传递参数
「公共链接跳转传递参数」:用在跳转后希望仪表板不可导出的情况下。
例如进入仪表板 A ,点击其中一条渠道 ID 进行跳转,弹出对话框为仪表板 B ,其中数据为对应渠道 ID 的每天的平均访问次数,效果如下图所示:
1.2.2 预览链接跳转传递参数
「预览链接跳转传递参数」:
1.3 实现思路
本文以 BI 内部仪表板跳转网页链接传参为例,提供「公共链接传递参数」和「预览链接传递参数」两种方式。
1)A 仪表板使用分组表展示「互联网_推广渠道表」中的内容。
2)B 仪表板展示「访问数据统计」每个渠道 ID 的日均访问次数。
3)设置 A 仪表板跳转到 B 仪表板,传递「渠道 ID」 为参数,设置打开位置为对话框。
2. 操作步骤
示例数据:内置 DEMO 下的「互联网_访问统计表」。
2.1 添加 SQL 数据集
首先需要在 SQL 数据集中创建「渠道ID」参数。
1)若同时拥有「抽取数据」和「直连数据」功能,则需要在数据列表中切换为「直连数据」。然后在公共数据中,点击「新建数据集 SQL 数据集」,如下图所示:
注:只有 设计用户 可以创建 SQL 数据集。
2)设置表名为「访问数据统计」,输入带参数的 SQL 语句 select * from 互联网_访问统计表 where 1=1 <parameter> and 渠道ID in ('${访问渠道}')</parameter>,即设置「渠道ID」为参数并命名为「访问渠道」,点击参数设置「刷新」,并选择默认为空,即选择全部,点击「确定」保存,如下图所示:
注1:上述 SQL where 1=1 表示条件永真,防止没有之后的参数条件时,where多出而导致出错;<parameter> and 店性质 in ('${店性质}' ) </parameter>为添加的店性质参数,该添加的parameter用于在中间参数为空时,获取店性质的所有值。
注2:不同的数据库写法不同,本文只提供参考示例,示例为日期区间过滤组件 SQL 写法,其他日期类型 SQL 参数写法详情参见:SQL 数据集参数写法示例 。
3)按照上述方法,添加「互联网_推广渠道表」,如下图所示:
2.2 创建跳转前仪表板A
使用「互联网_推广渠道表」的数据制作一张明细表,创建仪表板 A并将明细表拖入仪表板中 ,如下图所示:
注:跳转前的仪表板使用的数据集若没有设置参数,可使用抽取数据制作,但不推荐此种使用方式。
2.3 创建跳转子仪表板B
使用「访问数据统计」数据制作如下的分组表,「访问次数」的汇总方式为求「平均」,并创建仪表板 B ,将分组表拖入仪表板中,如下图所示:
2.4 设置跳转传参
2.4.1 公共链接跳转传参
1)为仪表板 B 创建公共链接,并复制链接,如下图所示:
2)对仪表板 A 进行跳转设置,如下图所示:
3)点击「+」,选择添加「网页链接」,将仪表板 B 的公共链接复制到 URL 处,在 URL 后添加参数访问渠道为「互联网_推广渠道表」中的渠道 ID :「?访问渠道=渠道ID」,并设置打开位置为「对话框」,点击确定,如下图所示:
若需要给参数传递多个值,格式如下所示:?参数名称=参数值1','参数值2
例如:增加参数:?访问渠道=QD1001','QD1002,则点击A 仪表板跳转到B 会过滤出QD1001和 QD1002 数据,如下图所示:
注:如果是动态传参,对应多个值的时候无法传参。
2.4.2 预览链接跳转传参
1)复制仪表板 B 预览状态下的链接,如下图所示:
2)同上述2.4.1 方法一致,对跳转进行设置,如下图所示:
若需要给参数传递多个值,格式如下所示:?参数名称=参数值1','参数值2
例如:增加参数:?访问渠道=QD1001','QD1002
2.5 效果查看
详情参见本文 1.2 节。
3. 注意事项
跳转后先按照 URL 传参生效,过滤组件设置的过滤条件不生效;当设置过滤组件过滤条件时只有过滤组件过滤生效,URL 跳转传参不生效。
例如上述示例如果 B 仪表板增加了文本过滤组件,过滤组件绑定的参数同样为「访问渠道」时,首先显示跳转传参结果,然后在跳转后的仪表板可使用过滤组件传参,如下图所示: