【问题标题】:Getting the underlying data in tableau获取 tableau 中的基础数据
【发布时间】:2021-03-17 22:03:11
【问题描述】:

数据表示是在 Tableau 中创建的,我正在通过 Tableau JS API 访问并在我的网站上显示它:link to the API

获取viz 并展示我的Tableau 已经完成。我有一个条形图,在水平列中显示我的数据。我的想法是我希望能够点击一列,然后获取进入该列的数据。

假设我们有 12 个元素。它们由 3 列表示。第一列有 5 个,第二列有 3 个,第三列有 4 个。就我而言,在选择包含 4 个元素的列后,我希望能够获得底层的 4 个数据条目。

我一直在浏览 API 文档 (link),并为 marksSelection 添加了点击侦听器。但是,可以这么说,它只会返回“排序条件”。我尝试获取getUnderlyingDataAsync,然后获取getData(),但返回的数据并不是我可以使用的格式(因为只有成对的行和列,而不是完整的数据条目)。

这样的事情可能吗?

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    我在API 之后通过几个步骤解决了它:

    1. getUnderlyingDataAsync 获取DataTable,将其保存到名为dataTable 的对象中。
    2. 通过调用dataTable.getData() 获取所有(原始)数据。它返回一个二维数组。为了帮助您想象结构,假设数据源有 50 个对象,则数组的长度为 50。如果每个对象有 5 个属性,则嵌套数组的长度为 5(每个属性表示为 1 个元素)。
    3. 通过调用dataTable.getColumns() 获取所有列。在这里,您将需要 nameindex 属性。
    4. 通过组合 (3) 中的列和 (2) 中的(原始)数据,创建一个包含我们实际 JSON 数据的对象。

    现在您应该有一个结构化的对象数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多