It would be great if we could run a given script each time a new variable is selected with the column switcher feature.
We are working on this for JMP 16.
I've been working on this for JMP 16. I'm planning on using a technique similar to the Text Edit Box or the Button Box which have a Set Script option. Below is an example which would work in JMP 16. Let me know if you have any suggestions or concerns.
dt = Open("$SAMPLE_DATA/Process Measurements.jmp"); // Set up a Graph with a Reference line at the mean value for Process 1 on the x-axis gb = dt << Graph Builder( Show Control Panel(0), Variables( X( :Process 1 ), Y( :Process 2 ) ), Elements( Points( X, Y, Legend( 2 ) ), Smoother( X, Y, Legend( 3 ) ) ), SendToReport( Dispatch( {}, "Process 1", ScaleBox, {Add Ref Line( 10.0787278156801, "Dashed", "Blue", "Mean", 2 )} ) ) ); // Set up a Column Switcher for Process 1 cs = gb << Column Switcher( :Process 1, {:Process 1, :Process 3, :Process 4, :Process 5, :Process 6, :Process 7} ); // Set a Script on Process 1 which recreates the Ref Line at the new mean for the column on the X-axis. cs << Set Script( report = gb << Report; col = Column(cs << Get Current()); meanX = ColMean(col); axisbox = report[axis box( 1 )]; axisbox << Add Ref Line( meanX, "Dashed", blue, "Mean", 2 ); );
Hello @paul_vezzetti ,
It is exactly what I had in mind.
Thank you very much for your help it is highly appreciated to see wishes coming true!
As noted above, with the release of JMP 16 the Column Switcher object supports a script option.
Here's the example from the Scripting Index:
Names Default To Here( 1 ); dt = Open( "$SAMPLE_DATA/Car Poll.jmp" ); obj = dt << Contingency( Y( :size ), X( :marital status ) ); ColumnSwitcherObject = obj << Column Switcher( :marital status, {:sex, :country, :marital status} ); ColumnSwitcherObject << Set Script( Print( "New Value: " || Char( ColumnSwitcherObject << Get Current ) ) );