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用户访问时,因其归属一个公司,筛选项中只有一项:
参考文档
下一篇:
基本磁盘与所谓动态磁盘区别