Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
paulomulato
Creator
Creator

Carga Tabela Where

Senhores, preciso de um auxilio, no modelo em anexo, preciso fazer um carga onde me traga os clientes com "QtVd Total" maior ou igual a "12" para cada grupo de produtos "EC_1a4". No modelo em anexo, a carga deveria me trazer apenas o cliente "46383", pois o outro cliente teve um grupo com quantidade inferior a "12".

Labels (1)
1 Solution

Accepted Solutions
el_aprendiz111
Specialist
Specialist

Paulo buenas tardes

esto te puede servir como solución:

tmp:
LOAD *, if(QtVd_Total<12,Cliente) AS FILT_ini;
LOAD * INLINE [
Cliente, ComboEC_1a4, EC_1a4, QtVd_Total, Total_Grupo
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE LENHA,                           12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE MATADOR,                   12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE PEGADOR OU CABRA MACHO, 12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE VIP,                        1, 4
46383,   DESODORANTES, DESODORANTE AEROSOL OLD SPICE LENHA,                       12, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE MATADOR,                     12, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE PEGADOR OU CABRA MACHO, 24, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE VIP,                         12, 4

]
;

tblPrm:
LOAD  Concat(chr(39) & FILT_ini & chr(39) & ',') as MyFil Resident tmp;
LET vCliente = Peek('MyFil');

NoConcatenate

SUMARY:
LOAD
Cliente,
ComboEC_1a4,
EC_1a4,
FILT_ini,
QtVd_Total,
Total_Grupo
Resident tmp
Where not WildMatch(Cliente,$(vCliente));
DROP Field FILT_ini;

DROP Table tblPrm, tmp;

wildmat.png

View solution in original post

7 Replies
marcelvinicius
Creator III
Creator III

Boa tarde amigo,

Desculpa mas não entendi o que você precisa. Precisa colocar um Where no Load que esta fazendo?

Ou quando esta utilizando os dados?

Manual do usuário | Como criar e gerir minhas perguntas?

mario.sergio.ti

paulomulato
Creator
Creator
Author

Preciso colocar um Where no Load...

marcelvinicius
Creator III
Creator III

where QtVd_Total >= 12;

Não seria isso?

paulomulato
Creator
Creator
Author

Na verdade nao, tenho que avaliar todos os grupos comprados "EC_1a4" e verificar se atende a condicao.

paulomulato
Creator
Creator
Author

A ideia é que a carga me traga somente os clientes em que todos os grupos "EC_1a4" , atenda ao criterio.

el_aprendiz111
Specialist
Specialist

Paulo buenas tardes

esto te puede servir como solución:

tmp:
LOAD *, if(QtVd_Total<12,Cliente) AS FILT_ini;
LOAD * INLINE [
Cliente, ComboEC_1a4, EC_1a4, QtVd_Total, Total_Grupo
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE LENHA,                           12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE MATADOR,                   12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE PEGADOR OU CABRA MACHO, 12, 4
230601, DESODORANTES, DESODORANTE AEROSOL OLD SPICE VIP,                        1, 4
46383,   DESODORANTES, DESODORANTE AEROSOL OLD SPICE LENHA,                       12, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE MATADOR,                     12, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE PEGADOR OU CABRA MACHO, 24, 4
46383,      DESODORANTES, DESODORANTE AEROSOL OLD SPICE VIP,                         12, 4

]
;

tblPrm:
LOAD  Concat(chr(39) & FILT_ini & chr(39) & ',') as MyFil Resident tmp;
LET vCliente = Peek('MyFil');

NoConcatenate

SUMARY:
LOAD
Cliente,
ComboEC_1a4,
EC_1a4,
FILT_ini,
QtVd_Total,
Total_Grupo
Resident tmp
Where not WildMatch(Cliente,$(vCliente));
DROP Field FILT_ini;

DROP Table tblPrm, tmp;

wildmat.png

paulomulato
Creator
Creator
Author

Gracias Fer Fer, era exactamente lo que necesitaba ...