Copia di colonne e nomi di colonne in una nuova tabella<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao
Ho qualche problema nel selezionare le colonne da una tabella di dati e nel copiarle in una nuova tabella vuota.
Finora sono bloccato su come copiare anche i nomi delle colonne nella nuova tabella.
Nel mio flusso di lavoro chiedo all'utente di selezionare 2 colonne di dati da una tabella esistente utilizzando la funzione di dialogo delle colonne, quindi da lì tento di spostare tutto.
Ecco il codice:
CD = Finestra di dialogo Colonna (
Col1 = ColList ( "Seleziona prima colonna dati" , Min col ( 1 ) , Max col ( 1 ) ) ,
Col2 = ColList ( "Seleziona seconda colonna dati" , Min col ( 1 ) , Max col ( 1 ) )
) ;
Rimuovere da ( CD , 3 ) ;
nome1 = r1 [ "Col1" ] ;
dt = Nuova tabella () ;
dt << Nuova colonna () ;
Colonna ( 1 ) << Imposta nome ( car ( nome1 )) ;
Quando utilizzo il comando show() per Show(name1) ottengo:
{:Nome( "Lunghezza esterna-A-1" )}
Invece di solo "Lunghezza esterna-A-1"
Ciò significa che il nome della mia colonna finisce per essere {:Name( "Outer length-A-1" )}
Come faccio a fare riferimento solo a questo nome??
Inoltre, esiste una funzione integrata per copiare semplicemente l'intera colonna nella mia nuova tabella??
Grazie
Copia di colonne e nomi di colonne in una nuova tabellaGrazie mille per questo.
Un'altra nuova funzione di cui ora sono a conoscenza.
Copia di colonne e nomi di colonne in una nuova tabellaQuesto utilizza il comando subset e potrebbe essere un po' più semplice:
dt1 = aprire ( "$dati_campione\big class.jmp" ) ;
col_dlg = nuova finestra ( "Copiatrice a colonne" ,
pannello ( "Seleziona due colonne con cui creare una nuova tabella:" ,
col_clist = collistbox ( Tutto , larghezza ( 200 ) , massimo selezionato ( 2 )) ,
) ,
pulsante ( "OK" ,
elenco_colonne_selezionate = col_clist << essere selezionato ;
col1 = elenco_colonne_selezionate [ 1 ] ;
col2 = elenco_colonne_selezionate [ 2 ] ;
// Crea una nuova tabella utilizzando solo le due colonne selezionate
dt2 = dt1 << Sottoinsieme ( colonne ( colonna ( dt1 , col1 ) , colonna ( dt1 , col2 ) ) ) ;
col_dlg << chiudi la finestra ;
)
) ;
Ri: Copiare colonne e nomi di colonne in una nuova tabellaPenso che il più semplice sarebbe il comando subset(). Ottieni sia i nomi delle colonne che i dati in un unico passaggio.
dt1 = tabella dati corrente () ;
CD = Finestra di dialogo Colonna (
Col1 = ColList ( "Seleziona prima colonna dati" , Min col ( 1 ) , Max col ( 1 ) ) ,
Col2 = ColList ( "Seleziona seconda colonna dati" , Min col ( 1 ) , Max col ( 1 ) )
) ;
Rimuovere da ( CD , 3 ) ;
dt1 << sottoinsieme (
righe ( 1 :: N righe ( dt1 ) ) ,
Elenco di valutazione ( CD ) ,
Nome della tabella di output ( "ad esempio Nuova tabella" )
)
<BR />