Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
boa tarde! Tenho uma Tabela Seguinte
Sempre que houver Dados no Campo Data_Revisao, Deve-se repetir os mesmos Dados no Campo Nova_Data, para os documentos de mesmo número, mudando SOMENTE O Último Número. A lógica que estou usando é:
Se (IsNull ([Nova_Data]), 'Não', 'Sim') as Revisado?
Utilizando Dessa forma, Não está ficando correto! Quando o campo da coluna Nova_Data não tem data, não está marcando com "Não".
Estou utilizando QlikView
Alguém poderia me Ajudar? Obrigado!
Tabela_Tmp:
LOAD
NumDoc,
left(NumDoc,8) as NumDoc_Raiz,
DtRevisao
Inline [
NumDoc ,DtRevisao
223145670 , 10/02/2019
223145671 ,
223145672 ,
800642780 ,
332215140 , 05/06/2019
600558790 ,
60055879 ,
];
Tabela_Final:
LOAD
NumDoc,
NumDoc_Raiz,
DtRevisao,
if(if(NumDoc_Raiz = Previous(NumDoc_Raiz),Peek(New_Data),DtRevisao) >0,'Sim','Não') as Revisao,
if(NumDoc_Raiz = Previous(NumDoc_Raiz),Peek(New_Data),DtRevisao) as New_Data
Resident Tabela_Tmp Order by NumDoc_Raiz,NumDoc;
//
Drop Table Tabela_Tmp;
Não deveria ser?
IF(IsNull([Data_Revisao]), 'Não', 'Sim') as Revisado
Se for a Nova_Data mesmo, faz o teste com o IF(len(Nova_Data)>0,'Sim','Não') as Revisado.
Opa....ve se ajuda
Tabela_Tmp:
LOAD
Num_Documento,
date#(Data_Revisao,'DD/MM/YYYY hh:mm') as Data_Revisao,
left(Num_Documento,12) as Num_Documento_Raiz
Inline [
Num_Documento , Data_Revisao
038326GHI0000 ,
038326GHI0001 ,
080041ABX0000 , 22/03/2019 13:00
080041ABX0001 ,
080041ABX0002 ,
080041ABX0003 ,
];
Tabela:
LOAD
Num_Documento,
Data_Revisao,
Num_Documento_Raiz,
if(Num_Documento_Raiz=Previous(Num_Documento_Raiz),rangemax(peek(Data_Revisao),peek(New_Data)),Data_Revisao) as New_Data
Resident Tabela_Tmp;
//
DROP Table Tabela_Tmp;
Bom dia, @afurtado ! Obrigado pela atenção! Ajuda sim e muito, porém preciso que tenha mais uma coluna com um campo de "Revisado", se tiver data no campo New_Data, marcar como revisado, se não, Não Revisado. O problema é que quando não tem data ele não marca como "Não Revisado" põe apenas um '-'. Poderia me ajudar? Obrigado!
Obs: Você me ajudou em outro post a desenvolver essa lógica, funcionou muito bem, porém não consegui acrescentar esse campo de "Não Revisado"
Bom dia, @victorbertoldo !
O resultado foi o mesmo encontrado com outra lógica, dessa forma somente o "Revisado" aparece corretamente quando não é revisado ele aparece "-".
Eu fiz o teste dessa maneira e deu certo:
Tabela_Tmp:
LOAD
NumDoc,
left(NumDoc,8) as NumDoc_Raiz,
DtRevisao
Inline [
NumDoc ,DtRevisao
223145670 , 10/02/2019
223145671 ,
223145672 ,
800642780 ,
332215140 , 05/06/2019
600558790 ,
60055879 ,
];
Tb:
Load *,
if(len(DtRevisao)>0,'Sim','Não') as Revisado;
Load
NumDoc,
NumDoc_Raiz,
DtRevisao
Resident Tabela_Tmp;
Drop Table Tabela_Tmp;
Veja se isso atende.
Boa tarde, @afurtado ! Poderia por gentileza me enviar o código por aqui ou o arquivo .qvw? Não consigo abrir essa extensão .qvf
Obrigado!!!
Tabela_Tmp:
LOAD
NumDoc,
left(NumDoc,8) as NumDoc_Raiz,
DtRevisao
Inline [
NumDoc ,DtRevisao
223145670 , 10/02/2019
223145671 ,
223145672 ,
800642780 ,
332215140 , 05/06/2019
600558790 ,
60055879 ,
];
Tabela_Final:
LOAD
NumDoc,
NumDoc_Raiz,
DtRevisao,
if(if(NumDoc_Raiz = Previous(NumDoc_Raiz),Peek(New_Data),DtRevisao) >0,'Sim','Não') as Revisao,
if(NumDoc_Raiz = Previous(NumDoc_Raiz),Peek(New_Data),DtRevisao) as New_Data
Resident Tabela_Tmp Order by NumDoc_Raiz,NumDoc;
//
Drop Table Tabela_Tmp;
Perfeito, @afurtado ! Deu certo! Muito obrigado!!!!