if-statement - 从 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 但这些都没有奏效。我收到语法错误..
有什么帮助吗?:) 谢谢
解决方案
您不必说“= 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 或创建数据提取。
推荐阅读
- c# - 在 Kiosk UWP 应用中运行 DevicePicker 类
- r - 在 R 中使用 agregate 和用户定义的函数,该函数取决于两列
- javascript - Alexa Skills 使用 slotValue 作为数组名称
- types - 函数定义中的 Julia where 语句
- docker - 如何实现 Kubernetes POD 到 POD 的通信?
- javascript - Service Worker 被删除并且即使在注册时指定根范围后也不会收到推送事件
- angular - Angular Typescript无法从键值对中获取键值
- python - 无法从欧拉角创建 quat,偏航角超过 90 glm
- r - 使用 data.table::dcast 或 tidyr 将长数据集转换为宽数据集
- python - 如何使用 python 花式索引将元素添加到二维数组?