Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Fala Pessoal tudo bem?
Olha eu aqui novamente com alguns problemas macabros para desvendar.
Vejam se possui solução para este caso, lembrando o objetivo é fazer via script no load.
Tenho uma Tabela que possui os Campos [Requisição e Pedido], porém a quantidade de Requisição x Pedidos deverá ser a mesma para ser Elegível e caso contrário eu deveria trazer o Status Não Elegível para a Requisição que não tiver com a falta de um Pedido.
No excel eu consigo solucionar conforme as formulas abaixo.
'Cont.Se' - Formula [=CONT.SE($B$3:$B$15;B3)]
'Cont.ses' - Formula [=CONT.SES($C$3:$C$15;">"&0;$B$3:$B$15;B3)]
'Status' - Formula [=SE(D3<>E3;"Não Elegivel";"Elegivel")]
Como posso fazer isso no Qlik?
Obrigado.
Requisição | Pedido | Count Req | Count Pedido por Req | Status |
10037959 | 4700087949 | 6 | 5 | Não Elegivel |
10037959 | 4700087950 | 6 | 5 | Não Elegivel |
10037959 | 4700087951 | 6 | 5 | Não Elegivel |
10037959 | 4700087951 | 6 | 5 | Não Elegivel |
10037959 | 4700087952 | 6 | 5 | Não Elegivel |
10037959 | 6 | 5 | Não Elegivel | |
10037960 | 4700087953 | 3 | 2 | Não Elegivel |
10037960 | 3 | 2 | Não Elegivel | |
10037960 | 4700087954 | 3 | 2 | Não Elegivel |
10037961 | 4700087955 | 4 | 4 | Elegivel |
10037961 | 4700087956 | 4 | 4 | Elegivel |
10037961 | 4700087957 | 4 | 4 | Elegivel |
10037961 | 4700087958 | 4 | 4 | Elegivel |
Jeff, segue sugestão do script. Qvw anexo.
Fato: LOAD * INLINE [ Requisição, Pedido 10037959 ,4700087949 10037959 ,4700087950 10037959 ,4700087951 10037959 ,4700087951 10037959 ,4700087952 10037959 , 10037960 ,4700087953 10037960 , 10037960 ,4700087954 10037961 ,4700087955 10037961 ,4700087956 10037961 ,4700087957 10037961 ,4700087958 ]; Left Join (Fato) Load Count(Requisição) as Count_Req, Requisição Resident Fato Group By Requisição; Left Join (Fato) Load Count(Pedido) as Count_Pedido_por_Req, Requisição Resident Fato Where IsNum(Pedido) Group By Requisição; Left Join (Fato) Load If(Count_Req=Count_Pedido_por_Req,'Elegível','Não Elegível') as Status, Requisição Resident Fato;
Jeff, segue sugestão do script. Qvw anexo.
Fato: LOAD * INLINE [ Requisição, Pedido 10037959 ,4700087949 10037959 ,4700087950 10037959 ,4700087951 10037959 ,4700087951 10037959 ,4700087952 10037959 , 10037960 ,4700087953 10037960 , 10037960 ,4700087954 10037961 ,4700087955 10037961 ,4700087956 10037961 ,4700087957 10037961 ,4700087958 ]; Left Join (Fato) Load Count(Requisição) as Count_Req, Requisição Resident Fato Group By Requisição; Left Join (Fato) Load Count(Pedido) as Count_Pedido_por_Req, Requisição Resident Fato Where IsNum(Pedido) Group By Requisição; Left Join (Fato) Load If(Count_Req=Count_Pedido_por_Req,'Elegível','Não Elegível') as Status, Requisição Resident Fato;
Fala Pedrinho, tudo blz.
Testei aqui o formato que você fez via INLINE e funcionou.
Como eu estou carregando os dados de uma Planilha Excel <Futuro QVD> , nesse formato ele não funciona.
Segue código.
Fato:
LOAD
Requisição,
Pedido,
[Item Pedido],
[Item ReqC]
FROM
[C:\TEMP\Exemplo.xlsx]
(ooxml, embedded labels, table is Sheet1);
Left join (Fato)
LOAD
Requisição,
count(Requisição) as Cont_Req
Resident Fato
Group BY
Requisição;
left join (Fato)
LOAD
Requisição,
count(Pedido) as Cont_Ped
Resident Fato
WHERE
IsNull(Pedido)
Group By
Requisição;
Left join (Fato)
Load
Requisição,
If(Cont_Req = Cont_Ped,'Elegível','Não Elegível') as Status
Resident Fato;
Anexo QVW e retorno da execução.
Acho que você trocou um isnum por isnull. Veja se não foi isso. Tem como colocar uma amostra da planilha para teste?
left join (Fato)
LOAD
Requisição,
count(Pedido) as Cont_Ped
Resident Fato
WHEREIsNull(Pedido)
IsNum(Pedido)
Group By
Requisição;
Pô cara, sucesso...
Falta de atenção minha...
obrigado pela help. abs.