本文介绍Tableau的URL传参技巧,并通过变通的方式进行报表的权限控制。希望各位从中获得启发,一起交流。
从服务器上访问Tableau基本的URL结构如下:
http://servername/views/workbook/sheet
多站点环境中,URL地址包括站点ID,结构如下:
http://servername/t/siteid/views/workbook/sheet
当然,最简单方法是直接上服务器点开报表来确认URL
要创建一个过滤参数的URL,你需要在URL中添加查询字符串
以Tableau的示例报表为例,基址如下:
http://192.168.3.153:8000/#/views/CoffeeSales/SalesPerformance
?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