If statement 在contains函数的tableau中使用if语句
假设我有美国每个州/市的城市人口。我想把每个人口超过200万的城市都列为一个大城市。然后,如果一个州包含一个“大城市”,我想将该州标记为“大州”。我做了一个计算字段: 如果Pop>2000000,则“大城市”或“小城市”结束If statement 在contains函数的tableau中使用if语句,if-statement,contains,tableau-api,If Statement,Contains,Tableau Api,假设我有美国每个州/市的城市人口。我想把每个人口超过200万的城市都列为一个大城市。然后,如果一个州包含一个“大城市”,我想将该州标记为“大州”。我做了一个计算字段: 如果Pop>2000000,则“大城市”或“小城市”结束 这个很好用 现在,当我尝试为状态创建计算字段时,我尝试了以下方法: 如果包含([大城市],“大”),则“大州”或“小州”结束 这几乎是可行的,但当我只需要一个值时,每个状态都有多个值,无论是大状态还是小状态。如何阻止tableau创建多个值?默认情况下,将状态设置为“小状态
这个很好用 现在,当我尝试为状态创建计算字段时,我尝试了以下方法: 如果包含([大城市],“大”),则“大州”或“小州”结束
这几乎是可行的,但当我只需要一个值时,每个状态都有多个值,无论是大状态还是小状态。如何阻止tableau创建多个值?默认情况下,将
状态设置为“小状态”
当您检查城市人口时,如果您发现一个“大城市”
,请将州设置为“大州”
您可以尝试使用涉及两个计算字段的方法
假设您的大城市、小城市计算是一个名为city\u Size
现在,第一个计算字段将根据City\u Size
的值为每行分配1或0。将其命名为is\u big\u state
if City_Size = 'big' then
1
else
0
end
现在将此计算字段用于另一个计算,称为State\u type
IIF(Max(City_Size) = 1, "Big State", "Small State")
编辑:您可以将两者合并为一个:
IIF(Max(iif(City_Size = 'big', 1, 0)) = 1, "Big State", "Small State")
你好,布鲁斯,谢谢你的回复。我不相信你的等式在表中是有效的,在你的“then”陈述之后有一个逻辑错误(你不能像那样把大城市和大州放在一起)。另外,这是一个更复杂问题的简单版本,因此我无法使用解决方法:)如果包含([big city],“big”),那么“big state”或者“small state”
-从代码中删除或者“small state”
怎么样?这样,大州就不会分为大州和小州。因为我还想给没有大城市的州贴上标签。。。我的实际代码稍微复杂一些,它更像是如果值>7,那么x elseif值>4,然后y else z。。。所以我只是想把逻辑放在适当的位置来开发其他东西:)
IIF(Max(iif(City_Size = 'big', 1, 0)) = 1, "Big State", "Small State")