Tout en essayant de faire fonctionner ma solution pour Existe-t-il un moyen plus rapide de boucler? Je suis tombé sur un problème où la première ligne de mes données n'avait pas l'air correcte (en fait, le problème concernait tout le premier groupe).
Names Default To Here(1);
dt = New Table("Untitled 5",
Add Rows(8),
Compress File When Saved(1),
New Column("Vals", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 1, 2, 3, 4])),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 1, 2, 3, 4])),
New Column("Column 1 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 1, 2, 3, 4])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 1, 2, 3, 4])),
New Column("A", Character, "Nominal", Set Values({"A", "A", "A", "A", "B", "B", "B", "B"})),
New Column("B", Character, "Nominal", Formula(Col Mean(:Vals, :A)))
);
dt << New Column("Column 3", Numeric, Continuous, <<SET each="" value=""></SET>

Pour moi, il semble que Col Mean soit calculé pour la première ligne, puis signifie pour le reste du groupe un est calculé en utilisant cette valeur déjà remplacée. Il existe une solution de contournement dans laquelle vous pouvez ajouter une ligne vide en premier dans la table de données -> utilisez << définir chaque valeur -> supprimer cette première ligne.
J'ai déjà ouvert un ticket concernant ce problème (TS-00036082) et le support JMP a soumis un rapport de bogue à l'équipe de développement, mais je voulais le rendre plus visible. Je devrai peut-être vérifier certains de mes scripts plus anciens qu'il n'y a aucun endroit où j'utilise << Set Each Value() pour remplacer les valeurs existantes (généralement je l'utilise lors de la création de colonnes) lors de l'utilisation de fonctions statistiques col.