Bonjour , je souhaiterai calculer le nombre de PDL sans contrat créé entre deux dates, ainsi sur un PDL il peut y avoir plusieurs contrats successifs, donc je dois prendre le contrat ayant le maximum id(c'est à dire le dernier contrat qui est actif).
Voici ma requête sql avec comme mes deux dates (01/01/2017 et 30/06/2017) :
/* Nb PDL sans contrat créé à cette période*/
select count(p.p_id) as Nb_PDL
from pdl p where (select max(ct_id)
from contrat ct
where ct.p_id = p.p_id
and debut_contrat < '30/06/2017'
and nvl(fin_contrat , '01/01/2017') >= '01/01/2017') is null;
et sur Qlik Sense server :
Script :
load
p_id;
SQL SELECT * FROM pdl ;
left join
load
ct_id,
p_id,
date(debut_contrat ),
date(fin_contrat ) ;
SQL SELECT * FROM contrat ct
where ct.debut_contrat = (select max(ct.debut_contrat) from contrat ct1 where ct.p_id = ct1.p_id)
Expression :
count({$<debut_contrat ={"<$(=Date_Fin)"}>}{$<fin_contrat ={">=$(=Date_Fin)"}>} {$<ct_id={'*'}>} {$}distinct(ct_id))
Mais je n'obtient pas le meme resultat??????????
Merci d'avance