Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde,
Estou precisando criar o campo [Fim] (que está no exemplo abaixo).
Ele deve trazer a menor data do [Inicio] desde que ela seja maior que a data registrada na sua linha e não tenha 'X' no campo [Dia Util].
Ex:
Data | Dia Util | Inicio | Fim //campo a ser criado |
01/out (ter) | 1 | 01/10/2019 06:25 | 02/10/2019 06:25 |
02/out (qua) | 1 | 02/10/2019 06:25 | 03/10/2019 06:25 |
03/out (qui) | 1 | 03/10/2019 06:25 | 04/10/2019 06:25 |
04/out (sex) | 1 | 04/10/2019 06:25 | 07/10/2019 06:25 |
05/out (sáb) | x | 05/10/2019 06:25 | 07/10/2019 06:25 |
06/out (dom) | x | 06/10/2019 06:25 | 07/10/2019 06:25 |
07/out (seg) | 1 | 07/10/2019 06:25 | ... |
não existe uma função como a minimo.se do Excel no Qlik. Creio que você teria que resolver isso com uma série de comandos script. Dá uma olhada neste artigo
Pablo Labbe
Pois sim, havia chegado a está conclusão e estava usando o PEEK.
Na fonte que indicou, ele estabelece uma única data inicial e uma data fim.
No meu caso a data fim, ela é variável . Seria a menor data , que seja maior que a data inicial em cada linha.
O mais próximo que consegui foi utilizando PEEK([DtInicio],rowno()-1), onde quero buscar a linha anterior, mas ainda não consegui pois todos os resultados retornados são nulos.
[DataExcessaoSaldoEstoqueTemp]:
LOAD
Distinct
[Data],
Date([Data] + (6.5/24),'DD-MM-YYYY hh:mm') AS DtInicio,
IF(Text(upper([Ind.Fatia])) <> 'X' , 1 ,Text(upper([Ind.Fatia])) ) as [Ind.Fatia]
FROM [lib://QVD - QlikView - Prd/Corporativo/Cadastros/c_fatia_producao.qvd] (qvd)
where Data > $(vDataIni) ;
DataExcessaoSaldoEstoque_tmp:
Load distinct
RowNo() as linha,
Data,
[DtInicio],
[Ind.Fatia]
resident DataExcessaoSaldoEstoqueTemp
where [Ind.Fatia] = 1
order by Data
;
final:
Load
linha,
Data,
[DtInicio],
[Ind.Fatia],
Peek(DtInicio, RowNo()-1 ) as DtFim
resident DataExcessaoSaldoEstoque_tmp;
drop table DataExcessaoSaldoEstoqueTemp,DataExcessaoSaldoEstoque_tmp;