Skripttabelle nach benutzerdefinierter Spalte sortierenAchtung – Scripting-Neuling bei der Arbeit. Ich arbeite an einem Skript, von dem ein Teil die Datentabelle nach der vom Benutzer ausgewählten Spalte sortiert (erhalten durch ColList-Auswahl und Eval-Liste).
Das funktioniert nicht, es öffnet sich der Sortierdialog, den ich nicht möchte:
dt << Sort( By(_userCol), Order(Ascending), Replace Table);
Wenn ich mit der Maus über _userCol fahre, wird die zugewiesene Spalte im Skriptfenster angezeigt.Wenn ich den genauen Spaltennamen verwende, funktioniert es, ohne den Sortierdialog aufzurufen:
dt << Sort( By(:Timestamp), Order(Ascending), Replace Table);
Wie kann ich dies mit der Variablen _userCol skripten?
Danke!
Betreff: Skripttabelle nach benutzerdefinierter Spalte sortierenHabe es gerade in einem anderen Thread gefunden.
1. Fügen Sie zunächst eine Listenprüfung hinzu
Column( Data Table( "Summary" ),"ITEM") << Set Property(List Check, summary_items);
2. Führen Sie eine Tabellensortierung durch.
https://community.jmp.com/t5/Discussions/Custom-Sort-Order/td-p/3119
Betreff: Skripttabelle nach benutzerdefinierter Spalte sortierenSo in etwa.
Wenn Sie die Spalteneigenschaft „Wertreihenfolge“ für die Spalte festlegen, die Sie sortieren möchten, und dann nach dieser Spalte sortieren, wird die resultierende Sortierung basierend auf der angegebenen Reihenfolge sortiert.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt:name << set property(
"value ordering",
{"ALICE", "BARBARA", "CHRIS", "ALFRED", "CLAY", "DAVID", "EDWARD", "CAROL", "AMY", "ELIZABETH", "DANNY",
"HENRY", "JACLYN", "JAMES", "JANE", "JEFFREY", "JOE", "JOHN", "KIRK", "LAWRENCE", "JUDY", "FREDERICK",
"LEWIS", "KATIE", "LESLIE", "LINDA", "MARION", "MARK", "LILLIE", "LOUISE", "MARY", "MICHAEL", "PATTY",
"WILLIAM", "SUSAN", "PHILLIP", "MARTHA", "ROBERT", "TIM"}
);
dt << sort( by( :name ), order( ascending ), replace table( 1 ) );Betreff: Skripttabelle nach benutzerdefinierter Spalte sortierenHallo Herr,
Ist es möglich, wenn ich die Tabelle nach einer vordefinierten Liste statt in aufsteigender oder absteigender Reihenfolge sortieren kann? z.B
dt = open("$sample_data\Big Class.jmp");
_userCol = "name";
dt << Sort( By(column(dt, _userCol)), Order(Descending), Replace Table);<BR /><BR />instead of the above, i like to order the table by name in a order given by "list" below?
list={"BARBARA","ALFRED","CHRIS","ALICE","AMY","CAROL","CLAY","DANNY","DAVID","EDWARD","ELIZABETH","FREDERICK","HENRY","JACLYN","JAMES","JANE","JEFFREY","JOE","JOHN","JUDY","KATIE","KIRK","LAWRENCE","LESLIE","LEWIS","LILLIE","LINDA","LOUISE","MARION","MARK","MARTHA","MARY","MICHAEL","PATTY","PHILLIP","ROBERT","SUSAN","TIM","WILLIAM"};Betreff: Skripttabelle nach benutzerdefinierter Spalte sortieren<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Danke. Mein Problem gelöst. Anschließend lernte ich die Verwendung von „As Column(_usercol)“ bei der Verwendung der Spalte in einer Formel.
Betreff: Skripttabelle nach benutzerdefinierter Spalte sortierenSie müssen das verwenden Spalte Funktion oder die evalu Funktion:
dt = open("$sample_data\Big Class.jmp");
_userCol = "age";
dt << Sort( By(column(dt, _userCol)), Order(Ascending), Replace Table);
ODER
dt << Sort( By(eval(_userCol)), Order(Ascending), Replace Table);