Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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,
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.
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,
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.
Merci pour votre aide