Qlik Community

New to Qlik Sense

If you’re new to Qlik Sense, start with this Discussion Board and get up-to-speed quickly.

Announcements
IMPORTANT security patches for GeoAnalytics Server available to download: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
Ahamada
Contributor III
Contributor III

Affichage d'une mesure J et J-2

Bonjour la communauté, 

J'ai rencontré un problème et je voudrais partager avec vous pour que vous m'aidiez. 

En effet, j'ai suis entrain de monter un rapport qlik sense, sur un des tableaux je dois afficher une mesure à une date J et J-2, comme ceci:  

Exemple du jeu de données:

Ahamada_1-1641544189628.png

Mesure: comptage des 'id' 

Si on prend J=07/01/2022 , alors J-2=05/01/2022, on a:

Ahamada_0-1641544001171.png

Après ça, je veux que si j'effectue un filtre d'une date quelconque(J) , on affiche  également les résultats de J-2.

Merci d'avance.

 

1 Solution

Accepted Solutions
Taoufiq_Zarra

Bonjour @Ahamada ,

pour l'exemple :

Taoufiq_Zarra_0-1641735683334.png

tu peux ajouter deux mesures:

pour J:

=count({<DateRef={'$(=getfieldselections(DateRef))'}>} id)

J-2

=count({<DateRef={'$(=Date(getfieldselections(DateRef)-2))'}>} id)

si je sélectionne 07/01/2022:

voici les résultats:

Taoufiq_Zarra_1-1641735833600.png

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉

View solution in original post

6 Replies
Taoufiq_Zarra

Bonjour @Ahamada ,

pour l'exemple :

Taoufiq_Zarra_0-1641735683334.png

tu peux ajouter deux mesures:

pour J:

=count({<DateRef={'$(=getfieldselections(DateRef))'}>} id)

J-2

=count({<DateRef={'$(=Date(getfieldselections(DateRef)-2))'}>} id)

si je sélectionne 07/01/2022:

voici les résultats:

Taoufiq_Zarra_1-1641735833600.png

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
Ahamada
Contributor III
Contributor III
Author

Bonjour @Taoufiq_Zarra , 

Merci beaucoup, ça marche bien si je sélectionne une date.

Par contre, par défaut (avant filtre) , on affiche la valeur 0.

Y a t-il un moyen de sélectionner par défaut la dernière date? 

 

Merci d'avance

Taoufiq_Zarra

Bonjour @Ahamada ,

tu peux utiliser cette version

pour J:

=if(GetSelectedCount(DateRef)>0,count({<DateRef={'$(=getfieldselections(DateRef))'}>} id),count({<DateRef={'$(=Date(max(DateRef)))'}>} id))

pour J-2:

=if(GetSelectedCount(DateRef)>0,count({<DateRef={'$(=Date(getfieldselections(DateRef)-2))'}>} id),count({<DateRef={'$(=Date(max(DateRef)-2))'}>} id))

 

output:

Taoufiq_Zarra_0-1642002041113.pngTaoufiq_Zarra_1-1642002050847.png

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
mikaelsc
Specialist
Specialist

pourquoi mettre un "if" dans votre expression?  

count({<DateRef={'$(=Date(max(DateRef)))'}>} id)
count({<DateRef={'$(=Date(max(DateRef)-2))'}>} id)

 

sont bien suffisants (et permettent la selection de plusieurs dates -_> donneront toujours la valeur de la derniere date (et derniere date -2) 

Ahamada
Contributor III
Contributor III
Author

Bonjour @Taoufiq_Zarra , @mikaelsc , 

Merci beaucoup pour ces éléments de réponses. 

J'ai testé les deux méthodes et c'est celle de @Taoufiq_Zarra  qui est plus adaptée à mon problème. 

Par ailleurs, j'ai voulu calculer un autre indicateur: "compter le nombre des 'id' entre la date sélectionnée (J)  et J-2 ". J'ai pris la formule ci-dessus et appliqué comme suit: 

if(GetSelectedCount(DateRef)>0,count(distinct {<DateRef={"<=$(=Date(getfieldselections(DateRef)))"}, DateRef={">=$(=Date(getfieldselections(DateRef)-2))"}>} id),
count(distinct {<DateRef={"<=$(=Date(max(DateRef)))"}, DateRef={">=$(=Date(max(DateRef)-2))"}>} id)) 

Et j'ai constaté qu'elle ne tient compte que la dernière condition DateRef={">=$(=Date(getfieldselections(DateRef)-2))"}  ( ou DateRef={">=$(=Date(max(DateRef)-2))"})

 

Avez vous une idée de comment je pourrais borner les deux dates à chaque sélection? 

Merci 

 

Ahamada
Contributor III
Contributor III
Author

Re

J'ai trouvé la solution pour le bornage des dates: 

if(GetSelectedCount(DateRef)>0,count(distinct {<DateRef={"<=$(=Date(getfieldselections(DateRef))) >=$(=Date(getfieldselections(DateRef)-2))"} id),
count(distinct {<DateRef={"<=$(=Date(max(DateRef))) >=$(=Date(max(DateRef)-2))"} id))