JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenHallo,
Ich habe es schon seit einiger Zeit genossen, auf diesen Diskussionsseiten zu lesen und Lösungen zu finden, aber jetzt habe ich Schwierigkeiten, das herauszufinden.
Ich habe eine Datentabelle, die eine variable Anzahl von Spalten angibt, die automatisch von der Maschine generiert werden, wobei die ersten 14 Spalten immer dieselben identifizierenden Informationen enthalten. Die anderen Spalten ab 15 sind numerische kontinuierliche Daten, bei denen die Spaltennamen immer variieren.
Das Problem besteht darin, dass ich versuche, die Erstellung einer Übersichtstabelle zu automatisieren, die die Daten nach ihren identifizierenden Informationen gruppiert und außerdem eine Spalte mit den maximalen Daten für jede Datenspalte enthält.
Ist es bei einer unterschiedlichen Anzahl von Datenspalten und unterschiedlichen Spaltennamen möglich, jede Spalte zu durchlaufen? Zum Beispiel eine for-Schleife, um alle Max-Werte in die Übersichtstabelle zu bekommen? Ich bin dadurch eingeschränkt, dass ich nicht alle Spalten b/c der unterschiedlichen Spaltennamen bei jedem Abruf benennen kann, aber man kann mit Sicherheit sagen, dass für jede Spalte nach der 14. Spalte die gefundenen Maximalwerte benötigt werden.
Dies ist das JSL-Skript, das ich zu bearbeiten versucht habe, aber beim Generieren der Max-Spalten bin ich in eine Sackgasse geraten.
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
Vielen Dank für alle Beiträge zu meinem Problem!
Datenmischung und -bereinigungBetreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenUnter der neuesten JMP-Version funktioniert der Code einwandfrei. Danke!
Betreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenHallo, Danke für deinen Code. Hier habe ich herausgefunden, dass ich nur die maximale Höhe der ersten numerischen Spalte ermitteln kann. Bitte siehe Anlage. Ich vermute, dass Max nur auf den ersten Wert der Liste funktioniert. Können Sie mir helfen herauszufinden, warum?
Betreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenVielen Dank @txnelson
Das ist perfekt. Da ich weiß, welche Spalten ich entfernen möchte, ist die Funktion „Remove from()“ genau das, was ich brauchte.
Hier ist im Grunde der Code, der genau das tut, was ich brauche:
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
Remove From(colNamesList, 1,2 ); //removes first two columns that I don't want evaluated
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
Betreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenNachdem die colNamesList erstellt wurde, können Sie die Funktion „Remove From()“ verwenden, um bestimmte Zeilen in der Liste zu löschen. Sobald die Liste dann auf die gewünschten Spalten reduziert ist, können Sie sie für die Generierung der Übersichtstabelle verwenden.
Die Definition und das Beispiel der Funktion „Remove From()“ finden Sie im Skriptindexeintrag
Betreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenDanke @txnelson ,
das hat mein Problem teilweise gelöst.
Meine ursprüngliche Datentabelle enthält Datumsspalten, deren Maximalwerte ich nicht analysieren möchte. Dabei besteht grundsätzlich das Problem, dass ich die Maximalwerte der ersten 14 Spalten unabhängig von ihrem Datentyp nicht berechnen möchte.
Gibt es eine Möglichkeit, die ersten 14 Spalten zu ignorieren, oder wäre es einfacher, eine neue Tabelle zu erstellen, die zuerst die unerwünschten Spalten löscht, bevor sie für eine Übersichtstabelle weitergegeben wird?
Danke,
Gloria
Betreff: JSL Erstellen Sie eine neue Übersichtstabelle mit Maximalwerten variabler SpaltenHier ist ein Beispiel dafür, wie Sie mit der Big Class-Beispieldatentabelle tun, was Sie wollen.
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
