Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Condition Compter le nombre d’occurrences

Bonjour à tous;

J'ai une table avec des dates de blocage de factures pou la quelles je veux compter le nombre de factures bloquées datant de plus de deux semaines.

Comme une même facture (champ : Numéro de facture) peut avoir plusieurs blocage j'ai mis un count distinct avec l'expression suivante

if ([Date de blocage]<=(today()-14), count(distinct([Numéro de facture])),0)

J'obtiens toujours la valeurs 0, pourtant la condition peut être vérifiée i.e. j'ai des dates inférieurs à today()-14 dans ma table.

Merci pour votre aide

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Tes dates ne sont peut-être pas au même format ?


Essaie ; if (Date#([Date de blocage],'DD/MM/YYYY')<=Date#((today()-14),'DD/MM/YYYY'), count(distinct([Numéro de facture])),0)


Kevin

View solution in original post

8 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

As-tu un exemple (copie d'écran ou application) montrant ton utilisation?

Quel est ton format de date?

kevinchevrier
Partner - Creator III
Partner - Creator III

Tes dates ne sont peut-être pas au même format ?


Essaie ; if (Date#([Date de blocage],'DD/MM/YYYY')<=Date#((today()-14),'DD/MM/YYYY'), count(distinct([Numéro de facture])),0)


Kevin

Anonymous
Not applicable
Author

Bonjour Sébastien et merci pour ton aide.

Mon format de date est DD/MM/YYYY

Ci-joint le lien pour le fichier de l'app.

Suivi factures bloquées.qvf

Cordialement.

Anonymous
Not applicable
Author

Bonjour Kevin et merci pour ton aide.

J'ai essayé avec ton expression mais ça donne le même résultat

Mon format de date est DD/MM/YYYY

Voici le lien pour le fichier de l'app.

Suivi factures bloquées.qvf

Cordialement.

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Le problème vient certainement du fait que la valeur de ton champ "Date de blocage" n'est pas unique à l'endroit où tu utilises ton expression. Si tu n'utilises pas de fonction d'agrégation avec un champ dans une expression, QlikView utilise la fonction d'agrégation Only() par défaut (cette fonction te retourne null si ta valeur de champ n'est pas unique)

Pour résoudre ton problème, il faut soit mettre le If à l'intérieur du Count pour qu'il s'applique à chaque ligne de données et non pas à l'ensemble ou alors utiliser un Set Analysis.

Essaye ca :

Count(distinct if([Date de blocage] <= today()-14), [Numéro de facture]) )

Ou :

Count({$<[Date de blocage] = {"<=Date(today()-14, 'DD/MM/YYYY')"}>} distinct [Numéro de facture])

J'ai répondu depuis mon téléphone, je n'ai donc pas pu tester mes expressions sur l'application que tu as fourni

lcloatre
Partner - Creator III
Partner - Creator III

Mohamed,

As-tu essayé ça ?

Count({<[Date de blocage]={"<=$(=Date(Today()-14,'DD/MM/YYYY'))"}>} distinct [Nom de blocage])

Anonymous
Not applicable
Author

Merci Laurent

avec ton idée ça marche ! fallait juste écrire Numéro de facture au lieu Date de blocage pour les à compter comme ceci :

Count({<[Date de blocage]={"<=$(=Date(Today()-14,'DD/MM/YYYY'))"}>} distinct [Numéro de facture])

Il s'agit surement d'un petit oubli de ta part.

Merci encore

Anonymous
Not applicable
Author

Merci Sébastien mais ça donne la même erreur