Qlik Community

Ask a Question

Groupe des Utilisateurs Francophones

Announcements
Join us at the Cloud Data and Analytics Tour! REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 
konieczny
Partner
Partner

Calcul Ecart date dans dimension

Bonjour à toutes et à tous,

Je viens poser un problème d'écart de date dans une dimension d'une application

 

Je souhaite créer une dimension me permettant de répartir des factures par tranche de retard de paiement :

=If($(Ageing_RetardJFDM)>1 and $(Ageing_RetardJFDM)<=30,'- de 1 mois',
If($(Ageing_RetardJFDM)>30 and $(Ageing_RetardJFDM)<=60,'1 mois',
If($(Ageing_RetardJFDM)>60 and $(Ageing_RetardJFDM)<=90,'2 mois',
If($(Ageing_RetardJFDM)>90 and $(Ageing_RetardJFDM)<=180,'3 mois',
If($(Ageing_RetardJFDM)>180 and $(Ageing_RetardJFDM)<=365,'6 mois',
If($(Ageing_RetardJFDM)>365,'12 mois et +','Non échu'))))))

 

La variable $(Ageing_RetardJFDM) correspond à ce calcul dans une autre variable : ((A_date))-(Date(MonthEnd(Date(("Ecriture - Date")+30))))

sachant que A_Date est une date que l'utilisateur peut saisir dans une variable dans la feuille.

Lors de la première utilisation dans la feuille tout fonctionne correctement, l'application des tranches de retard est bonne.

Par contre dés que l'utilisateur change la date dans la feuille, donc le A_date, cela ne fonctionne plus. En fait c'est comme si la variable A_date gardait en mémoire la première saisie, le calcul reste figé.

Auriez vous une idée ?

Sachant bien sur que lorsque je fais  le calcul de différence des dates dans une mesure le calcul fonctionne parfaitement.

Merci par avance pour votre aide.

Et bonne soirée à toutes et à tous. 

 

2 Replies
brunobertels
Specialist II
Specialist II

Bonjour 

Si À_date est une valeur variable rentrée par l'utilisateur il faut réévaluer cet valeur à chaque changement donc ta mesure doit aussi être appelé 

Donc peut être rajouter le signe dollar :

($(A_date))-(Date(MonthEnd(Date(("Ecriture - Date")+30))))

Ensuite,  mais je ne l'ai pas testé tu peux peut être simplifier ta mesure sans ère obliger de la borner par deux valeurs pour chaque tranche :

=If($(Ageing_RetardJFDM)<=30,'- de 1 mois',
If($(Ageing_RetardJFDM)<=60,'1 mois',
If($(Ageing_RetardJFDM)<=90,'2 mois',
If($(Ageing_RetardJFDM)<=180,'3 mois',
If($(Ageing_RetardJFDM)<=365,'6 mois',
If($(Ageing_RetardJFDM)>365,'12 mois et +','Non échu'))))))

 

konieczny
Partner
Partner
Author

Bonjour et merci pour votre réponse.

J'ai essayé avec le $.

Quand je teste ma variable A_date toute seule et que l'utilisateur saisi le 30/11/2020 :

Date((A_date)) me donne 30/11/2020 donc la bonne date

Date($(A_date)) me donne 30/12/1899

Est ce le fait que cela soit une dimension et non une mesure ? est ce un problème de format ?

Merci 🙂