获取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:
的几个步骤解决了它
getUnderlyingDataAsync
得到一个DataTable
,保存到一个名为dataTable
. 的对象中
- 通过调用
dataTable.getData()
获取所有(原始)数据。它 returns 一个二维数组。为了帮助您想象结构,假设数据源有 50 个对象,那么数组的长度为 50。如果每个对象有 5 个属性,那么嵌套数组的长度为 5(每个 属性表示为 1 个元素)。
- 通过调用
dataTable.getColumns()
获取所有列。在这里您将需要 name
和 index
属性。
- 通过组合 (3) 中的列和 (2) 中的(原始)数据,创建一个包含我们实际
JSON
数据的对象。
现在你应该有一个对象的结构化数组。
数据表示是在 Tableau 中创建的,我正在通过 Tableau JS API 访问并在我的网站上显示它:link to the API。
获得 viz
并显示我的 Tableau 已经完成。我有一个条形图,在水平列中显示我的数据。我的想法是,我希望能够单击一列,然后获取进入该列的数据。
假设我们有 12 个元素。它们由 3 列表示。第一列有 5 个元素,第二列有 3 个元素,第三列有 4 个元素。就我而言,在选择包含 4 个元素的列后,我希望能够获取基础 4 个数据条目。
我一直在阅读 API 文档 (link),并且我已经为 marksSelection
添加了点击侦听器。然而,它只是 returns 我的“排序条件”这么说。我尝试获取 getUnderlyingDataAsync
然后 getData()
但返回的数据实际上不是我可以使用的格式(因为只有行和列对而不是完整的数据条目)。
这样的事情可能吗?
我按照 API:
的几个步骤解决了它getUnderlyingDataAsync
得到一个DataTable
,保存到一个名为dataTable
. 的对象中
- 通过调用
dataTable.getData()
获取所有(原始)数据。它 returns 一个二维数组。为了帮助您想象结构,假设数据源有 50 个对象,那么数组的长度为 50。如果每个对象有 5 个属性,那么嵌套数组的长度为 5(每个 属性表示为 1 个元素)。 - 通过调用
dataTable.getColumns()
获取所有列。在这里您将需要name
和index
属性。 - 通过组合 (3) 中的列和 (2) 中的(原始)数据,创建一个包含我们实际
JSON
数据的对象。
现在你应该有一个对象的结构化数组。