首页 > 解决方案 > 从 Tableau 中的表中排除多个值

问题描述

画面问题

我是 Tableau 的新手。我有一个字段名称 [Fruit description],我正在尝试使用关键字排除很多值。例如,我要排除所有具有短语 [very red] 或 [juicy] 等的值。

我使用 IF Contains([field], [substring])=true 尝试了多种语法......我做错了什么......

这是我所做的:

  If CONTAINS([fruit_description],"Very red")=true then "exclude"
  ELSEIF [fruit_description], "juicy") =true then "exclude"
  ELSEIF CONTAINS([fruit_description],"yummy")=true then "exclude"
  ELSEIF CONTAINS([fruit_description],"very tasteful")=true then "exclude"
 else "keep"
 END

我也试过说 =true 然后 0 else 1 但这些都没有奏效。我收到语法错误..

有什么帮助吗?:) 谢谢

标签: if-statementfiltertableau-apicontains

解决方案


您不必说“= true”。那是多余的。

将布尔表达式视为一等数据类型更简单、更易读,就像处理整数或字符串一样。然后,您可以定义一个名为[Tasty?]的布尔值计算字段

CONTAINS([fruit_description],"Very red") OR
CONTAINS([fruit_description], "juicy") OR
CONTAINS([fruit_description],"yummy") OR
CONTAINS([fruit_description],"very tasteful")

然后您可以在任何架子或计算字段上使用 [Tasty?],包括过滤架。我个人的约定是放一个 ? 在布尔值字段名称的末尾,因为它使 True 或 False 对于该字段的含义显而易见。您还可以为您的字段编辑别名,以便您显示的标签更加不言自明 - 例如使用别名 Tasty 和 Yucky 代替字段 [Tasty?] 的 True 和 False 显示

最后,如果您要对大数据进行大量这样的字符串比较,您可能需要寻找更有效的方法,例如使用正则表达式或预先计算计算 - 使用 Tableau Prep Builder 或创建数据提取。


推荐阅读