如何在 Tableau 中聚合字符串?例如,在详细级别,我有"is"和“否”值,但在聚合级别,我只想显示这些值之一
例如,如果聚合中包含“否”,则显示“否”,否则显示"is"。
即如果详细程度包含“否”,则显示“否”,否则显示"is"。
最佳答案
如果您使用 bool 值而不是字符串,这会更简单 - 而且这会强制只有两个合法值。如果您的字段名为已完成,包含 bool 值(即 TRUE 或 FALSE),则显示所有记录是否已完成,即如果“已完成”列中的值为 TRUE,您只需使用 MIN([Completed])
。
这是有效的,因为 Tableau 将 True 视为大于 False,因此当且仅当每个记录的条件都为 True 时,MIN(condition) 才为 true - 忽略空值。当且仅当至少有一条条件设置为 True 的记录时,MAX(condition) 才为 true。因此,对于 bool 值,您可以将 MIN() 读作“every”,将 MAX() 读作“any”。
唯一的问题是您的 bool 字段是否允许空值。如果是这样,您可以在几个选项之间做出决定。您可以采用默认行为,即默默地忽略空值,就好像它们不存在一样,或者您可以将字段引用包装在对 IFNULL() 的调用中,以提供您选择的默认值来替换空值。对于任何数据类型和聚合函数来说都是一样的。
此技术在多种情况下都很有用,包括定义集合的条件。
最后,如果您的数据集必须使用“YES”和“NO”等字符串而不是 bool 值,您可以通过定义新的计算字段(例如 Completed)来轻松转换为 bool 值 [Completed-Original] ="is"
关于tableau-api - 画面 : Aggregation of Boolean Conditions (encoded as Strings),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55312266/