Se você estiver calculando um campo do tipo String , esta é a sintaxe correta:
CASE
WHEN "VSt_K" = 'A' THEN '1'
WHEN "VSt_K" = 'B' THEN '2'
WHEN "VSt_K" = 'C' THEN '3'
END
Em vez disso, se for do tipo Inteiro :
CASE
WHEN "VSt_K" = 'A' THEN 1
WHEN "VSt_K" = 'B' THEN 2
WHEN "VSt_K" = 'C' THEN 3
END
EDITAR
A sintaxe da Advanced Python Field Calculator
caixa de ferramentas de processamento é diferente da da calculadora padrão do campo QGIS. Então você deve escrever suas expressões condicionais usando Python:
Expressão global:
def getValue(x):
if x == 'A':
value = '1'
elif x == 'B':
value = '2'
elif x == 'C':
value = '3'
# ...and so on
return value
Fórmula:
value = getValue( <VSt_K> )
Nota: é possível usar o Advanced Python Field Calculator
no Modeler, no entanto, você deve especificar o (s) campo (s) de origem diretamente em sua fórmula, porque os campos não podem ser usados como parâmetros de entrada ao usar esse algoritmo. Como alternativa, você pode definir um parâmetro String de entrada contendo a fórmula padrão. Ao executar o modelo, é possível alterar os campos de origem no parâmetro de entrada Fórmula, tornando o modelo perfeitamente reutilizável com outros dados.