【发布时间】:2014-02-26 02:45:02
【问题描述】:
我有一个在 RedShift 上运行的 Tableau 应用程序。 我有许多保存在不同模式中的数据表。 每个模式都有完全相同格式的表。
我也有一组用户。每个用户都应该只使用自己的架构(我有一个用户和架构之间的映射表)。
问题是如何让 Tableau 根据当前用户名在不同的架构上显示?
谢谢!
【问题讨论】:
标签: amazon-redshift tableau-api
我有一个在 RedShift 上运行的 Tableau 应用程序。 我有许多保存在不同模式中的数据表。 每个模式都有完全相同格式的表。
我也有一组用户。每个用户都应该只使用自己的架构(我有一个用户和架构之间的映射表)。
问题是如何让 Tableau 根据当前用户名在不同的架构上显示?
谢谢!
【问题讨论】:
标签: amazon-redshift tableau-api
Redshift 不具备设置默认架构的能力,因为可以在 MSSQL 中设置默认数据库,但也许您可以使用 search_path 功能,当用户登录时,Tableau 会查询用户/架构映射然后 table 将 search_path 设置为该模式。任何后续查询都会首先在该架构中查找表/视图。有关 search_path 的更多信息,请参阅 http://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html。
【讨论】:
我认为您不能根据用户名动态更改架构名称。
Tableau 工作簿(未打包)只是可读性很强的 xml 文件。
在 xml 中定义了连接。假设您有一个架构/用户映射列表,您可能只需编写一个小脚本来生成一堆工作簿,仅修改架构并使用 tabcmd 正确设置权限。
有两点需要注意:
【讨论】: