É muito comum a gente criar colunas condicionais no nosso dia a dia, nem sempre teremos a informação já pronta da forma que precisamos.
Para quem trabalha com banco de dados deve estar mais acostumado a fazer esta tarefa utilizando If ou Case When, a lógica é exatamente a mesma.
Neste Artigo irei mostrar como fazer isso de duas formas:
- Simples.
- E um pouco mais complexa.
Para este exemplo iremos ter duas colunas: Status e Categorias.
Começando pela simples iremos utilizar o Value Mapper para isso, basicamente é informar o valor origem e o valor Destino.
Nesse caso se a 3ª coluna: Target field name estive em branco, isso quer dizer que iremos substituir o valor na mesma coluna, como o tipo de dados é diferente, ou seja estamos lendo dados do tipo Inteiro e gerando uma coluna com dados textos, somos obrigado a criar uma nova coluna, pois daria erro de conversão do tipo de dados.
Quando é o mesmo tipo de dados não tem problema em utilizar a mesma coluna.
Simples não, essa é a forma fácil.
Agora vamos supor que a nossa coluna que iremos criar temos que combinar uma condição entre a coluna status e também a coluna categoria, então para isso o Valeu Mapper já não nos atende, iremos utilizar o Step: Java Script.
Pode parecer um pouco mais complexo mas também neste caso temos mais liberdade para criar da forma que preferir.
Iremos utilizar o seguinte script:
//Script here
var stat;
if(status == 1 && categoria == “Cliente” )
{
stat = “Ativo”;
}
else if (status== 0 && categoria == “Cliente”)
{
stat = “Inativo”;
}
else {
stat = null;
}
- Se o status = 1 e categoria = Cliente irá retornar o valor Ativo.
- Se o status = 0 e categoria = Cliente irá retornar o valor Inativo.
- Caso contrário nulo.
Vamos ver se irá funcionar?
Qual é o performático, pensando que podemos usar não apenas dados do tipo inteiro para verificação?
Java Script vai ter uma melhor performance!!