Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour ,
en effet, j'ai une application dont j'ai nommée BRANCHEMENTS et qui contient deux feuilles différentes :
-Branchements Ouverts / Fermés
-Branchements Ouverts Sans Contrats Actifs
Donc dans mon script j'ai récupéré les branchements Ouverts / Fermés mais pour les branchements Ouverts Sans Contrats Actifs
j'aurai besoin besoin de spécifier qu'une date soit différent de NULL . Et je comptais tester cette date qui doit être différent de NULL dans l'expression de la feuille concerné.
Mais je ne retrouve pas le syntaxe ou bien ce n'est pas faisable ?
Merci d'avance
if(len(TA_DATE)>0,TA_DATE,'')
Kevin
Tu peux aussi mettre une clause WHERE dans ton chargement de ta feuille pour exclure toutes les occurences sans date.
Oui WHERE len(TA_DATE)>0
Si tu comptes tout de même garder les lignes où il n'y a pas de date, tu peux aussi créer un champ :
alt(TA_DATE,0) as TA_DATE_BIS
Ensuite dans ton set analysis tu pourras écrire
TA_DATE_BIS-={'0'}
Exemple :
Count({<TA_DATE_BIS-={'0'}>} BRANCHEMENT)
Kevin
Ce que j'ai une autre condition que je ne sais pas si c'est possible de pouvoir le faire directement dans l'expression.
Les branchements Ouverts Sans Contrats Actifs doit avoir une date fin différente de Null pour chaque contrat et aussi il ne doit y avoir aucun contrat dont la date est null qui appartient à ce Branchement .
Voici la requête sql que j'ai testé sur la base , maintenant je ne sais pas comment l'appliquer directement dans l'expression car ya des jointures :
select TECSERVICEPOINT.SPT_REFE as RefPDL, agrserviceagr.sag_refe as RefPDS, genvocword.vow_name as EtatPDL, agrserviceagr.SAG_STARTDT as DateDeb, agrserviceagr.SAG_ENDDT as DateF , genparty.PAR_FNAME AS PRENOM, GENPARTY.PAR_LNAME AS NOM, agrcontrattype.CTT_name AS Contrat_type
FROM TECSERVICEPOINT INNER JOIN TECSPSTATUS ON tecservicepoint.spt_id = TECSPSTATUS.SPT_ID INNER JOIN agrserviceagr ON TECSPSTATUS.SPT_ID = AGRSERVICEAGR.SPT_ID INNER JOIN GENVOCWORD ON GENVOCWORD.vow_id = TECSPSTATUS.VOW_SPSTATUS INNER JOIN
AGRCUSTOMERAGR ON AGRCUSTOMERAGR.CAG_ID = agrserviceagr.CAG_ID INNER JOIN GENPARTY ON GENPARTY.PAR_ID = AGRCUSTOMERAGR.PAR_ID INNER JOIN AGRCONTRATTYPE ON agrcontrattype.ctt_id = agrserviceagr.CTT_ID
WHERE genvocword.VOW_ID= '2988' AND TECSERVICEPOINT.SPT_REFE NOT IN (
select TECSERVICEPOINT.SPT_REFE from TECSERVICEPOINT INNER JOIN agrserviceagr
ON agrserviceagr.spt_id = TECSERVICEPOINT.spt_id INNER JOIN TECSPSTATUS ON TECSPSTATUS.SPT_ID = TECSERVICEPOINT.SPT_ID
INNER JOIN genvocword ON genvocword.vow_id = TECSPSTATUS.VOW_SPSTATUS AND genvocword.VOW_ID= '2988' WHERE agrserviceagr.SAG_ENDDT IS NULL ) ;
Enfin, je ne saurai pas comment appliquer le NOT IN dans l'expression.
Merci d'avance
Pas très clair ton code.
Si c'est du SQL : WHERE lenght(TA_DATE)>0
Kevin
Ya pas moyen dajouter du code avec un syntaxe lisible dans les discussions ???
Je crois que si tu colles pas en texte brut c'est pas trop mal....
Ton code est bien organisé sur Qlikview ?
Sinon tu peux peut-être IS NOT NULL si t'es en SQL...
J'avoue avoir du mal à comprendre ta demande.
Sur quels champs précisément (le nom), veux-tu filtrer ? et quelle action sur chaque champ ?
Kevin