Aggiunta di colonne formula in base all'elenco dei nomi delle colonneCiao! Sto cercando di creare uno script che genererà colonne formula in base al fatto che un nome di colonna contenga la parola chiave giusta. Penso di usare in modo improprio il modo in cui gli elenchi traducono le stringhe in altre funzioni. Attualmente utilizzo JMP 17
Ptable = Current Data Table ();
col list = Ptable << Get Column Names(String);
if(debug == 1, Print(col list));
For(i=1, i<NCOLS></NCOLS>
<LINGO-LABS id="lingo-labs-724835" slang="en-US" mode="CREATE"><LINGO-LABEL>Automazione e scripting</LINGO-LABEL></LINGO-LABS>Ri: Aggiunta di colonne formula in base all'elenco dei nomi delle colonneDevi valutare correttamente la colonna lì. Expr(NameExpr(AsColumn())) è un'opzione
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
mycol1 = "height";
mycol2 = "weight";
Eval(EvalExpr(
new_col = dt << New Column("Col", numeric, continuous, formula(
Expr(NameExpr(AsColumn(dt, mycol1))) * Expr(NameExpr(AsColumn(dt, mycol2)))
))
));
show(new_col << get formula);
Inserisci un'espressione in un'altra utilizzando Eval Insert, Eval Expr, Parse e Substitute
Re: Aggiunta di colonne formula in base all'elenco dei nomi delle colonneNon preoccuparti! Il problema era che il mio array clist non estraeva i nomi delle colonne in un elenco!
@jthi Per nominare una colonna è necessario anche un'espressione di valutazione? La pagina che hai condiviso mostrava una Concat con Char( Array[#] ) che funzionava correttamente, ma ottengo un errore quando provo a rinominare le colonne, come mostrato di seguito. Non sto aggiungendo colonne, quindi non capisco perché ci sarebbe una discrepanza tra le colonne N e il contatore nel ciclo For.
clist = Ptable << Get Column Names( String );
num_col = N Cols(Ptable);
For(i=3, i < num_col, i++,
Column(i) << Set Name(Char(clist[i]) || " °C"); //Error on this line
);
"Intervallo di indice nell'accesso o nella valutazione di 'clist[ /*###*/i]' , clist[/*###*/i]"