cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
MarkJSchwab
Level II

Turn off "Suppress Eval" on all columns

Is there a way to turn off "Suppress Eval" for all columns?

 

(It seems to have automatically turned on "Suppress Eval" when I saved a .jrp, and I need to evaluate many formula columns in this data table.)

4 REPLIES 4
txnelson
Super User

Re: Turn off "Suppress Eval" on all columns

See Suppress Formula Eval() in the Scripting Index

Jim
hogi
Level XII

Re: Turn off "Suppress Eval" on all columns

hogi_0-1718434851753.png

suppress Formula Eval(1) [without a data table] is great to trick colleagues - no chance to notice - JMP is stuck and no chance to fight against it, neither via the GUI:

hogi_2-1718433633982.png

nor via   dt << Suppress Formula Eval( 0 );

 

_____________________________________

 

 

Some Table operations like Join have a setting to suppress formula evaluations:

hogi_0-1718433179971.png

 

If every column is disabled individually, then you have to enable the formula evaluation individually:

 

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );

f= Function({},New Column( "height+weight",
	Formula( :height + :weight ),
));
f;
f;
f;
column (6) << Suppress Eval( 1 );
column (7) << Suppress Eval( 1 );
column (8) << Suppress Eval( 1 ); Ncols = ncols(dt); for (i=1,i<=NCols, i++, column(i) << suppress eval(0) )

fun fact:
the status in the columns menu doesn't get updated automatically, so don't get confused by the gray plus sign:

hogi_1-1718433450474.png

LuzBosco
Level I

Re: Turn off "Suppress Eval" on all columns

Thanks for answering, you made my day.

jthi
Super User

Re: Turn off "Suppress Eval" on all columns

There is also difference between << Suppress Formula Eval() and Suppress Eval(). << Suppress Formula Eval() is for data tables and Suppress Eval for formula columns

jthi_0-1718433343586.png

jthi_1-1718433384279.png

If you have Suppress Eval enabled, you can loop over your columns (use << get column names and for each) and send << Suppress Eval(0) to all your columns. I'm not sure if there is any "easy" way to do this interactively (Standardize Attributes won't work as it will replace all your formulas), subset can be used but it will create a new table which might not be ideal.

 

But if you don't mind creating new datatable subset is fairly easy option

jthi_4-1718433674152.png

jthi_5-1718433685376.png

jthi_6-1718433699036.png

 

-Jarmo