Если вы вычисляете поле типа String , это правильный синтаксис:
CASE
WHEN "VSt_K" = 'A' THEN '1'
WHEN "VSt_K" = 'B' THEN '2'
WHEN "VSt_K" = 'C' THEN '3'
END
Вместо этого, если это тип Integer :
CASE
WHEN "VSt_K" = 'A' THEN 1
WHEN "VSt_K" = 'B' THEN 2
WHEN "VSt_K" = 'C' THEN 3
END
РЕДАКТИРОВАТЬ
Синтаксис Advanced Python Field Calculator
In Processing Toolbox отличается от синтаксиса стандартного калькулятора полей QGIS. Поэтому вы должны написать свои условные выражения с использованием Python:
Глобальное выражение:
def getValue(x):
if x == 'A':
value = '1'
elif x == 'B':
value = '2'
elif x == 'C':
value = '3'
# ...and so on
return value
Формула:
value = getValue( <VSt_K> )
Примечание: можно использовать Advanced Python Field Calculator
In Modeler, однако вы должны указать исходные поля непосредственно в его формуле, потому что поля не могут использоваться в качестве входных параметров при использовании этого алгоритма. Кроме того, вы можете определить входной параметр String, содержащий формулу по умолчанию. Когда вы запускаете модель, вы можете в конечном итоге изменить исходное поле (поля) во входном параметре Formula, что делает модель идеально пригодной для повторного использования с другими данными.