Comparer les valeurs de chaque ligne aux valeurs de la première ligne (limites)Bonjour, j'ai une ligne de limites avec laquelle je voudrais que le reste de mes lignes soit comparé et que les cellules qui sont au-dessus de cette limite soient mises en évidence. Comment puis-je faire cela ?
Ou si quelqu'un pouvait me montrer comment sélectionner la première ligne, cela aiderait également.
C'est ce que j'essaye :
dt = Current Data Table();
dt << select where( :"Value_in"n[Row()] > :"Value_in"n[Row()==0]) << Color Cells("Red");Merci d'avance.
Analyse et modélisation de données de baseRe : Comparer les valeurs de chaque ligne aux valeurs de la première ligne (limites)Bienvenue dans la communauté.
Voici un exemple de la façon dont j'aborderais cela

names default to here(1);
dt=New Table( "Example",
Add Rows( 100 ),
New Column( "values",
Formula( Random Integer( 50, 100 ) )
),
New Column( "limit",
Numeric,
Set Values(
[90]
)
)
);
dt:values << color cells(green,dt<<GET rows="" where=""> :limit[1]));</GET>
Re : Comparer les valeurs de chaque ligne aux valeurs de la première ligne (limites)Vous pouvez utiliser l'indexation des tables de données pour sélectionner une valeur dans n'importe quelle ligne. Il n'est pas non plus nécessaire de sélectionner les lignes
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
over_limit = dt << Get Rows Where(:weight > :weight[1]);
:weight << Color Cells("Red", over_limit);Re : Comparer les valeurs de chaque ligne aux valeurs de la première ligne (limites)Merci, j'ai essayé quelque chose de légèrement différent (car j'ai besoin que la cellule :values[0] contienne la valeur limite) et cela a fonctionné. Merci d'avoir répondu !
Voici mon code, d'ailleurs, pas aussi élégant cependant, et j'en ai plusieurs copies pour chacune de mes colonnes que je souhaite comparer :
::dt = Current Data Table();
For( ::i = 2, ::i <= N Row( ::dt ), ::i++,
If(:"colname_(unit)"n[::i] > :"colname_(unit)"n[1],
:"colname_(unit)"n << Color Cells("Red", ::i);
);
); Re : Comparer les valeurs de chaque ligne aux valeurs de la première ligne (limites)2 commentaires sur votre réponse et la disposition du tableau de données.
- L'utilisation d'une boucle For() est très inefficace par rapport à l'utilisation d'une boucle Get Rows Where()
- Utiliser une table de données JMP comme une table de données Excel est problématique. Une table de données JMP est conçue pour l'analyse. Par conséquent, elle est basée sur des colonnes et non sur des cellules comme Excel . Une limite telle que celle que vous avez placée dans la table oblige l'utilisateur à programmer autour des lignes uniques. La manière typique de gérer des éléments tels qu'une limite est de les placer dans une table de données séparée ou de les enregistrer en tant que propriété de colonne. JMP possède une propriété de colonne Limite de spécification qui pourrait être exactement ce que vous pourriez utiliser, et si ce n'est pas le cas, vous pouvez créer une nouvelle propriété de colonne et la placer à cet endroit.