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

转载:

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

URL结构

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

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

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

在URL中添加参数

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

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

注意:

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

实际操作

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

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

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

只显示区域为West的数据:

?Market=West

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

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

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

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

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

日期参数格式:
在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归属于两个公司,传入参数之后效果如下:
http://192.168.3.153:8000/#/views/Book2/Demo?EmpNumber=23333
CompanyName有两个筛选项

当员工编号为18888用户访问时,因其归属一个公司,筛选项中只有一项:
http://192.168.3.153:8000/#/views/Book2/Demo?EmpNumber=18888

参考文档

Filtering with Parameters
Filter Views using URL Parameters

你可能感兴趣的:(可视化:Tableau)