Moyenne de script des cinq derniers points pour chaque type de ligneSalut,
J'ai des problèmes pour essayer de trouver le meilleur moyen de ne faire la moyenne que des cinq derniers points de données pour chaque identifiant de ligne à l'aide de jsl. J'ai essayé de définir une séquence, puis de supprimer les x premiers points de la séquence, mais le problème est que chaque identifiant de ligne n'a pas le même nombre de lignes. Le nombre d'identifiants est également susceptible de changer en fonction de l'extraction des données.
Ex, pour le tableau suivant, je veux afficher la moyenne des cinq derniers points de A, B et C (mais la liste des identifiants peut aller jusqu'à Z):

Re : Moyenne de script des cinq derniers points pour chaque type de ligneFonctionne comme un charme, merci !
Re : Moyenne de script des cinq derniers points pour chaque type de ligneVous pouvez simplement créer une nouvelle table en utilisant les clés et les valeurs du tableau associatif :
dtSummary = New Table( "Summary",
New Column( "ID", "Character", Set Values( avgs << Get Keys ) ),
New Column( "Average", "Numeric", Set Values( avgs << Get Values ) )
);
Re : Moyenne de script des cinq derniers points pour chaque type de ligneMerci! J'ai pu l'adapter à ce dont j'avais besoin. La question suivante est cependant, comment puis-je cracher ces valeurs moyennes dans un tableau récapitulatif ?
Re : Moyenne de script des cinq derniers points pour chaque type de ligneEst-ce que quelque chose comme ça fonctionnerait?
avgs = Associative Array( dt:ID );
ids = avgs << get keys;
For( i = 1, i <= N Items(ids), i++,
these = As List( dt << get rows where( dt:ID == ids[i] ) );
If( N Items(these) < 5,
n = N Items(these),
n = 5;
Remove From( these, 1, N Items(these) - n );
);
these = Matrix( these );
avgs[ids[i]] = Sum(dt:Value[these]) / n;
);
Show(avgs);