Come aggiornare la tabella dopo l'ordinamento?Ciao a tutti,
Ho un problema relativo all'ordinamento di una tabella. Volevo ordinare la tabella per data (che si trova nella colonna Date1) e lo sto facendo dopo che sono state soddisfatte determinate condizioni. Tuttavia, non ordina e sostituisce la tabella EL_summary dopo lo smistamento. È necessario rinfrescare? Ho messo anche un po' di ritardo, ho pensato che bisognava aspettare un po' di tempo. Quando non sto usando sostituisci tabella(1), la nuova tabella con un nome diverso viene creata e aperta (cosa che non voglio) e ancora una volta i dati in questa tabella non vengono ordinati. Successivamente, tuttavia, i dati in EL_summary sembra essere aggiornato e ordinato. Apprezzerei per aver indicato ciò che mi manca. Distinti saluti
Tabella dati correnti( EL_summary );
if( N righe(EL_summary) > 0, EL_summary << sort(by(:name("Date1")), Order( Ascending ), replace table(1)));
aspetta(1);
Re: Come aggiornare la tabella dopo l'ordinamento?Ciao, qual è il modo ufficiale per ordinare una tabella di dati tramite JSL con l'opzione Sostituisci tabella ()?
Come discusso in precedenza, se sono presenti report aperti, lo script si arresta in modo anomalo con il messaggio di errore:

... anche se il grafico non dipende dall'ordinamento nella tabella dei dati:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
dt<< Sort( By( :height ), Replace Table, Order( Ascending ));
Che ne dici di sostituire il testo con qualcosa del tipo:
Sfortunatamente, nell'attuale versione di Jmp, non è possibile ordinare una tabella con report aperti.
Jmp non può sostituire la tabella esistente perché c'è qualche possibilità ... hm, sai, le finestre dei report potrebbero dipendere dall'ordinamento precedente. Sfortunatamente, non è possibile verificarlo e non è possibile ignorarlo. Quindi il copione si fermerà qui.

Re: Come aggiornare la tabella dopo l'ordinamento?Ok, riesco a nascondere la nuova tabella dati. Quella tabella dati era la tabella dati corrente, quindi ho disabilitato la sua visibilità utilizzando
Current Data Table() << ShowWindow( 0 );
Grazie a tutti per il supporto. Distinti saluti.
Re: Come aggiornare la tabella dopo l'ordinamento?Puoi gestirlo in un paio di modi diversi.
L'output che impedisce l'ordinamento della tabella dati può essere spostato in un Journal per la visualizzazione e la visualizzazione originale può quindi essere eliminata, il che consentirà l'ordinamento.
Puoi anche creare una nuova tabella di dati invisibile o privata, che impedirà la visualizzazione della nuova tabella di dati.Cerca le opzioni Invisibile o Privato nel sottoinsieme della tabella dati nell'indice di scripting.
Re: Come aggiornare la tabella dopo l'ordinamento?Ciao, grazie per i suggerimenti!
Ho creato una GUI e l'ordinamento deve essere eseguito dopo aver selezionato un elemento dalla casella di riepilogo. Successivamente, alcune immagini devono essere visualizzate in questa GUI nell'ordine basato sui valori ordinati. In realtà, JMP non fornisce alcuna informazione di registro utile che indichi l'origine del problema. C'è un modo per nascondere o rendere invisibile il nuovo (e indesiderato) datatable che viene creato dopo l'ordinamento? Sarebbe una soluzione alternativa.
Re: Come aggiornare la tabella dopo l'ordinamento?CIAO,
Questo codice ha funzionato come previsto quando non ci sono grafici aperti:
Untitled = data table("Untitled.jmp");
if( N rows(Untitled) > 0, Untitled << sort(by(:name("Column 1")), Order( Ascending ), replace table(1)));
Ma l'ordinamento non funziona se hai dei grafici aperti,
Untitled <<DISTRIBUTION> 0, Untitled << sort(by(:name("Column 1")), Order( Descending ), replace table(1)));
</DISTRIBUTION>
Guarda il file di registro e vediamo:
JMP cannot replace the existing table because there are report windows that depend on the previous ordering.
Ma se rimuoviamo la tabella di sostituzione, verrà eseguita senza errori ma avvierà un nuovo datatable con le righe ordinate che non è desiderato.
Untitled <<DISTRIBUTION> 0, Untitled << sort(by(:name("Column 1")), Order( Descending )));</DISTRIBUTION>
Quindi puoi controllare il file di registro per vedere se è informativo. Se hai grafici o tabelle dipendenti aperti, forse devi ripensare la logica dello script. Ad esempio, è possibile riordinare prima di creare tabelle e grafici dipendenti.
Re: Come aggiornare la tabella dopo l'ordinamento?la tua tabella di dati è collegata a una tabella precedente, quindi non può essere modificata?