Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal, sou nova em Qlickview e estou tentando realizar uma automatização de uma planilha excel via qlick, ao invés de uma macro.
Estou criando ifs para, conforme as condições, atribuir um valor ao campo Cliente.
Por exemplo:
if ( [Codigo_Cliente] = '5' or [Codigo_Cliente] = '5B' or [Codigo_Cliente] = '5XS' or [Codigo_Cliente] = '6XS', 'Cliente A',
if ( [Codigo_Cliente] = '7' or [Codigo_Cliente] = '7B', 'Cliente B',...............
if ( IsNull (Codigo_Cliente), 'NULO' ) as Cliente
A questão é, existem códigos nulos, uma quantidade variável, eu queria, quando os valores fossem nulos, que eu fizesse uma distribuição da seguinte maneira:
De todos os NULOS, 2/3 são atribuídos ao Cliente A, e do 1/3 que sobrou, 50% para o Cliente B e 50% para o Cliente C.
Preciso fazer isso pois utilizo uma outra coluna para controle financeiro e essa coluna é segregada por cliente.
Como posso resolver esse problema?
Você pode otimizar o if com o uso do applymap e uma tabela mapping.
aqui tem orientações do uso deste recurso.
Pablo
Pablo obrigada pela sugestão!
É possível resolver essa questão:
"A questão é, existem códigos nulos, uma quantidade variável, eu queria, quando os valores fossem nulos, que eu fizesse uma distribuição da seguinte maneira:
De todos os NULOS, 2/3 são atribuídos ao Cliente A, e do 1/3 que sobrou, 50% para o Cliente B e 50% para o Cliente C."
com o applymap?
Pablo dei uma olhada no applymap, parece que ele só pode ter apenas uma referência, isso acho que não resolve meu problema
Bom dia Mariana
Pode ter vários valores, por exemplo:
Cria um mapa com todos os clientes que entram em uma determinada condição:
Map_Cliente:
Mapping Load * Inline [
Codigo_Cliente, nome
5, Cliente A
5B, Cliente A
5XS, Cliente A
6XS, Cliente A
7, Cliente B
7B, Cliente B
];
No seu load você aplica o mapping:
Cliente:
LOAD
Codigo_Cliente,
ApplyMap('Map_Cliente',Codigo_Cliente, 'Se não encontrar correspondente ele utiliza esse parâmetro') as Classifica_Cliente
Resident ...;