JSL mantiene il comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto cercando un comando script JSL per "mantenere" solo le variabili di colonna specificate ed eliminare tutte le altre variabili nella tabella dati corrente.
Questo sarebbe l'inverso del comando specificato: dt << Elimina colonne( :A, :B, ... :N);
Idealmente un comando keep più efficiente apparirebbe come:
dt = Tabella dati corrente( );
dt << Mantieni colonne ( :ora, :giorno, :ubicazione );
(risultato = Elimina tutte le colonne che non sono uguali :ora, :giorno, :luogo).
Grazie.
Ri: JSL keep comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?Un metodo più diretto è stato aggiunto a JSL in JMP 14. Selezionare colonne, invertire la selezione di colonne ed eliminare colonne possono realizzare ciò che è necessario.
dt = open("$SAMPLE_DATA\Big Class.jmp");
a = {"height", "weight"};
dt << select columns(a);
dt << invert column selection;
b = dt << get selected columns;
dt << delete columns(b);Ri: JSL keep comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?Probabilmente una soluzione più semplice che è facile da eseguire manualmente (e facilmente script) è semplicemente sottoimpostare i dati.
Seleziona le colonne che desideri mantenere e quindi crea un sottoinsieme con l'opzione Colonne selezionate(1).Dovrebbe anche essere più veloce del metodo descritto sopra quando la tabella dati diventa grande, ma non l'ho testato.

Ri: JSL keep comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?Grazie.Y il nostro script sopra è stato utile.
Ho modificato leggermente per operare nella tabella dati corrente, ad esempio Tabella dati ("nome_qui") rispetto alla creazione di una nuova tabella dati e il risultato ha avuto successo.
Ri: JSL keep comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?Fino a quando non lo aggiungono a JSL puoi provare questo:
Ri: Eliminazione di colonne che non sono in un elenco
potrebbe essere ulteriormente sviluppato e l'ho trovato molto utile prima di utilizzare il comando di aggiornamento della tabella.
Prima di aggiornare le tabelle è utile rimuovere le colonne che hanno lo stesso nome ma che non si desidera aggiornare. Quanto segue lo farà semplicemente definendo le colonne da conservare.
dt10 = New Table( "Test",
Add Rows( 10 ),
New Column( "A" ),
New Column( "B" ),
New Column( "C" ),
New Column( "D" )
);
Keep = {"A", "C"};
todelete = dt10 << get column names( "string" );
For( in = 1, in <= N Items( Keep ), in++, <BR />// assuming the to keep list is shorter than the list of columns in the table.
location = Contains( todelete, Keep[in]) ; // find the location of the keepers
if (location > 0, Remove From( todelete, location, 1 ) // if found remove it
));
if (nitems (todelete) > 0, dt10 << delete columns( todelete )); <BR />// if there is a delete list delete the columns from the table
se chiedi questo comando al team di sviluppo, chiedi loro di fare lo stesso per le righe.
migliore
Ron
Ri: JSL keep comando per mantenere le variabili desiderate ed eliminare le variabili indesiderate?Presumo che tu stia effettuando una richiesta di miglioramento delle funzionalità.Sarai servito meglio se invii questo a
support@jmp.com