Come duplicare una colonna (copia esatta tranne l'intestazione)Non sono sicuro di quale sia il modo più veloce per duplicare una colonna in JMP 14.
Stesse informazioni (dati, metadati, formula) ma un'intestazione diversa (copia del nome della colonna, ad esempio).
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)Questo frammento di codice restituirà il nome della colonna attualmente selezionata
colName = (current data table() << get selected columns)[1];
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)solo un FYI per coloro che lo usano: ho usato questa funzione periodicamente, ma l'ho bloccata jmp su datatable più grandi (> 100k righe). non ho eseguito il debug completo, ma ho trovato il clone di un thread di colonna qui (fondamentalmente lo stesso, tranne nessuna conversione char () dello script e nessuna sostituzione - sto impostando la denominazione usando invece le espressioni) era ~ 5 volte più veloce e spero che non muoia in qualunque caso d'angolo mi stia causando il blocco.sto cambiando il mio componente aggiuntivo per utilizzare qualcosa basato su quello, e sperando che sia meno probabile che si blocchi.
https://community.jmp.com/t5/Discussions/clone-a-column/td-p/15644
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)Grazie. E se voglio copiare la colonna corrente che è selezionata/evidenziata?
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)La cosa più semplice è usare eval(:col << Get Script).Otterrai una copia della colonna con un numero intero alla fine per dargli un nome univoco.Dovresti assicurarti che la tabella su cui vuoi eseguire l'operazione sia la tabella corrente.
Ecco una comoda funzione che potresti usare in uno script che ti consente di nominare la nuova colonna risultante e specificare la tabella di dati.L'unico argomento richiesto è il primo, colname.È possibile specificare una tabella di dati, ma in caso contrario assumerà Current Data Table().Se non specifichi un nome, restituirà il nome della colonna originale + " - Copia".
Names Default to Here(1);
DupCol = function({colname, new = "", dt = Current Data Table() },
col = Column(dt, colname);
if(IsMissing(new), new = colname||" - Copy");
col_script = char(col << Get Script);
col_script = substitute(col_script, "New Column", "dt << New Column");
col_script = substitute(col_script, colname, new);
eval(parse(col_script));
);
Illustrerò utilizzando i dati di esempio Football (e Big Class per mostrare la robustezza della funzione):
football_dat = Open("$SAMPLE_DATA/Football.jmp");
DupCol("Height"); //Produces copy of Height named "Height - Copy"
DupCol("Height", new = "Height Again"); //Produces copy of Height named "Height Again"
Open("$SAMPLE_DATA/Big Class.jmp"); //just to show robustness since this data table also has a column named "height"
//Different ways to specify the data table if not wanting to assume Current Data Table
DupCol("Height", new = "Height Once More", dt = Data Table("Football") );
DupCol("Height", new = "Height Last Time", dt = football_dat );
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)Grazie. Lo scripting è sicuramente un'opzione se non esiste un modo migliore.
Re: Come duplicare una colonna (copia esatta tranne l'intestazione)Da una prospettiva punta e clicca, il modo più breve che conosco è ancora un processo in 2 fasi.Copia/incolla i dati con una tipica operazione Ctrl+C/Ctrl+V.Copia/incolla i metadati (proprietà della colonna) facendo clic con il pulsante destro del mouse sull'intestazione di una colonna di una colonna che desideri duplicare> Copia proprietà colonna, fai clic con il pulsante destro del mouse sulla nuova colonna di copia> Incolla proprietà colonna.