Bonjour,
Je souhaite calculer une moyenne mobile sur 12 mois, mes données étant groupées mois par mois. J'ai procédé de la façon suivante :
Ajout d'une formule @init dans l'entête de groupe :
Et ajout d'une formule @MoyenneMobile dans le pied de page du groupe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 WhilePrintingRecords; //initialise 12 elements... 1 par mois if not inrepeatedGroupHeader then ( numberVar array PreviousMonths := [0,0,0,0,0,0,0,0,0,0,0,0]; );
Or, quand je valide ma formule @init, Crystal me dit qu'il manque un "else". Et si je supprime ma condition "if", Crystal me dit qu'un tableau ne peut pas être le résultat d'une formule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 numbervar array PreviousMonths; numbervar i; //décalage des 11 élements précédents for i := 1 to 11 do ( PreviousMonths[i] := PreviousMonths[i+1]; ); // Mise à jour du 12e élément PreviousMonths[12] := Sum ({Table.ChampAMoyenner}, {Table.ChampDuGroupe}, "monthly") ; // Calcul de la moyenne Average(PreviousMonths);
Pouvez-vous me dire où se situe mon erreur ?
Y a t-il plus simple ?
Merci d'avance,
C.
Partager