What inspired this wish list request?
Response Screening is very fast platform when comparing multiple Xs and Ys. It also allows Fitting those items but only for selected items whereas Process Screening has two options "Show Charts as Selected" and "Show Charts for Selected". For is one off charts and as updates charts as user selects different rows.
What is the improvement you would like to see?
Add option "Fit as Selected Items" to Response Screening Platform.
And while you are doing that I think you should also rename "Fit Selected Items" to "Fit for Selected Items" to make naming consistent between different platforms. Also similar approach should be applied to all platforms which offer this kind of features (plot once (for) and plot on selection (as)).
Why is this idea important?
Makes it easier to use Response Screening platform if you want to visually see how x and y compare to each other.
Below is a script which can be used to do something like this. It is very quick solution and just creates new window which can then be placed next to response screening for quick checks
Names Default To Here(1);
ps_ref = (Current Report() << XPath("//OutlineBox[@helpKey = 'Response Screening Report']"));
If(N Items(ps_ref) < 1,
Throw("No Response Screening open");
);
ps_ref = ps_ref[1] << get scriptable object;
tb = Report(ps_ref)[Table Box(2)];
nw = New Window("Visual",
plot_collector = V List Box(
);
);
Eval(EvalExpr(
tb << set row change function(Function({this},
sel_rows = this << get selected rows;
xcols = (this[String Col Box("X")] << get)[sel_rows];
ycols = (this[String Col Box("y")] << get)[sel_rows];
lub = Lineup Box(N Col(2));
For Each({{curx, cury}}, Across(xcols, ycols),
lub << Append(
Bivariate(
Y(Eval(curx)), X(Eval(cury)),
Fit Line({Line Color({230, 159, 0})}),
Density Ellipse(0.95, {Line Color({86, 180, 233})}),
SendToReport(Dispatch({}, "Linear Fit", OutlineBox, {Close(1)}))
)
);
);
While(!IsEmpty(Expr(plot_collector) << child),
Try((Expr(plot_collector) << child) << delete box);
);
Expr(plot_collector) << Append(lub);
));
));
Eval(EvalExpr(
nw << On Close(
Expr(tb) << Set Row Change Function(function({this}, return()));
);
));
... View more