【问题标题】:Pull data from Tableau Server into Pandas Dataframe将数据从 Tableau Server 拉入 Pandas Dataframe
【发布时间】:2020-01-10 05:46:56
【问题描述】:

我的目标是加入三个只能通过 Tableau Server 使用的数据源(不能直接访问数据库)。数据太大,无法有效使用 Tableau 的数据混合。

一种方法是将数据从三个 Tableau Server 数据源提取到 Pandas 数据框中,进行必要的操作,然后保存一个 Excel 文件以用作 Tableau 中可视化的数据源。

我发现了很多关于 TabPy 模块的信息,该模块允许将 Pandas 数据框转换为 Tableau 数据提取,但没有找到太多关于如何以自动化方式从 Tableau 服务器中提取数据的信息。

我还阅读了关于 tabcmd 作为自动化任务的一种方式,但没有必要的管理员权限。

如果您需要更多信息,请告诉我。

【问题讨论】:

  • 如果数据源太大而无法在 tableau 数据混合中进行操作,可能有办法通过 Document API 获取它。 github.com/tableau/document-api-python
  • 谢谢,贝尔纳多。我也将探索这个选项。看起来这个 API 也允许您直接从数据源中提取数据,而 tabcmd 只允许您使用已发布的视图。

标签: python pandas automation tableau-api


【解决方案1】:

Tabcmd 不需要管理员权限。任何拥有服务器权限的人都可以使用它,但它会尊重您拥有的权限。您可以在服务器以外的计算机上安装 tabcmd,而无需额外的许可证密钥。

话虽如此,自动下载数据非常简单。获取工作簿的 URL,并在其末尾添加“.csv”。 .csv 位于 URL 的末尾,而不是您拥有的任何查询参数。

例如:http://[Tableau Server Location]/views/[Workbook Name]/[View Name].csv

使用 URL 参数,您可以自定义数据过滤器及其外观。只需确保将 .csv 放在 ?对于任何查询参数。

http://www.vizwiz.com/2014/03/the-greatest-tableau-tip-ever-exporting.html 了解更多信息以及其他一些技巧。

【讨论】:

  • 感谢您直接设置管理员权限位。根据我收集到的信息,导出的 .csv 不是您视图中的交叉表(即列的顺序不可预测),但我会考虑传递 URL 参数来格式化数据。
【解决方案2】:

您可以使用 pantab 来读取和写入 Hyper 数据提取 https://pantab.readthedocs.io/en/latest/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    相关资源
    最近更新 更多