Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Briinou
Contributor III
Contributor III

Condition "inférieur ou égal" dans calcul

Bonjour,

Est-il possible dans un calcul, de prendre en compte un "inférieur ou égal" d'un champ par rapport à un autre ? Comme dans l'exemple ci-dessous ?

count(SemaineContact <={Semaine}>}distinct idA)

Et si oui, comment ?

 

Le champ Semaine est un champ sélectionnable dans une liste de sélection : sélection de 1 à n possible.

 

Merci à vous,

Bonne journée,

1 Solution

Accepted Solutions
adr
Contributor II
Contributor II

Bonjour, 

Cette formule devrait te donner le résultat que souhaites obtenir : 

=count({1}{<Semaine =>}distinct IdA)-count( {< Semaine = {"<=$(=max(Semaine))"} >} distinct IdA)

ci joint le fichier avec le résultat. 

 

Marwen  

 

 

View solution in original post

5 Replies
adr
Contributor II
Contributor II

Bonjour, 

 

Essaies ça : 
count(SemaineContact = {"<=$(=Semaine)"}>}distinct idA) 

Mais attention ce n'est valide que lorsque tu sélectionnes une seule valeur SemaineContact.

lotfiblo
Creator
Creator

Bonjour @Briinou,

Comme semaine est un champ et que vous voulez tester la condition pour chaque ligne de votre table , if faudrait passer par un IF. 

=if(SemaineContact <=Semaine, count(distinct idA), 0)

Lotfi

 

 

Use Qalyptus for your Qlik Sense on-premise and Qlik Sense SaaS Reporting
Connect with me on Linkedin
Briinou
Contributor III
Contributor III
Author

Bonjour à tous les 2,

Merci de votre aide !

 

La solution de @adr  ne fonctionne pas dans tous les cas : en effet, l'utilisateur final pourra sélectionné de 1 à n semaines.

La solution de @lotfiblo  ne me correspond pas tout à fait puisque le calcul se fait dans un objet texte.

 

Ce matin, j'ai essayé un truc, mais visiblement je passe à côté de quelque chose puisque ça ne me retourne pas le nombre attendu :

> J'ai créé une variable VMaxSemaine (depuis Paramètres > Vue d'ensemble des variables) qui calcule le max(Semaine).

Définition de la variable : =max(Semaine)

Ainsi j'ai la borne supérieure des semaines sélectionnées. Exemple, je sélectionne les semaines 1 à 6, VMaxSemaine = 6.

De là, j'ai modifié ma formule de départ : count(SemaineContact ={"<=$(VMaxSemaine)"}>}distinct idA)

Je vous joins une appli simplifiée pour que vous puissiez voir... Ca sera sûrement plus simple.

Si je sélectionne uniquement la semaine 12, je veux être en capacité de faire la différence entre le nombre total d'idA (3000) - tous les idA avec une SemaineContact <= 12 (353) = 2647

 

Merci de votre aide, 

Bonne journée 🙂

adr
Contributor II
Contributor II

Bonjour, 

Cette formule devrait te donner le résultat que souhaites obtenir : 

=count({1}{<Semaine =>}distinct IdA)-count( {< Semaine = {"<=$(=max(Semaine))"} >} distinct IdA)

ci joint le fichier avec le résultat. 

 

Marwen  

 

 

Briinou
Contributor III
Contributor III
Author

C'est pile poil ce que je recherchais.
Merci beaucoup beaucoup !!!