Ciao cari esperti/utenti jmp,
Ho una tabella dati a formato fisso con formati di nomi di colonna simili come questo (sempre nomi di due colonne simili distinti da _1):
NOME, C1, P2 ... C1_1, P2_1 .... (in realtà molte colonne con questa regola di denominazione)
Vorrei creare nuove colonne con la formula seguente: ad esempio,
C1_cal da: C1-C1_1
P2_cal da: P2-P2_1
...
come posso utilizzare JSL per ottenere il loop per questo? Molte grazie!
Sono state fatte molte ipotesi riguardo ai nomi delle colonne e all'ordinamento delle colonne
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("Name", Character, "Nominal", Set Values({})),
New Column("Column1", Numeric, "Continuous", Format("Best", 12), Set Values([1])),
New Column("Column2", Numeric, "Continuous", Format("Best", 12), Set Values([2])),
New Column("Column1_1", Numeric, "Continuous", Format("Best", 12), Set Values([2])),
New Column("Column2_1", Numeric, "Continuous", Format("Best", 12), Set Values([4]))
);
all_colnames = dt << Get Column Names("String");
Remove From(all_colnames, 1); // Drop first column
For Each({col_name}, all_colnames[1::(N Items(all_colnames)/2)],
Eval(Substitute(
Expr(
dt << New Column(col_name|| "_cal", Numeric, Continuous, Formula(
_firstcol_ - _secondcol_
));
),
Expr(_firstcol_), Name Expr(AsColumn(col_name)),
Expr(_secondcol_), Name Expr(AsColumn(col_name || "_1"))
));
);
L'Indice di scripting e la Guida allo scripting contengono informazioni utili sullo scripting JMP.Inserisci un'espressione in un'altra utilizzando Eval Insert, Eval Expr, Parse e Substitute è un buon post su come costruire formule da variabili
Molte grazie!!!
se desidero cambiare la formula in C1-3,5*C1_1:
devo cambiare il codice nel formato seguente?
_firstcol_ - 3.5*(_secondcol_)
Provalo e controlla i risultati e la proprietà della colonna formula
