Need help with Suppress Eval and Eval FormulaThere are several questions here that I don't understand:
- Why does Suppress Eval sometimes seem to get automatically turned on when building formulas?
- Once turned on (accidentally or otherwise), how do I get the formulas to re-evaluate without turning off suppression manually column-by-column (or standardize attributes)?
- I found the Suppress Formula Eval and Rerun Formulas in the data table hotspot, but once Suppression is turned on manually, these don't seem to work.
- In JSL, how do I make this work? (Limited success using dt << Suppress Eval(0) and dt << Rerun Formulas, or by specifying specific columns).
I'm attaching a very simple data table with 2 suppressed columns. What am I doing wrong??
Re: Need help with Suppress Eval and Eval FormulaTables->Sort has the Supress Eval option as well.
Re: Need help with Suppress Eval and Eval FormulaThanks Jeff! This actually may be the root of the client's "accidental suppression" issues. I'll pass it along.
Re: Need help with Suppress Eval and Eval FormulaAside from mistakes when building formulas that can result in a prompt to supress evaluation probably the most common way for columns to get set to suppress evaluation is through the Tables menu.
Tables->Subset has an option that's on by default to supress eval.

Stack and Join have similar options.
Re: Need help with Suppress Eval and Eval FormulaThanks Jerry!
Re: Need help with Suppress Eval and Eval FormulaThanks Brady! As usual, the devil is in the details. Subtle differences I hadn't picked up on.
So if I understand correctly, individual column suppression needs to be cleared individually. Data table suppression is something different, and is cleared from the data table level.
FYI, this came from a customer request. He had individual columns that would get set to Suppress Eval (somehow), then wouldn't update. He was looking for a simple "Recalc All" button. Think that would be a useful feature to add someday?
Re: Need help with Suppress Eval and Eval FormulaI should have been more explicit about the dt = current data table().
If you script
dt = current data table;
instead of
dt = current data table();
dt will NOT be bound to a data table handle... it will be bound to whatever the value of the variable by the name of 'current data table'. Almost certainly, this variable will be undefined.
So, data table messages sent to dt will fall on deaf ears in this case. This alone is sufficient to cause the original script to fail.
Re: Need help with Suppress Eval and Eval FormulaOnly thing I would add is that it looks like a column will accept either: Suppress Eval( 0|1 ) or Suppress Formula Eval( 0|1 ) while the table only responds to Suppress Formula Eval( 0|1 ). This might explain the "limited success" or inconsistencies you were seeing. Also, the column setting trumps the table setting.
Re: Need help with Suppress Eval and Eval FormulaI didn't address 1) and 2).
1) When an error is thrown by a column formula, the user is prompted. One option is to suppress the evalutation.
2) I don't know how to turn off the suppression except by the methods you mention in the question... those are the methods I've been using. I don't encounter suppression much. Basically only when I have an error in a formula and want to troubleshoot.
Re: Need help with Suppress Eval and Eval FormulaHi Jerry,
Parentheses are needed after Current Data Table(), as it is a function, taking 0 arguments and returning a handle to the current table.
I don't use these much but from what I can tell it seems that there are 2 levels of suppression, table level and column level. To clear column level suppression, use the below.
Note that the messages are different... columns use << suppress eval ( 0 | 1 ) and tables use << suppress formula eval ( 0 | 1 )
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << suppress eval( 0 )
);
To clear table-level suppression, use:
dt << Suppress Formula Eval(0);
dt << Rerun Formulas;
These are working for me on the table you provided, but I have not tested these otherwise, so if anyone has anything to add/correct, please chime in.
Cheers,
Brady