Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

avant dernière date

Bonjour, j'ai une table qui contient une liste d'individu venus passer des examens de santé.

Chaque individu peut avoir suivi un ou plusieurs examens de santé.

J'aimerais trouver la date de l'avant dernier examen de santé.

Avec Above, j'obtient la liste de tous les examen avec la date de l'examen récent (DATE_EXAMEN) et tous les examens précédents (DATE_EXAMEN_PRECEDENT).

     

NINDNTIDATE_EXAMENDATE_EXAMEN_PRECEDENT
2346378501678805/01/201510/06/1997
2346378501678805/01/201514/02/2003
2346378501678805/01/201524/07/2009
2346378501678805/01/201506/08/2010
2346378501678805/01/201520/09/2011
2346378501678805/01/201516/10/2012
2346378501678805/01/201503/12/2013
2346378501678805/01/201505/01/2015

Or j'aimerais ne récupérer qu'une seule ligne par individus, avec la date du dernier examen (le plus récent donc) et la date de l'examen précédent.

En passant par un load en 2 temps, j'obtient bien ce que je veux, mais comment puis je faire en une passe à l'aide des fonction prvious ou peek ?

Pour le moment, peek et previous dans le load mais ces fonctions me renvoient l'avant dernière date d'examen de toute la table.

2 Replies
robert_mika
Master III
Master III

See below:

Data:

load *

inline [

Nind,NTI,DATE_EXAMEN, DATE_EXAMEN_PRECEDENT

2346378, 5016788, 05/01/2015, 10/06/1997

2346378, 5016788, 05/01/2015, 14/02/2003

2346378, 5016788, 05/01/2015, 24/07/2009

2346378, 5016788, 05/01/2015, 06/08/2010

2346378, 5016788, 05/01/2015, 20/09/2011

2346378, 5016788, 05/01/2015, 16/10/2012

2346378, 5016788, 05/01/2015, 03/12/2013

2346378,    5016788, 05/01/2015, 05/01/2015

]

;

temp:

load

Nind as NIND,

NTI AS nti,

DATE_EXAMEN as DateExam,

Max(DATE_EXAMEN_PRECEDENT)as Last,

Max(DATE_EXAMEN_PRECEDENT,2)as SecondLast

resident Data

Group by

Nind,

NTI,

DATE_EXAMEN;

drop table Data;

2015-07-28_114137.png

Not applicable
Author

Nice ! Thank you.

I am trying this but it is not working ... 😕

TBLCHB:

LOAD      NTI,

               NIND,

               DATE_EXAMEN,

               max(DATE_EXAMEN) AS MAX_DATE_EXAMEN,

               max(DATE_EXAMEN,2) AS DATE_EXAMEN_PRECEDENT

FROM $(ENTREPOT)TBLCHB.QVD (qvd)

where MATCH(ANTENNE,4,7)=0

and match(if(not IsNull(ORIGINE),ORIGINE,'-'),'TBC','OMI','STB','CST')=0

GROUP BY NTI, NIND, DATE_EXAMEN;

Is it possible to do it directly when loading the table ?

Because that is what I am doing and ...

😕