JSL-Frage zum Tabellieren, Sortieren und Einfärben von Zellen im DatentabellenfeldHallo Community, ich möchte mehrere Tabellen über „Tabulate“ erstellen, die Zielspalten in jeder Tabelle von der größten zur kleinsten sortieren, sie in einem neuen Fenster zusammenführen und die Daten der ersten Zeile grün anzeigen. Unten sehen Sie, wie ich es mit Beispieldaten der großen Klasse gemacht habe. Dabei gibt es einige Probleme, deren Ursache ich nicht verstehe:
1. Das Sortierfenster bleibt geöffnet und führt die Sortierung nicht wirklich durch
2. Die tabellarische Plattform bleibt offen
3. Ich weiß nicht, wie ich Zellen einfärben soll, nachdem ich sie in einem neuen Fenster in das Datentabellenfeld eingefügt habe
Unten ist mein JSL:
Open( "$SAMPLE_DATA/Big Class.jmp" );
Data Table( "Big Class.jmp" ) << Tabulate();
Local( {obj},
obj = Data Table( "Big Class.jmp" ) << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :height ) ),
Row Table( Grouping Columns( :name ) )
)
);
dt1 = obj << Make Into Data Table;
obj << Close Window;
);
dt1 << Sort(
By( :"sum(height)"n ),
Replace Table,
Order( Descending )
);
Data Table( "Big Class.jmp" ) << Tabulate();
Local( {obj},
obj = Data Table( "Big Class.jmp" ) << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :weight ) ),
Row Table( Grouping Columns( :name ) )
)
);
dt2 = obj << Make Into Data Table;
obj << Close Window;
);
dt2 << Sort(
By( :"sum(weight)"n ),
Replace Table,
Order( Descending )
);
nw = new window("summary", H list box(data table box(dt1), data table box(dt2)));
Automatisierung und SkriptingBetreff: JSL-Frage zum Tabellieren, Sortieren und Einfärben von Zellen im DatentabellenfeldKönnte ein Problem mit den Namespaces sein (Sie verwenden „Lokal“)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
obj = dt << Tabulate(
Show Control Panel(0),
Add Table(Column Table(Analysis Columns(:height)), Row Table(Grouping Columns(:name)))
);
dt1 = obj << Make Into Data Table;
obj << Close Window;
dt1 << Sort(By(:"sum(height)"n), Replace Table, Order(Descending));
obj = dt << Tabulate(
Show Control Panel(0),
Add Table(Column Table(Analysis Columns(:weight)), Row Table(Grouping Columns(:name)))
);
dt2 = obj << Make Into Data Table;
obj << Close Window;
dt2 << Sort(By(:"sum(weight)"n), Replace Table, Order(Descending));
nw = New Window("summary", H List Box(Data Table Box(dt1), Data Table Box(dt2)));
Betreff: JSL-Frage zum Tabellieren, Sortieren und Einfärben von Zellen im Datentabellenfeldvielen Dank!
ich habe es versucht, aber das Problem mit der geöffneten Sortierplattform besteht weiterhin, es werden keine wirklichen Maßnahmen ergriffen.
Wenn ich den Code Zeile für Zeile ausführe, funktioniert es, aber ich weiß nicht, warum es fehlschlägt, wenn ich den gesamten Code ausführe ...
Betreff: JSL-Frage zum Tabellieren, Sortieren und Einfärben von Zellen im DatentabellenfeldSo konnte ich Ihren Code zum Laufen bringen:

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//Data Table( "Big Class.jmp" ) << Tabulate();
//Local( {obj},
obj = Data Table( "Big Class.jmp" ) << Tabulate(
Show Control Panel( 0 ),
Add Table( Column Table( Analysis Columns( :height ) ), Row Table( Grouping Columns( :name ) ) )
);
dt1 = obj << Make Into Data Table;
obj << Close Window;
//);
dt1 << Sort( By( :"sum(height)"n ), Replace Table, Order( Descending ) );
// Color the cells in row 1
Current Data Table( dt1 );
:name << color cells( "green", 1 );
:"Sum(height)"n << color cells( "green", 1 );
//Data Table( "Big Class.jmp" ) << Tabulate();
Local( {obj},
obj = Data Table( "Big Class.jmp" ) << Tabulate(
Show Control Panel( 0 ),
Add Table( Column Table( Analysis Columns( :weight ) ), Row Table( Grouping Columns( :name ) ) )
);
dt2 = obj << Make Into Data Table;
obj << Close Window;
);
dt2 << Sort( By( :"sum(weight)"n ), Replace Table, Order( Descending ) );
// Color the cells in row 1
Current Data Table( dt2 );
:name << color cells( "green", 1 );
:"sum(weight)"n << color cells( "green", 1 );
// The only way I know to copy cell colors in a data table to a display
// window, is to move the data table with the colored cells to a journal
// Then it can be copied into a display object in a display window.
// I repeat the operation twice in the code below
nw = New Window( "summary", hls = H List Box() );
intJr = New Window( "x", <<JOURNAL></JOURNAL>