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. 
Mass CustomizationRe: 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])))
)
))
));
Re: Control format and review of report outputUsing the Fit Group() function, it is real easy to change the layout to 3 reports across

Here is the simple JSL
names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// For illustration, limit ages to only 3 levels
// Select matching cells
Data Table( "big class" ) << Select Where( :age == 12 | :age == 13 | :age == 14 );
// Subset data table
// → Data Table( "Subset of big class" )
Data Table( "big class" ) << Select Where( :age == 12 | :age == 13 | :age == 14 )
<< Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
// Close Data Table: big class
Close( "big class" );
fg = fit group(
Bivariate( Y( :height ), X( :weight ), By( :sex, :age ) ));
fg<<ARRANGE in="" rows=""></ARRANGE>
I also suggest you look at Response Screening as a possible way for you to look at the plots
Analyze=>Screening=>Response Screening