Come memorizzare i dati in un elenco?Ciao a tutti,
Devo affrontare un problema su come memorizzare la tabella dei dati del sottoinsieme in un elenco, di seguito è riportato il mio codice:
dt = Open (<PATH of="" file="">);
p= {"G_40", "F_45", "E_57", "F_85", "H_90"};
For( i = 1, i <= N Items( p ), i++,
dt << Select Where(Starts With( dt:ftf, p[i] ) ) ;
tempDT = dt << Subset( output table name( "Subset" ), selected rows( 1 ), selected columns( 0 ), "invisible");
);
</PATH>
Ho intenzione di memorizzare tempDT nell'elenco vuoto, qualcuno ha un'idea sulla funzione store? Sono molto nuovo in JSL se in python useremo la funzione append per archiviare, allora che ne dici di jsl?
Perché quando elimino lo script, quindi eseguo lo script, può generare tutta la tabella di dati del sottoinsieme ma quando voglio tracciare il grafico, genera solo il grafico per l'ultima tabella di dati del sottoinsieme.Quindi, chiunque può darmi qualche idea su come farlo funzionare
Grazie.
Ri: Come memorizzare i dati in una listaGrazie a tutti per la risposta.
È molto utile.Ri: Come memorizzare i dati in una listadi Ian risposta è un approccio molto migliore rispetto all'utilizzo di un elenco. Nell'apporach elenco hai più cicli for, uno per creare l'elenco e uno (o più) per elaborare l'elenco. Ian sta eseguendo tutta l'elaborazione in un unico ciclo for, creando un grafico e spostandolo nella sua destinazione finale. Sta anche creando solo un sottoinsieme alla volta e chiudendolo non appena ha finito. C'è un altro vantaggio nell'approccio di Ian: i meta-dati sul sottoinsieme sono ancora disponibili: sai che i parametri usati per creare il sottoinsieme non sono cambiati.
Ri: Come memorizzare i dati in una listaDi solito creo i report all'interno dello stesso ciclo for che crea i sottoinsiemi e chiude i sottoinsiemi non appena non sono più necessari. Ma puoi creare un elenco di sottoinsiemi aperti quindi inviare un messaggio all'elenco. Internamente, l'elenco ripeterà il messaggio a ciascun elemento dell'elenco.
dt = Open( "$sample_data/big class.jmp" );
p = {"A", "B", "C", "D", "E"};
tableList = {};
For( i = 1, i <= N Items( p ), i++,
dt << Select Where( Starts With( dt:Name, p[i] ) );
tempDT = dt << Subset( output table name( "Subset" ), selected rows( 1 ), selected columns( 0 ), "invisible" );
Insert Into( tableList, tempDT );
);
tableList << Distribution( y( name, height ) );
Wait( 3 );
For( i = 1, i <= N Items( tablelist ), i++,
Close( tableList[i], nosave )
);
Close( dt, nosave );
Avrai comunque bisogno di un ciclo per chiudere le tabelle dei sottoinsiemi quando hai finito con loro.
Ri: Come memorizzare i dati in una listaSe guardi a pagina 167 della Guida allo scripting, ti mostrerà i diversi modi per raggruppare gli elementi in un elenco. Dovresti essere in grado di trovare un modo semplice per farlo. La sottoscrizione o l'inserimento sono probabilmente candidati, penserei
Ri: Come memorizzare i dati in una listaCiao, jim
In realtà voglio salvare il puntatore della tabella dati in un elenco.
Ma non so come indicare l'elenco, ho controllato la guida allo scripting e ho provato a scrivere lo script, ma ancora non ci riesco.
Quindi, sto provando a utilizzare un altro metodo, ma viene comunque visualizzato un errore.
quindi, davvero non so come memorizzare la tabella dei dati nell'elenco.
Mi dispiace molto qui, puoi darmi qualche suggerimento su come farlo?
Grazie.Ri: Come memorizzare i dati in una listaStai cercando di archiviare la tabella di dati completa nell'array associativo o, come hai specificato nella risposta precedente, in un elenco? Supponevo che volessi solo salvare il puntatore o il nome della tabella dati in un elenco. Puoi per favore chiarire?
Ri: Come memorizzare i dati in una listaGrazie Jim per la risposta.
Ho provato a utilizzare la funzione di array associativo, ma continua a uscire dall'errore. C'è qualche funzione di JSL in grado di risolvere il mio problema per modificare il mio script?
GrazieRi: Come memorizzare i dati in una listaLa documentazione per la gestione degli elenchi si trova nella Guida allo scripting per JMP 13, a pagina 161.
Aiuto==>Libri==>Guida allo scripting==>Lavorare con raccolte di dati
La vera domanda che devi affrontare è il fatto che il tuo codice sta creando ogni diversa tabella di sottoinsieme con lo stesso handle e lo stesso nome di tabella di dati. Poiché JMP non può avere 2 tabelle dati con lo stesso nome, cambierà il nome per la seconda, la terza.......tabelle dati. Quindi è necessario capire come gestire tali cambiamenti.