<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Qualcuno ha uno script JSL che copierà le proprietà delle colonne da una tabella di dati alle colonne "stesso nome" in un'altra tabella di dati?
Sono un idiota. Grazie per avermelo fatto capire 
Il messaggio di errore implicherebbe che la tua nuova formula coulumn coinvolge una o più colonne che non sono presenti nella stessa tabella. Sei sicuro che tutte le colonne necessarie per calcolare i valori della formula siano nella nuova tabella?
Ciao,
Ho trovato questo post relativamente vecchio e ho provato ad applicare la soluzione a uno script che sto facendo, ma ottengo il seguente messaggio di errore nel debugger:
"La formula fa riferimento a una variabile di colonna o tabella in una tabella diversa che non può essere trovata per essere rimappata in questa tabella"
La mia situazione è un po' più semplice in quanto sto solo cercando di copiare le proprietà di una singola colonna
colProps = Column( dt, "Response Predictor" ) << Get Column Properties;
Column( dtparms, "Formula" ) << Add Column Properties( colProps );
Qualche idea su cosa sto facendo di sbagliato?
Johan
Grazie per l'aiuto. Questo ha funzionato! La mia nuova tabella sarà sempre un sottoinsieme del "master" e l'istruzione "try" risolve questo problema.
Lou
Una "soluzione rapida": inserisci la seconda riga del loop all'interno Provare() per evitare un errore se mancano delle colonne nella nuova tabella (l'ordine delle colonne non dovrebbe avere importanza qui).
Try( Column( nt, colNames[i] ) << Add Column Properties( colProps ) );
Grazie per l'aiuto. Stavo cercando di scorrere le due tabelle, ma non avevo i comandi corretti.
Sembra che funzionerà fintanto che le due tabelle hanno le stesse colonne, nello stesso ordine. È corretto?
Lou
Lou,
Di seguito viene illustrato come copiare le proprietà delle colonne da una tabella all'altra, presupponendo che i nomi delle colonne siano gli stessi.
dt = Open( "$SAMPLE_DATA\Tiretread.jmp" );
colNames = dt << Get Column Names( String );
nt = New Table( "New Tires",
New Column( "ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "HARDNESS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SILICA", Numeric, Continuous, ),
New Column( "SILANE", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "SULFUR", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula ELONG", Numeric, Continuous, Format( "Best", 10 ) ),
New Column( "Pred Formula HARDNESS", Numeric, Continuous, Format( "Best", 10 ) )
);
For( i = 1, i <= N Cols( dt ), i++,
colProps = Column( dt, colNames ) << Get Column Properties;
Column( nt, colNames ) << Add Column Properties( colProps );
);