【问题标题】:Tableau Dashboard TemplatingTableau 仪表板模板
【发布时间】:2019-11-18 08:24:52
【问题描述】:

我们如何使 Tableau 仪表板模板化?我们只想创建报告的模板/线框,并且应客户的要求,我们应该能够获取该特定数据并生成报告并将其显示在 tableau Embedded-web 上的客户?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    没有很好的方法来做到这一点,但有一些 hacky 解决方法。

    选项 1:为每个客户端使用单独的数据库服务器,相同的架构

    如果每个客户端都有一个具有相同架构的单独数据库服务器,您可以使用Tableau Server REST API 为每个客户端复制工作簿和数据源,然后使用更新数据源连接端点更改数据库服务器的数据源指向新客户的。


    选项 2:相同的数据库服务器和架构

    1. 在您的数据库表中创建一个名为“client”的列,并将其设置为所有行中的客户 ID 或客户名称
    2. 在 Tableau 工作簿中创建一个名为“客户端”的参数
    3. 在 Tableau 中连接数据库和表时,可以使用自定义 SQL 语句,例如: SELECT * FROM table WHERE client=<Parameters.Client>
    4. 加载工作簿后,您可以使用 JS API 方法 Workbook.changeParameterValueAsync() 方法将 Client 参数设置为适当的客户端 ID

    这有一些严重的安全问题:如果用户能够找出另一个客户端的客户端 ID,他们就可以获取他们的数据。他们也可以通过自己调用 changeParameterValueAsync 来强制执行此操作。

    【讨论】:

    • 非常感谢卢克的解决方案。让我给你我们的场景。我们将拥有全球大约 10K 所大学的大量数据(可能存储在 S3 或 DB 中的电子表格中),每所大学将拥有大约 20 组分析数据(电子表格或DB)。我们倾向于将每所大学的数据集存储在其自己的 S3 存储桶中。用户可以进来为这 10K 大学中的任何一所大学请求报告,也可以应用一些过滤器。我们需要为所请求的大学生成和显示报告动态的。请指教。
    • 我明白了。如果您将数据粘贴在 S3 中,您可以考虑使用 Athena 和 Tableau Athena 数据连接器。通过这种方式,您可以继续向 S3 存储桶添加数据/大学,而 Tableau 可以继续获取新数据。
    • 再次感谢 Luke,使用 Tableau Athena 数据连接器我可以从 S3 获取数据,但我仍然对在用户选择/输入大学名称时动态生成仪表板/报告感到困惑。Tableau 是否允许创建仪表板/报告模板并根据用户输入动态填写数据?
    • 您可以使用大学名称列作为过滤器,这样只会显示所选大学的数据。
    猜你喜欢
    • 1970-01-01
    • 2020-01-22
    • 2018-04-05
    • 2017-07-31
    • 1970-01-01
    • 2019-02-16
    • 2015-12-07
    • 2016-07-18
    • 1970-01-01
    相关资源
    最近更新 更多