Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Now accepting applications for the Qlik Luminary and Partner Ambassador Programs: Apply by July 6!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Divisão de registros entre outros registros

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?

Labels (1)
4 Replies
pablolabbe
Partner Ambassador
Partner Ambassador

Você pode otimizar o if com o uso do applymap e uma tabela mapping.

aqui tem orientações do uso deste recurso.

https://help.qlik.com/pt-BR/sense/November2017/Subsystems/Hub/Content/Scripting/ScriptPrefixes/Mappi...

Pablo

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button! | Follow me on Linkedin
Anonymous
Not applicable
Author

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?

Anonymous
Not applicable
Author

Pablo dei uma olhada no applymap, parece que ele só pode ter apenas uma referência, isso acho que não resolve meu problema

elvis_schwarz
Creator
Creator

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 ...;