Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde,
Estou com uma dificuldade de pegar registros anteriores ou entre períodos de dados.
Ex :
Tenho uma Tabela com
Data Evidencia
01/01/2017 1
01/02/2017 0
01/03/2017 1
01/04/2017 0
01/05/2017 0
01/06/2017 0
Preciso fazer que depois que a coluna evidencia completa 2 registros 1 a partir de mês seguinte conte como 1 tbm
ficaria assim
Data Evidencia
01/01/2017 1
01/02/2017 0
01/03/2017 1
01/04/2017 1
01/05/2017 1
01/06/2017 1
.
.
.
01/12/2017 1
Podem me ajudar?
Muito Obrigado!
Amigo, segue;
Tab_Dados: //Dados de Exemplo (Alterar para a sua fonte de dados)
Load * Inline [
Data,Evidencia
01/01/2017,1
01/02/2017,0
01/03/2017,1
01/04/2017,0
01/05/2017,0
01/06/2017,0
];
Tab_Temp:
Load
Data,
RangeSum(Evidencia,Peek(QtdEvidencia)) As 'QtdEvidencia' //Acumula valor de Evidencia
Resident Tab_Dados;
Tab_Temp2:
Load
FirstSortedValue(Data,If(QtdEvidencia=2,Data)) As 'UltDtEvidencia' //Posição da Data para Evidencia=2
Resident Tab_Temp;
LET vUltDtEvidencia = Peek('UltDtEvidencia');
Tab_Resultado:
NoConcatenate
Load
Data,
If(Data>='$(vUltDtEvidencia)',1,Evidencia) As 'Evidencia'
Resident Tab_Dados;
Drop Tables Tab_Dados,Tab_Temp,Tab_Temp2;
Amigo, segue;
Tab_Dados: //Dados de Exemplo (Alterar para a sua fonte de dados)
Load * Inline [
Data,Evidencia
01/01/2017,1
01/02/2017,0
01/03/2017,1
01/04/2017,0
01/05/2017,0
01/06/2017,0
];
Tab_Temp:
Load
Data,
RangeSum(Evidencia,Peek(QtdEvidencia)) As 'QtdEvidencia' //Acumula valor de Evidencia
Resident Tab_Dados;
Tab_Temp2:
Load
FirstSortedValue(Data,If(QtdEvidencia=2,Data)) As 'UltDtEvidencia' //Posição da Data para Evidencia=2
Resident Tab_Temp;
LET vUltDtEvidencia = Peek('UltDtEvidencia');
Tab_Resultado:
NoConcatenate
Load
Data,
If(Data>='$(vUltDtEvidencia)',1,Evidencia) As 'Evidencia'
Resident Tab_Dados;
Drop Tables Tab_Dados,Tab_Temp,Tab_Temp2;
Excelente solução mario.sergio.ti
Valeu thiago.justen
Abraço.
Obrigado Mario, ainda não testei a solução. Fiz de outra maneira via set analysis, mas vou testar como você fez. Obrigado pela sua resposta. Abraço!
Blz...
Lembre-se, o que puder manter de lógica em Script de carga, é melhor... Simplificando as expressões na aplicação final. E muitas vezes economizando recursos de Hardware.
Ótimo exemplo mario.sergio.ti!
Obrigado pelo apoio pablolabbe
Abraço.