Vergleichen Sie die Werte in jeder Zeile mit den Werten in der ersten Zeile (Grenzwerte).Hallo, ich habe eine Reihe von Grenzwerten, mit denen ich den Rest meiner Zeilen vergleichen möchte, und möchte Zellen hervorheben, die über diesem Grenzwert liegen. Wie mache ich das?
Oder wenn mir jemand zeigen könnte, wie ich die erste Zeile auswähle, wäre das auch hilfreich.
Folgendes versuche ich:
dt = Current Data Table();
dt << select where( :"Value_in"n[Row()] > :"Value_in"n[Row()==0]) << Color Cells("Red");Dank im Voraus.
Grundlegende Datenanalyse und ModellierungBetreff: Werte in jeder Zeile mit Werten in der ersten Zeile vergleichen (Grenzwerte)Willkommen in der Community.
Hier ist ein Beispiel, wie ich das angehen würde

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>
Betreff: Werte in jeder Zeile mit Werten in der ersten Zeile vergleichen (Grenzwerte)Sie können die Datentabellen-Indizierung verwenden, um Werte aus jeder Zeile auszuwählen. Es ist auch nicht notwendig, die Zeilen auszuwählen
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);Betreff: Werte in jeder Zeile mit Werten in der ersten Zeile vergleichen (Grenzwerte)Vielen Dank, ich habe etwas leicht anderes ausprobiert (da ich die Zelle :values[0] brauche, um den Grenzwert zu enthalten) und es hat funktioniert. Danke für die Antwort!
Hier ist übrigens mein Code, allerdings nicht so elegant, und ich habe mehrere Kopien davon für jede meiner Spalten, die ich vergleichen möchte:
::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);
);
); Betreff: Werte in jeder Zeile mit Werten in der ersten Zeile vergleichen (Grenzwerte)2 Kommentare zu Ihrer Antwort und zum Datentabellenlayout.
- Die Verwendung einer For()-Schleife ist im Vergleich zur Verwendung einer Get Rows Where()-Schleife sehr ineffizient.
- Die Verwendung einer JMP-Datentabelle wie einer Excel-Datentabelle ist problematisch. Eine JMP-Datentabelle ist für Analysen konzipiert. Daher ist sie spaltenbasiert und nicht zellenbasiert wie eine Excel -Tabelle . Eine Begrenzung, wie Sie sie in die Tabelle eingefügt haben, zwingt den Benutzer, die eindeutigen Zeilen zu programmieren. Die typische Vorgehensweise zum Umgang mit Elementen wie einer Begrenzung besteht darin, sie in einer separaten Datentabelle zu haben oder sie als Spalteneigenschaft zu speichern. JMP verfügt über eine Spalteneigenschaft „Spec Limit“, die genau das sein könnte, was Sie verwenden könnten. Wenn nicht, können Sie eine neue Spalteneigenschaft erstellen und sie dort einfügen.