J'essaie de comprendre comment ajouter une nouvelle colonne à une table qui sera remplie de données dépendant d'autres données de cette ligne. Nous avons plusieurs fermentations dans une trame de données. Chacun a une valeur vide. J'aimerais avoir la valeur à blanc de chaque fermentation dans une nouvelle colonne afin de pouvoir la soustraire de la valeur du traitement. De plus, s'il existe une meilleure façon de procéder que de créer une nouvelle colonne, ce serait également génial ! Merci.
Exemples de données inventées :
| Fermentation | Traitement | Valeur | Valeur du blanc de fermentation |
| UN | 1 | 98 | 6 |
| UN | 2 | 73 | 6 |
| UN | Vide | 6 | 6 |
| B | 1 | 84 | 5 |
| B | 2 | 86 | 5 |
| B | Vide | 5 | 5 |
La « valeur » lorsque le traitement = vide est-elle toujours inférieure à la valeur lorsque le traitement n'est pas vide ?Si tel est le cas, vous pouvez simplement utiliser la fonction ColMin, par Traitement.Sinon, je suppose qu'une façon quelque peu maladroite de faire quelque chose de similaire est d'abord de créer une colonne qui rend Treatment différent de Blank = 1 et Treatment = Blank égal à zéro, puis d'utiliser l'approche ColMin By.
Où auriez-vous la valeur sinon dans une nouvelle colonne ?
Voici une formule pour l'ajouter en tant que nouvelle colonne
Col Sum(If(:Treatment == "Blank", :Value, .), :Fermentation)
Lorsque j'essaie cette expression, j'obtiens une erreur disant
Colonne numérique attendue lors de l'accès ou de l'évaluation de 'Col Sum', Col Sum/*###*/IF(:Treatment == "Blank", :Value,.):Fermentation)
La colonne "Valeur" est numérique continue, donc je ne sais pas quelle partie de l'expression elle n'aime pas
Il est fort probable que la colonne Valeur de votre table de données ne soit pas formatée en numérique (très probablement un caractère).
Voici un script avec un exemple de table qui fonctionne. Regardez sur le côté gauche pour les colonnes et leurs types de modélisation, la valeur est continue (vous ne pouvez pas avoir de type de données = caractère, de type de modélisation = continu dans JMP (vous pouvez avoir un nominal numérique mais que vous ne pouvez pas voir directement à partir des types de modélisation...) .
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(6),
Compress File When Saved(1),
New Column("Fermentation", Character, "Nominal", Set Values({"A", "A", "A", "B", "B", "B"})),
New Column("Treatment",
Character(16),
"Nominal",
Set Values({"1", "2", "Blank", "1", "2", "Blank"})
),
New Column("Value",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([98, 73, 6, 84, 86, 5])
),
New Column("Fermentation Blank Value",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([6, 6, 6, 5, 5, 5])
)
);
dt << New Column("Val", Numeric, Continuous, Formula(
Col Sum(If(:Treatment == "Blank", :Value, .), :Fermentation)
));

Cela aurait dû se faire par fermentation, pas par traitement.