Tableau api Tableau:按字符串自定义分组

Tableau api Tableau:按字符串自定义分组,tableau-api,Tableau Api,我得到的数据如下所示: Drug name: Methylphenidate Methylphenidate Acetaminophen Ritalin Ritalin Tylenol Tylenol 我希望tableau将“利他林”视为“哌醋甲酯”,将“泰诺”视为“扑热息痛”。理想情况下,我希望有人能给我指一个菜单或计算字段脚本,在那里我可以写出一长串字符串替换。完整的数据集将有大约50个这样的更改 在这个例子中,我试图计算哌醋甲酯/利他林的处方次数,以及醋氨酚/泰诺的处方次数。这里,我希望

我得到的数据如下所示:

Drug name:
Methylphenidate
Methylphenidate
Acetaminophen
Ritalin
Ritalin
Tylenol
Tylenol
我希望tableau将“利他林”视为“哌醋甲酯”,将“泰诺”视为“扑热息痛”。理想情况下,我希望有人能给我指一个菜单或计算字段脚本,在那里我可以写出一长串字符串替换。完整的数据集将有大约50个这样的更改

在这个例子中,我试图计算哌醋甲酯/利他林的处方次数,以及醋氨酚/泰诺的处方次数。这里,我希望输出是利他林=4,泰诺=3

我能想到的唯一解决方案是进入数据源,复制“药物名称”列并运行“查找和替换”,但这并不雅观,在添加数据时需要重复

谢谢你的帮助


没问题。您可以通过一个简单的计算字段来实现这一点。创建一个新的计算字段并遵循此逻辑

if [NDC Description] = 'Abilify' then 'user1791903' 
elseif [NDC Description] = 'Actos' then 'user1791903'
elseif [NDC Description] = 'Actonel' then 'user1791903'

elseif [NDC Description] = 'Acyclovir' then 'Group2'
elseif [NDC Description] = 'Aciphex' then 'Group2'
else 'Unknown'
end

基本上,这将评估每个记录,并根据NDC描述是X还是Y,如果记录与您输入的任何文本不匹配,它将输出“user1791903”或“Group2”或“Unknown”。然后,您可以将此计算字段拖到工具架上,它将使用此分组显示,然后您可以添加聚合函数和任何其他需要的内容

没问题。您可以通过一个简单的计算字段来实现这一点。创建一个新的计算字段并遵循此逻辑

if [NDC Description] = 'Abilify' then 'user1791903' 
elseif [NDC Description] = 'Actos' then 'user1791903'
elseif [NDC Description] = 'Actonel' then 'user1791903'

elseif [NDC Description] = 'Acyclovir' then 'Group2'
elseif [NDC Description] = 'Aciphex' then 'Group2'
else 'Unknown'
end

基本上,这将评估每个记录,并根据NDC描述是X还是Y,如果记录与您输入的任何文本不匹配,它将输出“user1791903”或“Group2”或“Unknown”。然后,您可以将此计算字段拖到工具架上,它将使用此分组显示,然后您可以添加聚合函数和任何其他需要的内容

如果要将多个值映射到单个值(将它们向上滚动),则使用Tableau组。最简单的方法是:

  • 把药名放在架子上
  • 要组合的多选(shift-select)值
  • 单击工具栏上的回形针图标将它们组合在一起
  • 右键单击生成的组合名称,并设置所选的较短别名
  • 其效果是基于原始药物名称字段创建一个新的组字段,该字段的行为类似于计算字段@Aron defined


    相反,如果您想将每个值映射到它自己的不同标签(比如显示一个有意义的名称,而不是数据库中的一个简短的神秘代码),那么您可以创建别名而不是组。

    如果您要将多个值映射到一个值(向上滚动),那么请使用Tableau组。最简单的方法是:

  • 把药名放在架子上
  • 要组合的多选(shift-select)值
  • 单击工具栏上的回形针图标将它们组合在一起
  • 右键单击生成的组合名称,并设置所选的较短别名
  • 其效果是基于原始药物名称字段创建一个新的组字段,该字段的行为类似于计算字段@Aron defined


    相反,如果您想将每个值映射到它自己的不同标签(比如显示一个有意义的名称,而不是数据库中的一个简短的密码),那么您可以创建别名而不是组。

    所有这些响应都非常有用。我最终使用的解决方案是:

    我创建了一个单独的电子表格,其中列出了药物名称及其仿制药。然后我运行了一个表联接,将其添加到大型数据集中。这种方法很有价值,因为它允许我以后轻松地添加和编辑药物定义,甚至添加更多元数据


    谢谢大家。

    所有这些回答都非常有用。我最终使用的解决方案是:

    我创建了一个单独的电子表格,其中列出了药物名称及其仿制药。然后我运行了一个表联接,将其添加到大型数据集中。这种方法很有价值,因为它允许我以后轻松地添加和编辑药物定义,甚至添加更多元数据

    谢谢大家