Comment calculer les moyennes mobiles pour les lignes sélectionnéesBonjour à tous!
J'essaie d'écrire un script qui calculera les moyennes mobiles en utilisant des lignes sélectionnées dans un tableau.
Pour planter le décor :
J'ai un tableau de données (exemple ci-joint) avec plusieurs exécutions (ID unique) d'un processus en 3 étapes (A, B, C). Il y a une valeur rapportée pour chaque étape et ces valeurs sont additionnées pour donner une valeur totale pour chaque occasion. Je voudrais avoir une colonne qui indique une moyenne mobile du total. J'ai parcouru certaines des discussions et j'ai obtenu de bons conseils sur la façon de procéder (c'est-à-dire des moyennes mobiles pour chaque ID unique... CET exemple a aidé et la formule est dans :Moyenne mobile (ID unique).
L'étape suivante que je souhaiterais effectuer consiste à inclure UNIQUEMENT un sous-ensemble des exécutions dans cette évaluation. Les exécutions sont surlignées en rouge et le résultat souhaité (dans ce cas, la moyenne mobile de trois occasions seulement) est dans :Résultat souhaité.
J'ai des problèmes avec le script pour sélectionner le sous-ensemble d'exécutions à évaluer.
De plus, je suis relativement nouveau dans JSL et j'apprécierais également des suggestions sur la manière d'obtenir le résultat final de manière plus propre ou plus efficace.
Merci d'avance pour votre aide !
Chris
Automatisation et scriptsAnalyse et modélisation de données de baseFusion et nettoyage des donnéesRé: Comment calculer les moyennes mobiles pour les lignes sélectionnéesSur quoi se base la sélection de ces trois lignes ?
Ré: Comment calculer les moyennes mobiles pour les lignes sélectionnéesJarmo,
Ce processus s'exécute dans deux paramètres différents : l'un est destiné à l'utilisation en développement et l'autre à l'utilisation « officielle » (si cela a du sens).
et ces trois lignes représentent ce dernier. Pour la moyenne mobile, je ne veux pas inclure les exécutions de développement. Cependant, je VEUX inclure toutes les données dans la feuille de suivi/tendance. J'ai donc une « source unique de vérité » représentant tous les paramètres/opérateurs/etc. La feuille ci-jointe représente simplement un ensemble minimal d'informations pour aider à répondre à la demande de la communauté JMP.
J'ai créé des ensembles de données similaires au fil des ans et j'ai récemment commencé à travailler avec JSL pour essayer de développer des flux de travail plus efficaces. Je n'ai cependant aucune expérience en codage, donc je suis toujours sur une courbe d'apprentissage abrupte. Ce groupe m'a été vraiment utile !
Chris
Ré: Comment calculer les moyennes mobiles pour les lignes sélectionnéesJe me demande simplement comment sélectionner les bonnes lignes d'intérêt ? Cela se fait-il en fonction de la couleur ou des cellules dans des colonnes spécifiques ? Sélectionnez-vous les lignes manuellement, puis la moyenne mobile est calculée à partir de ces lignes sélectionnées ?
Par exemple, vous pourriez donner une colonne de regroupement et ensuite l'utiliser
If(!Is Missing(:Group),
Col Moving Average(As Column("Total (Sum of Stages for each Unique ID)"), 1, :Group),
.
)

Vous pouvez également créer un sous-ensemble de ces lignes uniquement (peut-être une ligne liée) pour rendre le calcul encore plus simple (Edit : cela ne fonctionnera pas avec un sous-ensemble lié même si cela semble fonctionner dans l'aperçu)
Col Moving Average(As Column("Total (Sum of Stages for each Unique ID)"), 1)

Col Moyenne mobile (nom, options, ) peut être une bonne lecture car c'est l'une des fonctions de formule les plus déroutantes
Ré: Comment calculer les moyennes mobiles pour les lignes sélectionnéesAhh...maintenant je comprends ta question.
Je pensais sélectionner les lignes où :À inclure == Oui. Existe-t-il une meilleure façon ?
Je vais lire cette documentation... J'ai été dérouté par la fonction, c'est sûr !
Chris
Ré: Comment calculer les moyennes mobiles pour les lignes sélectionnéesah.. donc vous voulez calculer la moyenne mobile de colonne pour inclure des lignes mais ne la signaler que sur la dernière ligne de chaque identifiant unique ?

Notez que cela calculera la moyenne mobile en utilisant TOUTES les valeurs des groupes, pas seulement les dernières valeurs, mais il la signalera sur la dernière ligne (supprimez l'instruction if pour voir ce qu'elle fait réellement)
If(:To Include == "Yes" & Row() == Col Max(Row(), :Unique ID),
Col Moving Average(:"Total (Sum of Stages for each Unique ID)"n, 1, :To Include),
.
)

Vous pouvez également effectuer le calcul en vous basant uniquement sur les dernières lignes, mais le calcul deviendra plus lent et plus difficile à lire.
If(:To Include == "Yes" & Row() == Col Max(Row(), :Unique ID),
Col Moving Average(
If(Row() == Col Max(Row(), :Unique ID),
:"Total (Sum of Stages for each Unique ID)"n,
.
),
1,
:To Include
),
.
)
Ceux-ci sont plus faciles à comprendre lorsque vous les divisez en plusieurs formules distinctes.
Ré: Comment calculer les moyennes mobiles pour les lignes sélectionnéesMerci beaucoup ! Je vais commencer à jouer avec ça.
C