Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problème de filtrage par date différent de NULL

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

7 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

if(len(TA_DATE)>0,TA_DATE,'')

Kevin

lcloatre
Partner - Creator III
Partner - Creator III

Tu peux aussi mettre une clause WHERE dans ton chargement de ta feuille pour exclure toutes les occurences sans date.

kevinchevrier
Partner - Creator III
Partner - Creator III

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

Anonymous
Not applicable
Author

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

kevinchevrier
Partner - Creator III
Partner - Creator III

Pas très clair ton code.

Si c'est du SQL : WHERE lenght(TA_DATE)>0


Kevin

Anonymous
Not applicable
Author

Ya pas moyen dajouter du code avec un syntaxe lisible dans les discussions ???

kevinchevrier
Partner - Creator III
Partner - Creator III

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