Control format and review of report outputI have multiple versions of JMPPro on my computer, including JMP 14.3 and JMP 16.0. I don't an option in any version for custom formatting in a report window. For example, suppose I use the bivariate (fit Y by X) platform with a "by" column, and there are 80 unique values in the "by" column. Including all plots in a single column or in a single row will slow down review of the plots. Performing a drag and drop would be tedious. What I'd like to be able to do is:
- Specify the number of rows and plots per row in report output
- In the case where there are two "by" columns, have the option to put all plots from the first "by" column in a given row in the report output. For example, suppose there are two "by" columns, creating 5 unique combinations: column A has values {tea, coffee} and column B has values {milk, honey, sugar}. Nowhere in the data table does there appear a combination of coffee and honey. The first row in the report output would contain 3 plots for "tea", one each for milk, honey, and sugar. The second row in the report output would contain 2 plots for "coffee", one each for milk and sugar.
My questions are:
- Is there a way to do this natively in JMP?
- If not, are there any scripts/add-ins available that allow you to format a report window this way?
I think I could script it myself, but it would be time-consuming, and am hoping for an easy button.=)
GraphicsScriptingRe: Control format and review of report outputNo native ways come to my mind (but there might still be some), so here are some script ideas to maybe get you started:
To just control how many reports are in each row you should be able to just use Lineup Box with N Col:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
maxValsPerRow = 4;
nw = New window("", Lineup Box(N Col(maxValsPerRow),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal))
));
For two "by" columns and to break into new rows when By changes (note Eval(EvalExpr()), usage):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Food Journal.jmp");
uniqVals = Associative Array(Column(dt, "Meal")) << get keys;
maxValsPerRow = 15;
nw = New window("", vlb = V List box());
For(i = 1, i <= N Items(uniqVals), i++,
vlb << Append(Eval(EvalExpr(
Lineup Box(N Col(Expr(maxValsPerRow)),
Bivariate(Y(:Calories), X(:Fat), By(:Food Category, :Meal), Where(:Meal == Expr(uniqVals[i])))
)
))
));