Comparable to Copy All Paste Special Values in Excel, how can I select all columns in Data Table and delete column formulas while preserving the values of each column in JSL Script?
This previous discussion was a beneficial first step.
Two approaches to "Paste Special" with jsl.
dt = Current Data Table();
// 1. Make a copy without formulas (and keep original table)
dt << Subset(Copy formula(0), All rows, Selected columns only(0));
// 2. loop through columns and delete any formulas
cols = dt << get column names();
For(i = 1, i <= N Col(dt), i++,
cols[i] << delete property(formula)
);
I have the same question. Currently, when I use <<delete property(formula) it removes the formula and the values. When I clear the formula manually by going to the column menu it does keep the values, but I need a script solution.
That's strange. For me values are retained after running << Delete Property(Formula).
Currently on JMP 12 on Mac, but I am 99% certain it worked the same way in JMP 11.
I just tested in JMP 9, JMP 10 and JMP 11 and the values were retained in all versions.
Can you test with this simple script and tell us what happens with the "Pred Formula ABRASION" column?
open("$SAMPLE_DATA\Tiretread.jmp");
column("Pred Formula ABRASION")<<delete property(formula);
-Jeff
I am using delete property(Formula) in for loop and it does not delete formula. I am using JMP13. Below is
Try( column(datatable( dtname || "_Wide"), newcol) << Delete Formula ); << delete property(Formula);
Thank you for your reply, MS. Somehow I didn't get that notification and I am replying late.
The proposed solution: column(dt,1)<<delete formula; and column(dt,1)<<delete property (formula); worked eventually. I don't know what was wrong when I first tried it. I am using JMP 10 on Windows 7
If you delete the formula in the same script you are creating the formula, you will need to use some kind of wait(1) function to allow the formula to calculate before deleting it.
New Column( "Name", Formula());
Wait(1);
:Name << Delete Formula;
Two approaches to "Paste Special" with jsl.
dt = Current Data Table();
// 1. Make a copy without formulas (and keep original table)
dt << Subset(Copy formula(0), All rows, Selected columns only(0));
// 2. loop through columns and delete any formulas
cols = dt << get column names();
For(i = 1, i <= N Col(dt), i++,
cols[i] << delete property(formula)
);
this is exactly what I was looking for! Thanks!