Via File/Preferences, you can change the standard settings of Jmp.
Very cool to adjust Jmp to your needs
But I found a subtle issue - in combination with the functionality to automatically generate JSL code (save to script, advanced log, Dashboards, log, Workflow Builder ...)
The below code changes the preferences, so - please think twice if you want to try it .
The story:
A user adjusts some settings (Conditional & Column Switcher Retain Axis Setting) via File/Preferences
- an then generates a report with the default setting (he has do this manually, no chance to generate the code via enhanced log):
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Set Preferences(
Data Filter Conditional( 1 ),
Column Switcher Retain Axis Setting( 1 )
);
Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional(0),
Add Filter(
columns( :sex, :name )
)
),
Column Switcher( :weight, {:age, :weight}, Retain Axis Settings( 0 ) )
)
Then he adjusts the Report interactively via the GUI and saves the script (using the enhanced log functionality of JMP).
The generated script will look like this:
Graph Builder(
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter(
columns( :sex, :name ),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
Column Switcher( :weight, {:age, :weight} )
)
Please note:
Conditional(0) -> removed automatically!
Retain Axis Settings( 0 )
-> removed automatically!
The finding:
Default settings are automatically removed from the code - "as they won't have an effect for a standard system".
Same happens if the uses uses the Report inside a Dashboard (!) - default settings won't be added.
Now, the user runs the code again - imagine how the Report will look like ...
I can understand why it is like this - it is no bug it's a cool Feature that Jmp automatically cleans code to remove unnecessary lines.
But in combination with a user who dares to change settings in the preferences it definitely acts like a bug - a severe bug!
My current workaround: Just change preferences where you are sure that you won't EVER (!!!) use the default setting.
This rule hurts - especially for cases where I use the adjusted setting in 99% of the cases - and 1% the default setting.
Then, the rule doesn't allow me to adjust the preferences. I am forced lo live with the default setting and have to manually adjust the setting in 99% of the cases.
Is there a better solution - how do YOU solve this issue in daily work life?