我有一个适用于RedShift的Tableau应用程序。 我有许多数据表保存在不同的模式中。 每个模式都具有相同格式的完全相同的表。
我也有一组用户。每个用户只应使用自己的模式(我有一个用户和模式之间的映射表)。
问题是如何根据当前用户名使Tableau查看不同的架构?
谢谢!
答案 0 :(得分:3)
Redshift没有设置默认架构的能力,因为可以在MSSQL中设置默认数据库,但也许您可以使用search_path功能,当用户登录时,Tableau会查询用户/架构映射然后,table将search_path设置为该架构。任何后续查询首先查找该模式中的表/视图。有关search_path的详细信息,请参阅http://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html。
答案 1 :(得分:1)
我认为您无法根据用户名动态更改架构名称。
Tableau工作簿(非打包)只是非常易读的xml文件。
在xml中定义了连接。假设你有一个模式/用户映射列表,你可能只需编写一个小脚本来生成一堆工作簿,只修改模式并使用tabcmd正确设置权限。
但有两点需要注意: