Como criar uma fórmula para converter um texto em um número

Este tópico explica como criar uma fórmula para transformar uma opção textual de um atributo do tipo Lista de Opções em um valor numérico. Por exemplo, no formulário abaixo, a opção selecionada no campo Nível de Satisfação gera um valor correspondente no campo Índice de Aprovação.

 

 

No exemplo, o campo Nível de Satisfação é um atributo do tipo Lista de Opções de seleção única, cujas opções são "Baixo", "Médio" e "Alto". Já o campo Índice de Aprovação é um atributo do tipo Fórmula de saída Número cujo valor é calculado baseado na opção selecionada no campo anterior. A fórmula neste atributo segue a estrutura abaixo. Observe que essa estrutura é semelhante à clássica "if-then-else", porém a função "IF" é substituída pelo operador ternário "?".

#resultado = (@nivel_satisfacao=='Baixo' ? 1 :

              @nivel_satisfacao=='Médio' ? 2 :

              @nivel_satisfacao=='Alto'  ? 3 :

                                              -1 );

#resultado

 

Nota: o operador ternário "?", mesmo quando encadeado com outros, deve sempre começar e terminar com parênteses.

 

Nesse caso, se for selecionada a opção "Baixo" no campo Nível de Satisfação, a fórmula do campo Índice de Aprovação resultará no valor 1.00. Da mesma forma, a opção "Médio" resultará no valor 2.00 e "Alto" em 3.00.

Cada linha da fórmula só é avaliada se as condições anteriores forem falsas. Se a primeira condição for verdadeira, o primeiro valor é retornado. Caso contrário, o operador ternário seguinte é avaliado e o processo se repete até que algum deles seja verdadeiro ou todas a condições sejam avaliadas. Caso nenhuma condição seja atendida, o último valor restante será utilizado (no exemplo acima, "-1").