Ordinamento nella finestra di ordinamento personalizzatoCome fa la finestra di ordinamento JMP a passare l'ordine crescente e decrescente dai pulsanti alla casella di riepilogo a colonne (ListBoxBox?) e poi al pulsante OK?
Devo creare una finestra di ordinamento personalizzata con opzioni limitate per le tabelle dati in un report. Ho capito come fare la maggior parte del lavoro, sia costruendo una finestra di ordinamento da zero, sia partendo dalla finestra di ordinamento di JMP. Di seguito un esempio con quest'ultima opzione.
How do I get order_list == ????????; from the Sort Window?
Con "Ottieni elementi" è facile ottenere le colonne in base alle quali ordinare. Come faccio a ottenere le direzioni associate alle icone di ordinamento crescente e decrescente che compaiono prima del tipo di dati e del nome della colonna nell'elenco a discesa Colonne?

Ecco un esempio di codice.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
sort_window[1][1][1][3][1] << Delete Box();
sort_window[1][1][1][2][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][5] << Delete Box();
sort_window[1][1][1][2][3][1][4] << Delete Box();
sort_window[1][1][1][2][3][1][3] << Delete Box();
sort_window[1][1][1][2][3][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][1] << Delete Box();
sort_window[1][1][1][2][2][2] << Delete Box();
selected_column_box = sort_window[1][1][1][2][2][1][1][2];
sort_window[1][1][1][2][3][1] << append( Button Box( " OK ",
Print("OK clicked");
sel_list = selected_column_box << Get Items;
sel_string = sel_list[1];
For( i = 2, i <= N Items(sel_list), i++,
sel_string = sel_string || ", " || sel_list[i]
);
//// For Testing
// order_list = {"Ascending", "Ascending"};
order_list == ????????;
order_string = order_list[1];
For( i = 2, i <= N Items(order_list), i++,
order_string = order_string || ", " || order_list[i]
);
sort_statement = "dt << Sort( By(^sel_string^), Order(^order_string^), Replace Table);";
Eval Insert Into( sort_statement );
Eval( Parse( sort_statement ) );
, <
<SET icon=""></SET>
Thanks for any suggestions.
<BR />
<LINGO-LABS id="lingo-labs-319114" slang="en-US" mode="UPDATE">
<LINGO-LABEL>Personalizzazione di massa</LINGO-LABEL>
</LINGO-LABS>
Ri: ordinamento nella finestra di ordinamento personalizzataGrazie a Wendy Murphrey nel supporto tecnico di JMP per avermi dato suggerimenti per aiutarmi a fare ciò che voglio.
Anche se mi interessa ancora sapere come si accede all'ascendente e discendente dagli elementi della finestra di ordinamento, non ne ho bisogno. Chiunque abbia una risposta a questa domanda, non esiti a farmelo sapere.
Comunque sia, il mio obiettivo è ordinare le tabelle nelle schede dei rapporti. Queste tabelle sono collegate a tabelle invisibili in cui viene effettivamente eseguito l'ordinamento. Tuttavia, devo forzare la sostituzione delle tabelle, in modo che gli utenti non creino tonnellate di tabelle non tracciate quando lavorano nei rapporti.
Lasciando da parte tutta la creazione dei rapporti e la gestione delle tabelle dei rapporti nelle schede, ecco un aggiornamento sul cuore dell'ordinamento delle tabelle invisibili in background che dovrebbero funzionare per le nostre tabelle dei rapporti.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
// For stability, collapse, don't delete window elements
sort_window[1][1][1][3][1] << Visibility( "Collapse" );
sort_window[1][1][1][2][3][1][4] << Visibility( "Collapse" );
sort_window[1][1][1][2][2][2] << Visibility( "Collapse" );
sort_window[1][1][1][2][1][2] << Visibility( "Collapse" );
sort_window << OnClose(
dt1 = Get Data Table( 1 );
// Include name check in case users figure out a way
// to replace tables themselves, despite collapsing that option above
old_name = dt << Get Name();
new_name = dt1 << Get Name();
if( new_name != old_name,
dt << Update( With( dt1 ) );
Close(dt1, "No Save")
);
);