cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Don’t miss your chance to experience Discovery Summit Europe at our best available rate! Early bird registration through 31 Oct.
  • Graph Builder Toolbar streamlines interactive graphing. Creates shortcuts on Report and GraphBuilder Helpers toolbars. Download and install the extension.
  • JMP will suspend normal business operations for our Rest and Recharge Day on Friday, October 2, 2026.
    Regular business hours will resume on Monday, October 5, 2026.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
pticguy
Level I

Editing chart with 'Dispatch'

JMP 9.0.3

Windows 7 Enterprise SP1

I am trying to edit some 'control chart' display parameters using 'Dispatch'. It seems like the only way I can get the command to work is if I use the string for the chart title directly. I need to be able to pass that name into the Dispatch command somehow. Here's my 'not working' script:

xbarname = eval("XBar of "||Testname);

Control Chart(

      Sample Label( :Sample ),

     Chart Col( :Testcolumn,

           XBar(

                Box Plots( 1 ),

                Connect Points( 0 ),      

           ),  

     ),

     SendToReport(

             Dispatch(

                  {xbarname},

                                     "2",

                  ScaleBox,

                  {Min(1), Max( 1.5 ), Inc( 0.05 ),

                  Minor Ticks( 1 )}

             ),

     )

  );

1 ACCEPTED SOLUTION

Accepted Solutions
pmroz
Super User

Re: Editing chart with 'Dispatch'

I tried but couldn't find the magic combination of eval, parse, expr that will make it work directly.  When faced with situations like this I tend to use a brute force approach.  Basically you build a string dynamically and execute it with eval(parse()).  Using evalinsert allows clean insertion of parameters, in this case xbarname.  Also, using the constructs \[ and ]\ allow for embedding of double quotes without the need to escape them, which also gives the code a cleaner look.

testname = "Temperature";

xbarname = "XBar of " || Testname;

cc_expr = evalinsert("\[

Control Chart(

    Sample Label( :Sample ),

    Chart Col( :Testcolumn, XBar( Box Plots( 1 ), Connect Points( 0 ), ), ),

    SendToReport(

        Dispatch(

            {"^xbarname^"},

            "2",

            ScaleBox,

            {Min( 1 ), Max( 1.5 ), Inc( 0.05 ), Minor Ticks( 1 )}

        ),

    )

)]\");

eval(parse(cc_expr));

View solution in original post

1 REPLY 1
pmroz
Super User

Re: Editing chart with 'Dispatch'

I tried but couldn't find the magic combination of eval, parse, expr that will make it work directly.  When faced with situations like this I tend to use a brute force approach.  Basically you build a string dynamically and execute it with eval(parse()).  Using evalinsert allows clean insertion of parameters, in this case xbarname.  Also, using the constructs \[ and ]\ allow for embedding of double quotes without the need to escape them, which also gives the code a cleaner look.

testname = "Temperature";

xbarname = "XBar of " || Testname;

cc_expr = evalinsert("\[

Control Chart(

    Sample Label( :Sample ),

    Chart Col( :Testcolumn, XBar( Box Plots( 1 ), Connect Points( 0 ), ), ),

    SendToReport(

        Dispatch(

            {"^xbarname^"},

            "2",

            ScaleBox,

            {Min( 1 ), Max( 1.5 ), Inc( 0.05 ), Minor Ticks( 1 )}

        ),

    )

)]\");

eval(parse(cc_expr));

Recommended Articles