This website requires JavaScript.

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

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

URL结构

从服务器上访问Tableau基本的URL结构如下: http://servername/views/workbook/sheet

多站点环境中,URL地址包括站点ID,结构如下: http://servername/t/siteid/views/workbook/sheet

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

在URL中添加参数

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

注意:

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

实际操作

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

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

http://192.168.3.153:8000/#/views/CoffeeSales/SalesPerformance

只显示区域为West的数据:

?Market=West

http://192.168.3.153:8000/#/views/CoffeeSales/SalesPerformance**?Market=West**

image

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

http://192.168.3.153:8000/#/views/CoffeeSales/SalesPerformance**?Product%20Type=Coffee,Espresso**

image

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

http://192.168.3.153:8000/#/views/CoffeeSales/SalesPerformance**?Product%20Type=Espresso&Market=East** image

日期参数格式: 在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直接传公司名到该表进行数据筛选。 image image

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

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

image

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

image image

最终效果

员工编号23333归属于两个公司,传入参数之后效果如下: http://192.168.3.153:8000/#/views/Book2/Demo?EmpNumber=23333 CompanyName有两个筛选项 image 当员工编号为18888用户访问时,因其归属一个公司,筛选项中只有一项: http://192.168.3.153:8000/#/views/Book2/Demo?EmpNumber=18888 image

参考文档

Filtering with Parameters Filter Views using URL Parameters

0条评论
avatar