Pregunta JSL sobre tabular, ordenar y colorear celdas en el cuadro de la tabla de datosHola comunidad, mi intención es crear varias tablas mediante tabulación, ordenar la columna de destino en cada tabla de mayor a menor, combinarlas en una nueva ventana y mostrar los datos de la primera fila en verde. A continuación, se muestra cómo lo hice con la clase big de datos de ejemplo, con algunos problemas que no logro entender por qué:
1. La ventana de clasificación permanece abierta y realmente no realiza la clasificación.
2. La plataforma de tabulación se mantiene abierta
3. No sé cómo colorear las celdas después de colocarlas en el cuadro de la tabla de datos en una nueva ventana.
A continuación se muestra mi 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)));
Automatización y scriptingRe: Pregunta JSL sobre tabular, ordenar y colorear celdas en el cuadro de la tabla de datosPodría haber un problema relacionado con los espacios de nombres (estás usando Local)
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)));
Re: Pregunta sobre JSL sobre tabular, ordenar y colorear celdas en el cuadro de la tabla de datos¡muchas gracias!
Lo intenté, pero todavía tengo el problema de la plataforma de clasificación abierta, realmente no tomo ninguna acción.
Si ejecuto el código línea por línea, funciona, pero no sé por qué falla al ejecutar el código completo...
Re: Pregunta JSL sobre tabular, ordenar y colorear celdas en el cuadro de la tabla de datosAsí es como logré que su código funcionara:

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>