获取tableau中的底层数据

Getting the underlying data in tableau

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

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

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

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

这样的事情可能吗?

我按照 API:

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

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