Tableau-通过参数进行报表权限控制

转载:

本文介绍Tableau的URL传参技巧,并通过变通的方式进行报表的权限控制。希望各位从中获得启发,一起交流。

URL结构

从服务器上访问Tableau基本的URL结构如下:

多站点环境中,URL地址包括站点ID,结构如下:

当然,最简单方法是直接上服务器点开报表来确认URL

在URL中添加参数

要创建一个过滤参数的URL,你需要在URL中添加查询字符串

    在Tableau中,查询字符串以问号(?)开始。 如果URL本来就带参数,那么你需要在后面加个&符号,然后跟你的查询字符串 下面是个例子,参数之间用&分割,如果一个参数有多个值传入,那么每个值用逗号隔开: ?EmpID

注意:

    如果你的字段或者表名中的字符没出现在URL中,则代表他们被转码了。比如空格转为了%20 在8.1 和8.3环境中你访问报表的时候会发现后面跟了 #1 这种井字符+数字的(hash symbol and a number)标记,请先删除#1 标记,然后再传参,他们表示你当前会话的临时数量。 9.0以后先删除”:iid=<n>“ ,再添加变量。

实际操作

一、根据显示结果直接过滤

以Tableau的示例报表为例,基址如下:

只显示区域为West的数据:

?Market=West

显示产品类别为Coffee,Espresso的数据

显示区域East里面产品类型为Espresso的数据

日期参数格式: 在Tableau中 日期参数的格式为 yyyy-mm-dd hh:mm:ss 。例子如下:

?Order%20Date=2015-07-08 ?Order%20Date=2015-07-08%2022:18:00 ?Order%20Date=2015-07-08,2015-07-09,2015-07-10,2011-07-11

二、通过辅助数据源与动作结合控制报表权限

样本数据如下

1.业绩表 Performance 其中包含字段Company,后面会通过Dashboard的Action直接传公司名到该表进行数据筛选。

2. 中间表 ORG 包含员工与公司的对应关系。 打开报表的时候通过参数EmpNumber 将员工编号传入。 经过判断后返回公司名称、ID等。 这样就能达到权限控制的效果

直接将结果做成报表,在后面用Dashboard做成筛选项,进行各公司筛选。

3. Dashboard Demo 将两表组合之后,通过Action进行联动 筛选。设置见下图

最终效果

员工编号23333归属于两个公司,传入参数之后效果如下: CompanyName有两个筛选项 当员工编号为18888用户访问时,因其归属一个公司,筛选项中只有一项:

参考文档

经验分享 程序员 微信小程序 职场和发展