Bedingte Formatierung von Zellen in einer Datierbaren mit Wenn-Dann-Operationen auf mehreren Spaltenzellen eines DatensatzesHallo Experten,
Ich werde mein Bestes geben, um mein Problem zu erklären.
1. Ich habe zwei Datensätze: einen, der die Medianwerte von Los A in verschiedenen Spalten enthält, und einen, der die Standardabweichung einiger Parameter enthält.
Median-Datentabelle

Standardabweichungsdatentabelle:

2. Ich möchte den Spaltenwert „risk_lot“, Zeilenwert „value(5)“ mit [baseline(4) + 2*std dev datatable:Lot(2)] und [baseline(4) - 2*std dev datatable:Lot(2)] vergleichen. Wenn er in diesem Bereich liegt, also in diesem Beispiel 0<5<8, dann möchte ich die Zelle „risk_lot“ grün einfärben, und wenn er außerhalb des Fensters liegt, rot.
3. Ich habe es mit dem unten stehenden Code versucht, aber er gibt die Fehlermeldung „Argument kann nicht in Zahl umgewandelt werden“ aus, was mich glauben lässt, dass meine Syntax irgendwie durcheinander ist.
4. Habe mir auch ein paar Beispiele im Forum angesehen, aber es funktioniert nicht.
5. Ich habe jmp12.
Bitte helfen Sie. Danke.
dt_summary<<SELECT where="">formula(column(3)+2*column(dt_std_subset,3)))|(column(i)Mass Customization</SELECT>
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenDie einzige Möglichkeit, eine Kopie einer Datentabelle mit Farbe in den Zellen zu erhalten, die in ein Journal verschoben werden soll, besteht darin, zuerst die Datentabelle in ein eigenes Fenster zu stellen und dann das temporäre Fenster anzuhängen mit der Datentabelle darin, wo immer es im endgültigen Journal sein muss.Siehe das Beispielskript unten

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
:age << color cells( "red", [2, 4, 6, 8] );
temp = New Window( "temp", <<JOURNAL></JOURNAL>
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenDanke Jim. Das funktioniert jetzt. Allerdings bin ich jetzt auf ein anderes Problem gestoßen. Ich möchte, dass diese farbcodierte Datentabelle zusammen mit anderen Diagrammen unter dieser Tabelle Teil eines Berichts / Abschlussjournals wird. Etwas wie unten. Wenn ich versuche, das Datentabellenfeld zu verwenden, um diese Tabelle zum Bericht hinzuzufügen, verschwindet die Farbcodierung und es gibt keine Rahmen-/Rasterlinien. Können Sie mir bitte mit Code helfen, um das folgende Layout zu erreichen?
[Final Analysis-Fenster]
[Farbcodierte Übersichtstabelle mit Gitterlinien.]
(Überschrift = Spalte 1)
[Boxplot von Spalte 1 in Übersichtstabelle][Normalquantildiagramm von Spalte 1 in Übersichtstabelle]
(Überschrift = Spalte 2)
[Boxplot von Spalte 2 in Übersichtstabelle][Normalquantildiagramm von Spalte 2 in Übersichtstabelle]
..
.. usw.
Danke
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenDanke Jim. Ich entschuldige mich dafür, dass ich meine Frage am Anfang nicht sehr klar formuliert habe. Ich denke, das ist der Fehler, den ich bekommen habe, als ich die for-Schleife versuchte. Aus diesem Grund dachte ich, dass es eine spezielle Möglichkeit geben könnte, mit ihren Handles auf verschiedene Datensatzspalten zu verweisen, aber ich habe nicht darüber nachgedacht, was gegen Ende der Schleife passieren wird.Ich werde das heute ausprobieren und Sie informieren, wenn ich auf Probleme stoße.
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenIch muss zugeben, dass ich verwirrt bin, also werde ich zu Ihrem ursprünglichen Eintrag zurückkehren und von vorne beginnen.Hier ist eine Konvertierung Ihres Zellenfarbcodes.Es hat 3 Änderungen.
- Ich habe nCol+1 in N Cols(dt_med_subset) geändert.Ihr Code schlägt mit der ursprünglichen Berechnung fehl, denn wenn der Wert von „i“ nCol+1 erreicht, sucht Ihr Code nach einer Spalte hinter dem Ende der Datentabelle und kann sie nicht finden.
- Ich habe sowohl den std- als auch den med-Datentabellen absolute Verweise hinzugefügt
- Ich habe For Each Row in eine normale For()-Schleife geändert.Der Code wird schneller ausgeführt und bietet eine genauere Referenz
For( rowNum = 1, rowNum <= N Rows( dt_med_subset ), rowNum++,
For( i = 4, i < N Cols( dt_med_subset, i++,
If(
(Column( dt_med_subset, i )[rowNum] > Column( dt_med_subset, 3 )[rowNum] + 2
* Column( dt_std_subset, 3 )[rowNum]) | (Column( dt_med_subset, i )[rowNum]
< (Column( dt_med_subset, 3 )[rowNum] - 2 * Column( dt_std_subset, 3 )[rowNum]))
,
Column( dt_med_subset, i ) << color cells( "red", rowNum ),
Column( i ) << color cells( "green", rowNum )
)
)
)
);Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenDanke für den Code. Wie ich sehe, verweist Ihr Code auf die Spalten Baseline, Lot und Risk Lot mit ihren Namen. Ich hatte versucht, nCOL zu verwenden, weil der ursprüngliche Datensatz, den ich habe, 40 Spalten wie risk lot enthält und ich vermeiden möchte, auf jede von ihnen namentlich zu verweisen, da sie sehr lange Namen haben.
Wie kann ich eine for-Schleife für all diese Spalten verwenden und die gesamten 40 Spaltenzellen mit der gleichen Logik wie in den letzten 3 Zeilen Ihres Codes farblich codieren? Ich denke, was ich frage, ist, wie man die gesamten 40 Spalten farblich codiert, ohne explizite Spaltennamen zu verwenden und stattdessen Handles/Verweise auf diese Spalten zu verwenden. Bitte teilen Sie mir mit, ob es eine Möglichkeit gibt, dies zu tun?
Danke
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenHier ist meine Version Ihres Codes.Ich trenne die Median- und Std-Dev-Daten, aber füge die Daten dann mit Update wieder zusammen.
Names default to here(1);
dt_summary = New Table( "summary",
Add Rows( 4 ),
Set Header Height( 50 ),
New Column( "Analysis Columns",
Character,
"Nominal",
Set Values( {"Test-1", "Test-1", "Test-2", "Test-2"} )
),
New Column( "Statistics",
Character,
"Nominal",
Set Values( {"Median", "Std Dev", "Median", "Std Dev"} )
),
New Column( "baseline",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] )
),
New Column( "risk_lot",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [4, 7, 19, 9] )
)
);
dt_summary << select where( :Statistics == "Std Dev" );
dt_std_subset = dt_summary << subset(
output table( "Std summary" ),
selected rows( 1 ),
selected columns( 0 )
);
dt_summary<<INVERT row="" selection=""></INVERT>
Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere DatensatzspaltenzellenHallo Jim,
Danke, dass du mir dabei geholfen hast. So sieht also die Übersichtstabelle aus. Ich hatte Ihre vorherige Lösung in einem der Posts ausprobiert, konnte sie aber nicht zum Laufen bringen, also dachte ich, diese Tabelle in std dev und median table zu unterteilen. Ich dachte, es wäre einfacher, die Zellen in der Median-Subset-Tabelle zu ändern, indem ich auf Spaltenwerte aus der std dev-Tabelle verweise und damit ein paar einfache Berechnungen anstelle, bin aber hängen geblieben 
Wenn es einen einfacheren Weg gibt, lassen Sie es mich bitte wissen. Das ultimative Ziel ist es, nur eine Mediantabelle (Teilmenge der Übersichtstabelle) zu haben, bei der die Zellwerte basierend auf der Wenn-Dann-Logik farbcodiert sind.
Danke noch einmal.

Betreff: Bedingte Formatierung von Zellen in einer Datentabelle mit Wenn-Dann-Operation für mehrere Datensatzspaltenzellen- Könnten Sie zeigen, wie die Datentabelle dt_summary aussieht.Der von Ihnen gezeigte Code, der die Median- und STD-Datentabellen erstellt, scheint nicht vollständig zu sein, da er die beiden Tabellen so erstellen kann, wie Sie es zeigen?
- Sind die Median- und STD-Datentabellen vollständig in der Anzahl der Spalten, die sie haben werden?
- Gibt es einen Grund, warum Sie die Median- und STD-Datentabelle nicht einfach in einer einzigen Tabelle zusammenführen, um die bedingte Zellenfärbung zu einem einfacheren Prozess zu machen?