Используя операторы if в таблице на функции содержит

Скажем, у меня есть население городов для каждого штата / города в Соединенных Штатах. Я хочу отметить каждый город с более чем 2 миллионами населения как большой город. затем, если штат содержит "большой город", я хочу пометить этот штат как "большой штат". Я сделал расчетное поле:

если Pop>2000000, то "большой город" или "маленький город" заканчивается
Это отлично работает.

Теперь, когда я пытаюсь создать вычисляемое поле для состояния, я попытался это:

если содержит ([большой город],"большой"), то "большой штат", иначе "маленький штат" конец

Это почти работает, но я получаю несколько значений для каждого состояния, когда мне нужно только 1 значение, большое состояние или небольшое состояние. Как я могу остановить табло от создания нескольких значений?

2 ответа

Решение

Вы можете попробовать это с подходом, включающим два вычисляемых поля.

Предполагая, что ваш расчет big_city, small_city - это вычисляемое поле с именем City_Size

Теперь поле First Calculated будет присваивать 1 или 0 каждой строке, уменьшая значение City_Size, Назовите это как 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")

Есть state установлен в "small state" по умолчанию.

Когда вы проверяете население города, установите state в "big state" если вы найдете "big city",

if Pop > 2000000
    then "big city"
         "big state"
else
    "small city"
Другие вопросы по тегам