Tableau api 在表格字段中使用分隔的项目列表

Tableau api 在表格字段中使用分隔的项目列表,tableau-api,Tableau Api,我正在准备一个Tableau中的数据可视化。 我有一些数据可以简化如下: Name, Score, Tag Joe, 5, A;B Phil, 7, D Quinn, 9, A;C Bill, 3, A;B;C 我想在标记字段上生成一个计算的单词云 每个项目A、B、C的发生。因此我需要生成: A,3 B,2 C,2 D,1 换句话说,我需要帮助处理包含分隔值列表的字段。 在示例数据是分隔符,但它可以是任何内容。 我希望cloud这个词作为用户更新 应用过滤器,例如拖动滑块以设置分数>5。 因

我正在准备一个Tableau中的数据可视化。 我有一些数据可以简化如下:

Name, Score, Tag
Joe, 5, A;B
Phil, 7, D
Quinn, 9, A;C
Bill, 3, A;B;C
我想在
标记
字段上生成一个计算的单词云 每个项目A、B、C的发生。因此我需要生成:

A,3
B,2
C,2
D,1
换句话说,我需要帮助处理包含分隔值列表的字段。 在示例数据
是分隔符,但它可以是任何内容。 我希望cloud这个词作为用户更新 应用过滤器,例如拖动滑块以设置
分数>5
。 因此,标签计数必须实时完成

我很确定我需要使用字段计算和表格计算。。? 可能我需要一个单独的表来跟踪标记

构建单词cloud和其他viz元素没有问题。 我需要的帮助是解析分隔列表字段和 计算标记计数

我可以完全控制源数据,因此如果有更简单的方法 通过重新组织模式来实现这一点,我很乐意这样做。我想分手 将字段向上分为Sperate
tag1
tag2
tagX
字段,并尝试在 分开的字段。。。但不确定这是否更简单


谢谢你的提示。

如果你有一套固定的3或4个标签,这里有一个方法是可以接受的。由于您有近50K个可能的标记,因此它不是解决问题的可行方法。但也许它会给你一个想法。类似的方法可以用于解决Tableau中的不同类型的问题,因此了解它是一个有用的技巧

对于每个标记,创建一个布尔计算字段,如果当前行包含该特定标记,则返回1,否则返回null(或您想要详细说明的任何条件)

例如,定义一个名为Tag_a的计算字段,定义为:

if contains(Tag, "A") then
  1
end
类似地,定义计算字段Tag_B、Tag_C等

到目前为止,这很容易。 然后,您可以在其他计算中使用这些字段来计算包含标记A的记录数,只筛选包含标记A的记录,在定义由公式动态计算的集时,使用“条件”选项卡上的“计算”字段。。。当然,低级计算字段函数可能更复杂,例如检查列表中是否存在至少2个字段

如果没有其他方法,这种方法有时可以让您将复杂的问题分解成小部分

不幸的是,硬编码计算字段名无法扩展到50K标记。为此,您可能需要重塑数据

另一种方法(在您的情况下可能更好)是在将数据馈送到Tableau之前对其进行重塑。Tableau最适用于标准化数据

对其进行预处理,使其看起来像:

Name, Score, Tag
Joe, 5, A
Joe, 5, B
Phil, 7, D
Quinn, 9, A
Quinn, 9, C
Bill, 3, A
Bill, 3, B
Bill, 3, C
在这一点上,标准的Tableau单词云图表应该可以很好地工作,并且当您添加更多的标记和数据时,它将很容易扩展


在使用Tableau进行分析之前,重塑数据以使其正常化是一个相当标准的步骤。有时您可以自动执行,比如使用自定义SQL,但通常必须首先使用某种脚本。如果您的数据来自Excel,Tableau有一个插件,可以帮助重塑数据。在Tableau知识库中查找它。

标记列表是否已修复?(这样,如果出现新标记,必须创建一个新的计算字段就不会很可怕)或者能够自动处理数据中出现的新标记是否重要?标记列表是固定的,因为我使用的是数据转储,而不是实时数据源。不需要处理出现的新标签。数据集中大约有50000个标签。谢谢Alex,我这两周很忙,但我保证会带着试用结果回来。Ted,你有没有回过这个问题?我向Tableau销售团队提出了一个类似的问题。他们使用透视表在Excel中解析和计算单词,然后在Tableau中应用单词cloud。我怀疑目前只有外部表的答案。这取决于数据布局的细节。它看起来越像一张直截了当的桌子,就越适合盒子里的桌子。如果您必须提前进行大量解析和大量NLP,那么您就越希望提前进行预处理。为了简单起见,可以在Tableau中进行一些重塑或正则表达式模式匹配,或者作为预处理步骤更有效地进行。说“外在的答案是唯一的”,这并不是一个真正公平的说法。在某些情况下,这是正确的选择,但在另一些情况下,这根本不必要。