Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Set Analysis et Variables

Bonjour,

J'ai créé deux variables dans une application, afin de récupérer l'année en cours et l'année précédente.

SET v_Annee = '(max(date_Annee))';

SET v_Annee_Prev = '(max(date_Annee)-1)';

Dans un objet texte j'effectue la formule suivante:

=sum({$<date_Annee={$(v_Annee)}>}PRM_TOT)

Je n'arrive pas à voir le résultat souhaiter.

Pourriez-vous me dire où je me trompe?

Merci d'avance

1 Solution

Accepted Solutions
Not applicable
Author

Bonjour,

En fait, il va falloir écrire :

sum({$<date_Annee={$(=$(v_Annee))}>}PRM_TOT)

Mais le mieux je pense c'est de modifier vos instructions SET :

SET v_Annee = 'date_Annee={$(=max(date_Annee))}';

SET v_Annee_Prev = 'date_Annee={$(=max(date_Annee)-1)}';

Et dans ce cas, l'expression sera : sum({$<$(v_Annee)>}PRM_TOT).

Attention, QV signelera cette solution en rouge sans qu'il n'y ai réellement d'erreur.

Cdlt,

View solution in original post

4 Replies
yvesqlik
Partner - Contributor III
Partner - Contributor III

quand tu veux ta variable fasse un calcul, tu met let au lieu du set devant:

LET v_Annee = '(max(date_Annee))';

LET v_Annee_Prev = '(max(date_Annee)-1)';

Set est  appoprié pour les definitions.

Not applicable
Author

Bonjour,

En fait, il va falloir écrire :

sum({$<date_Annee={$(=$(v_Annee))}>}PRM_TOT)

Mais le mieux je pense c'est de modifier vos instructions SET :

SET v_Annee = 'date_Annee={$(=max(date_Annee))}';

SET v_Annee_Prev = 'date_Annee={$(=max(date_Annee)-1)}';

Et dans ce cas, l'expression sera : sum({$<$(v_Annee)>}PRM_TOT).

Attention, QV signelera cette solution en rouge sans qu'il n'y ai réellement d'erreur.

Cdlt,

rlp
Creator
Creator

Attention car ainsi les variables seront fixées au chargement et ne dépendrons plus des sélections. Il vaut mieux utiliser la syntaxe $(=..) qui force l'évaluation de l'expression définissant la variable lors de l'évaluatuion de l'expression contenant la dite variable, ce qui donne:

=sum({$<date_Annee={$(=$(v_Annee))}>}PRM_TOT)

Ainsi, si l'utilisateur exclue les n derniéres années, l'expression ne sera évaluée que sur l'année la plus récente compatible avec les sélections.

Not applicable
Author

Merci pour votre aide