Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
dsaguiar95
Contributor II
Contributor II

Qlik Sense - Como somar apenas contratos de estados diferentes?

Olá pessoal,

Tenho tabelas parecidas com essas:

Credores:
LOAD * INLINE [
CNPJ Credor , Cidade Credor , UF Credor
1 ,A ,BA
1 ,A ,BA
2 ,B ,SP
3 ,C ,MG
4 ,D ,CE
];

Contratos:
LOAD * INLINE [
CNPJ Credor , UF Contrato, Quantidade Contratos
1 ,BA ,2
1 ,SP ,2
2 ,SP ,2
3 ,MG ,2
4 ,CE ,2
];

Preciso somar as quantidades de contratos, mas, somente os contratos que ocorreram em estados diferentes do estado do credor. Tentei resolver com Set Analysis, mas, não deu muito certo...

Usei essa expressão:

Sum({<[CNPJ Credor]={"=[UF Credor]<>[UF Detran]"}>}[Quantidade Contratos])

Porém, eu acabo somando todos os contratos de credores que realizaram vendas fora do seu estado de origem.

 

Como eu posso resolver isso?

OBS.: Sou novo no Qlik...

Labels (1)
1 Solution

Accepted Solutions
Thiago_Justen_

Boa noite @dsaguiar95 ,

Permita-me sugerir algo no script. Sugiro criar uma FlagContrato para facilitar teu desenvolvimento em tela.

Rode o script abaixo no teu ambiente e veja o resultado.

Credores:
LOAD * INLINE [
"CNPJ Credor" , "Cidade Credor" , "UF Credor"
1 ,A ,BA
1 ,A ,BA
2 ,B ,SP
3 ,C ,MG
4 ,D ,CE
];


Map_Credores:
Mapping Load
	"CNPJ Credor",
	"UF Credor"
Resident Credores;

Contratos:
LOAD
	*,
    If(ApplyMap('Map_Credores',"CNPJ Credor")<>"UF Contrato",
    	1*"Quantidade Contratos",
        0
    )															As FlagContrato
;
LOAD * INLINE [
"CNPJ Credor" , "UF Contrato", "Quantidade Contratos"
1 ,BA ,2
1 ,SP ,2
2 ,SP ,2
3 ,MG ,2
4 ,CE ,2
];

 

Em tela basta realizar Sum(FlagContrato) e ser feliz.

thiago_justen_0-1645500650465.png

 

Abs e Sucesso!!

 

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

2 Replies
Thiago_Justen_

Boa noite @dsaguiar95 ,

Permita-me sugerir algo no script. Sugiro criar uma FlagContrato para facilitar teu desenvolvimento em tela.

Rode o script abaixo no teu ambiente e veja o resultado.

Credores:
LOAD * INLINE [
"CNPJ Credor" , "Cidade Credor" , "UF Credor"
1 ,A ,BA
1 ,A ,BA
2 ,B ,SP
3 ,C ,MG
4 ,D ,CE
];


Map_Credores:
Mapping Load
	"CNPJ Credor",
	"UF Credor"
Resident Credores;

Contratos:
LOAD
	*,
    If(ApplyMap('Map_Credores',"CNPJ Credor")<>"UF Contrato",
    	1*"Quantidade Contratos",
        0
    )															As FlagContrato
;
LOAD * INLINE [
"CNPJ Credor" , "UF Contrato", "Quantidade Contratos"
1 ,BA ,2
1 ,SP ,2
2 ,SP ,2
3 ,MG ,2
4 ,CE ,2
];

 

Em tela basta realizar Sum(FlagContrato) e ser feliz.

thiago_justen_0-1645500650465.png

 

Abs e Sucesso!!

 

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
dsaguiar95
Contributor II
Contributor II
Author

Olá, Desculpa pela demora em responder, mas, utilizei assim e deu certo. Obrigado!