Hey everyone,
I am trying to loop though a Proces Screener script that makes the "Charts as selected" report element. I need it to be flexible as the number of Reponses in the screener can change over time. So I tried putting in this loop to change the axis format of the charts but alas it does not work.
SendToReport(
Dispatch( {}, "", TableBox, {Sort By Column( 2, 1 )} ),
Dispatch( {}, "Charts as Selected", OutlineBox, {Close( 1 )} ),
For( i = 1, i <= 422, i++,
Dispatch(
{"Charts as Selected"},
"1",
ScaleBox(i),
{Format( "m/d/y", 10 ), Min( 3784397666.7875 ), Max( 3787415686.74375 ), Interval( "Week" ), Inc( 1 ), Minor Ticks( 6 ),
Label Row( {Label Orientation( "Perpendicular" ), Show Major Grid( 1 )} )}
),
Dispatch( {"Charts as Selected"}, "ProcessScreening Graph As Selected", FrameBox( i ), {Frame Size( 602, 255 )} ),
)
)this is a section of code that show the repetition I am trying to loop over
SendToReport(
Dispatch( {}, "", TableBox, {Sort By Column( 2, 1 )} ),
<STRONG>Dispatch({"Charts as Selected"},
"1",
ScaleBox,
{Min( 3784397666.7875 ), Max( 3787415686.74375 ), Interval( "Week" ), Inc( 1 ), Minor Ticks( 6 ),
Label Row( {Label Orientation( "Perpendicular" ), Show Major Grid( 1 )} )}
),
Dispatch( {"Charts as Selected"}, "ProcessScreening Graph As Selected", FrameBox, {Frame Size( 602, 255 )} ),
Dispatch(
{"Charts as Selected"},
"1",
ScaleBox( 2 ),
{Min( 3784397666.7875 ), Max( 3787415686.74375 ), Interval( "Week" ), Inc( 1 ), Minor Ticks( 6 ),
Label Row( {Label Orientation( "Perpendicular" ), Show Major Grid( 1 )} )}
),</STRONG><BR /><STRONG> Dispatch( {"Charts as Selected"}, "ProcessScreening Graph As Selected", FrameBox( 2 ), {Frame Size( 602, 255 )} ),</STRONG>Any guidance would be appreciated!
Steve
Without knowing what you are really trying do, I would suggest that you modify them after selections have been done by getting references to those axis (scaleboxes) using << XPath and then modifying that list by sending message(s) to that list.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
obj = dt << Process Screening(
Process Variables(Column Group("Processes")),
Grouping(:SITE),
Control Chart Type("Indiv and MR"),
Show Charts as Selected(1),
RowStates([0 1, 171 1, 245 1])
);
scs = Report(obj) << XPath("//ScaleBox");
xaxis_idx = 2::N Items(scs)::3;
scs[xaxis_idx] << Min(-100) << Max(400) << Inc(100) << Inc(100) << Minor Tics(2);
Thanks @jthi !!
That worked great. I ended up add in my stuff as so:
scs = Report(psobj) << XPath("//ScaleBox");
xaxis_idx = 2::N Items(cnames)::3;
scs[xaxis_idx] << Min(3784397666.7875) << Max(3787415686.74375) << Interval( "Week" ) << Inc( 1 ) << Minor Ticks( 6 )<