在包含函数的画面中使用 if 语句
using if statements in tableau on a contains function
假设我有美国每个州/城市的城市人口。我想将每个人口超过 200 万的城市标记为大城市。那么如果一个状态包含 "big city",我想将该状态标记为 "big state"。我做了一个计算字段:
if Pop>2000000 then "big city" else "small city" end
这很好用。
现在,当我尝试为状态创建一个计算字段时,我尝试了这个:
if contains([big city],"big") then "big state" else "small state" end
这几乎可行,但是当我只想要 1 个值(大状态或小状态)时,我会为每个状态获取多个值。如何阻止画面创建多个值?
将 state
默认设置为 "small state"
。
当您检查城市人口时,如果找到 "big city"
,请将 state
设置为 "big state"
。
if Pop > 2000000
then "big city"
"big state"
else
"small city"
您可以尝试使用涉及两个计算字段的方法。
假设您的 big_city、small_city 计算是一个名为 City_Size
的计算字段
现在,第一个计算字段将根据 City_Size
的值为每一行分配 1 或 0。将其命名为 is_big_state
if City_Size = 'big' then
1
else
0
end
现在将这个计算字段用于另一个计算,称为State_type
IIF(Max(City_Size) = 1, "Big State", "Small State")
编辑:您可以将它们合二为一:
IIF(Max(iif(City_Size = 'big', 1, 0)) = 1, "Big State", "Small State")
假设我有美国每个州/城市的城市人口。我想将每个人口超过 200 万的城市标记为大城市。那么如果一个状态包含 "big city",我想将该状态标记为 "big state"。我做了一个计算字段:
if Pop>2000000 then "big city" else "small city" end
这很好用。
现在,当我尝试为状态创建一个计算字段时,我尝试了这个:
if contains([big city],"big") then "big state" else "small state" end
这几乎可行,但是当我只想要 1 个值(大状态或小状态)时,我会为每个状态获取多个值。如何阻止画面创建多个值?
将 state
默认设置为 "small state"
。
当您检查城市人口时,如果找到 "big city"
,请将 state
设置为 "big state"
。
if Pop > 2000000
then "big city"
"big state"
else
"small city"
您可以尝试使用涉及两个计算字段的方法。
假设您的 big_city、small_city 计算是一个名为 City_Size
现在,第一个计算字段将根据 City_Size
的值为每一行分配 1 或 0。将其命名为 is_big_state
if City_Size = 'big' then
1
else
0
end
现在将这个计算字段用于另一个计算,称为State_type
IIF(Max(City_Size) = 1, "Big State", "Small State")
编辑:您可以将它们合二为一:
IIF(Max(iif(City_Size = 'big', 1, 0)) = 1, "Big State", "Small State")