Sono d'accordo con @julian in quanto non capisco perché tu abbia una tale necessità, ma di seguito sono riportati i passaggi che ti permetterebbero di farlo in modo interattivo.
- Copia tutti i valori dalla colonna 1 nel buffer di incollaggio.
- Fare clic con il tasto destro su una delle righe nella colonna dello stato delle righe (la colonna con i numeri delle righe) e selezionare "Aggiungi righe"
- Nella finestra di dialogo Aggiungi righe, selezionare 6 righe da aggiungere alla fine.
- Vai all'intestazione di colonna vuota accanto all'intestazione per la prima colonna e fai clic con il pulsante destro del mouse e seleziona "Nuove colonne"
- Nella finestra di dialogo Nuove colonne, specificare che si desidera aggiungere 6 colonne
- Una volta create le colonne, vai alla seconda cella nella prima nuova colonna e incolla i valori dal buffer di incollaggio nella cella. Copia tutti i dati a partire dalla cella (riga) 2.
- Ripeti l'operazione per ogni nuova colonna, spostandoti in basso di una riga per ogni nuova colonna.
Hai già due buone soluzioni (e una contrassegnata come soluzione), ma c'è anche un altro modo interattivo rapido per farlo, che le persone a volte dimenticano. Seleziona la colonna originale e fai clic con il tasto destro del mouse sull'intestazione della colonna scegliendo Nuova formula colonna> Riga> Lag Multiple. Nella finestra di dialogo inserisci il Primo ritardo come 1 e l'ultimo ritardo come 6.
Ciao @WernerL ,
Di seguito è riportato un codice per farlo (scrivendo valori o formule di colonna), ma potrei chiedere, perché è necessario creare una tabella come questa? Se è necessario eseguire alcune operazioni a livello di riga con un valore in una riga precedente da una colonna precedente, esistono modi più efficienti rispetto alla creazione esplicita di tali colonne di ritardo.
Questo modulo scrive i valori:
dt = Open("$SAMPLE_DATA\Big Class.jmp");
baseCol = Column("height");
nCopies = 6;
For( i = 1, i <= nCopies, i++,
spacerMat = J( i, 1, . );
valuesMat = spacerMat |/ Eval( baseCol << Get Values );
New Column( "Copy " || char(i), Numeric, "Continuous", Set Values( valuesMat ) );
);
Questo modulo scrive le formule di colonna:
dt = Open("$SAMPLE_DATA\Big Class.jmp");
baseCol = Column("height");
nCopies = 6;
For( i = 1, i <= nCopies, i++,
Eval(Substitute( Expr( New Column( "Copy " || Char( i ), Numeric, "Continuous", Formula( Lag( Subscript(xxCol,row()), i ) ) ) ), Expr( i ), i, expr(xxCol), baseCol ))
);
Spero che questo ti aiuti a iniziare!
@julian
// Modifica 24/11/19: apportata una correzione alla versione della formula della colonna per sostituire correttamente la colonna definita all'inizio dello script nella formula della colonna
Ciao comunità JMP, sto cercando una soluzione per facilitare la copia, una volta, una colonna più volte (nell'esempio che segue ho scelto 6 volte), ma tutti i dati dovrebbero spostarsi di una riga verso il basso con ogni nuova colonna copiata che è creato? Grazie per l'aiuto!