Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Data Works for AI is here - Join the discussion and enter to win a pair of Qlik kicks: Join the Conversation!
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Preciso achar Penúltima data entre variáveis.

Preciso achar a data 15/06/2020 no Load no script abaixo.

Veja que conseguir achar a ultima data. Preciso da Penúltima.

2020-08-13_09-43-26.jpg
Let v_dataI = '01/04/2020';
Let v_dataF = '15/07/2020';


Tmp:
LOAD * INLINE [
Data, ID, Store, Tipo
15/01/2020, 1, 21, VND
15/02/2020, 2, 23, VND
15/03/2020, 3, 20, VND
15/05/2020, 4, 21, VND
15/06/2020, 4, 21, VND
15/07/2020, 4, 21, VND
15/08/2020, 4, 21, VND
];

 

LEFT JOIN(Tmp)
LOAD
ID,


max(Date(Floor(Data)),'DD/MM/YYYY') AS Data_Tmp1


Resident Tmp where Tipo = 'VND' and Data>= '$(v_dataI)' and Data <='$(v_dataF)'

GROUP BY ID;

Neves
2 Solutions

Accepted Solutions
TiagoCardoso
Creator II
Creator II

Bom dia @Ribeiro , fiz uma adaptação que pode ser de grande valia para ti ou talvez até resolver o seu problema.

Como você pediu via script, ficou assim:

 

Let v_dataI = '01/04/2020';
Let v_dataF = '15/07/2020';

Tmp_tmp:
LOAD * INLINE [
Data,	ID,	Store,	Tipo
15/01/2020,	1,	21,	VND
15/02/2020,	2,	23,	VND
15/03/2020,	3,	20,	VND
15/05/2020,	4,	21,	VND
15/06/2020,	4,	21,	VND
15/07/2020,	4,	21,	VND
15/08/2020,	4,	21,	VND
];

Tmp: LOAD RowNo() as KEY, * RESIDENT Tmp_tmp;

DROP TABLE Tmp_tmp;

NoConcatenate
MaxPenultimaData:
LOAD  
	 ID,
     FirstSortedValue(DISTINCT Data, -KEY, 2 /*Posição 2, penúltima*/) AS Sort  
RESIDENT Tmp WHERE Tipo = 'VND' AND ( Data >= '$(v_dataI)' AND Data <= '$(v_dataF)' )

GROUP BY ID; 

Na pasta, eu coloquei isso:

tiagocardoso_0-1597329315410.png

 

View solution in original post

Clever_Anjos
Support
Support

Só coloca um 2 aqui


Date(max(Floor(Data),2),'DD/MM/YYYY') AS Data_Tmp1

View solution in original post

2 Replies
TiagoCardoso
Creator II
Creator II

Bom dia @Ribeiro , fiz uma adaptação que pode ser de grande valia para ti ou talvez até resolver o seu problema.

Como você pediu via script, ficou assim:

 

Let v_dataI = '01/04/2020';
Let v_dataF = '15/07/2020';

Tmp_tmp:
LOAD * INLINE [
Data,	ID,	Store,	Tipo
15/01/2020,	1,	21,	VND
15/02/2020,	2,	23,	VND
15/03/2020,	3,	20,	VND
15/05/2020,	4,	21,	VND
15/06/2020,	4,	21,	VND
15/07/2020,	4,	21,	VND
15/08/2020,	4,	21,	VND
];

Tmp: LOAD RowNo() as KEY, * RESIDENT Tmp_tmp;

DROP TABLE Tmp_tmp;

NoConcatenate
MaxPenultimaData:
LOAD  
	 ID,
     FirstSortedValue(DISTINCT Data, -KEY, 2 /*Posição 2, penúltima*/) AS Sort  
RESIDENT Tmp WHERE Tipo = 'VND' AND ( Data >= '$(v_dataI)' AND Data <= '$(v_dataF)' )

GROUP BY ID; 

Na pasta, eu coloquei isso:

tiagocardoso_0-1597329315410.png

 

Clever_Anjos
Support
Support

Só coloca um 2 aqui


Date(max(Floor(Data),2),'DD/MM/YYYY') AS Data_Tmp1