Ho appena scoperto che la citazione di lstCols3 o lstCols2 come l'elenco dei nomi delle colonne non funziona neanche.
È possibile codificare dinamicamente la piattaforma dello stack. Di seguito è riportato un semplice esempio:
Names Default to Here(1);
dt=open("$SAMPLE_DATA/Semiconductor Capability.jmp");
Listcols={:NPN1, :PNP1, :PNP2, :NPN2};
lstCos3="Discriptors";
lstCos2="Values";
n=2;
Data Table( "semiconductor capability" ) << Stack(
columns( Listcols ),
Source Label Column( lstCos3 ),
Stacked Data Column( lstCos2 ),
Drop All Other Columns( 1 ),
Number of Series( eval(N) )
);
Tuttavia, quello che sto raccogliendo dalla tua discussione è che stai pensando che la Colonna Etichetta di origine e la Colonna dati in pila possano essere un elenco di nomi. La documentazione seguente mostra che è possibile fornire un solo nome
Colonna dati in pila
Assegna un nome alla colonna che conterrà i dati per le colonne sovrapposte. Il nome predefinito è Dati . Lasciare vuota la casella se non si desidera che questa colonna venga visualizzata nella nuova tabella.
Colonna dell'etichetta di origine
Assegna un nome alla colonna che conterrà i nomi delle colonne della tabella originale. Il nome predefinito è Etichetta . Lasciare vuota la casella se non si desidera che questa colonna venga visualizzata nella nuova tabella.
Se è necessario disporre di nomi specifici per le colonne Dati ed Etichetta prodotte nella piattaforma dello stack, è possibile modificare semplicemente i nomi nella nuova tabella prodotta.
Stavo scrivendo una sceneggiatura per impilare insieme un sacco di colonne usando lo script JSL come di seguito. Tuttavia, continuo a ricevere il messaggio di errore "Il numero di serie dovrebbe essere un numero intero positivo". Ho bisogno che la N sia variabile a seconda di quante colonne devono essere impilate per tabelle diverse. Ho altri script per identificare il numero di colonne che funziona perfettamente. Solo la funzione di stack in qualche modo non funziona.
dt_join2=current data table();
N=49
Data Table( dt_join2 ) << Stack(
columns(Lstcols ),
Source Label Column( lstCols3 ),
Stacked Data Column( lstCols2 ),
Number of Series(N)
);
@txnelson Mille grazie alla funzione Eval () per farlo funzionare.