There may be better ways to do this, either using Save As HTML or JMP Public or JMP Live .
But, here's a proof-of-concept for creating custom HTML that does what you describe. JMP creates HTML output as a complete web page. This example uses iframes to display the individual web pages within another page; the left side iframe is some sort of summary, the right side iframe some sort of subset. You should find someone that knows more about HTML than I do to put this together better.
JMP reports, side-by-side in a browser, with an index below the right side report
path = "$temp/deletmeHTML/";
Create Directory( path );
// make some sample HTML
dt = Open( "$sample_data/big class.jmp" );
// the LEFT side output
overview = Distribution(
Continuous Distribution( Column( :weight ), Quantiles( 0 ), Summary Statistics( 0 ) ),
Nominal Distribution( Column( :age ), Frequencies( 0 ) )
);
overview << Save HTML( path || "overview.html" );
overview << closewindow;
// the RIGHT side output
links = "";
For( global:age = Col Min( dt:age ), global:age <= Col Max( dt:age ), global:age += 1,
agegroup = Distribution( Continuous Distribution( Column( :weight ), Quantiles( 0 ), Summary Statistics( 0 ) ), where( dt:age == global:age ) );
report(agegroup)[Outlinebox(1)]<<settitle("age group "||char(global:age));// put something useful in place of "distributions"
agegroup << Save HTML( path || "age" || Char( global:age ) || ".html" );
agegroup << closewindow;
// build the links for the document below
links = links || "\[
<a href="#" id="age]\" || Char( global:age ) || "\[" onClick="change(this.id)">]\" || Char( global:age ) || "\[</a>
]\";
);
Close( dt, nosave );
// build a container page that embeds JMP output via iframe
// https://www.sitepoint.com/community/t/how-to-change-iframes-content/1475/3
html = // this is a proof of concept, not great HTML...
"\[
<html>
<head>
<title>JSL+HTML example</title>
<style>
iframe{
width: 40%; height: 500px;
border: 2px solid #ccc;
}
</style>
<script>
function change(newPage){
document.getElementById('myframe').src=newPage + ".html";
}
</script>
</head>
<body>
<iframe src="overview.html"></iframe>
<iframe src="age17.html" id="myframe" ></iframe>
<div align="center">
<span id="menu">
]\"
|| links || "\[
</span>
</div>
</body>
</html>
]\";
htmlfile = Save Text File( path || "index.html", html );
// launch the web page. Your browser might think pages loaded from your computer
// come from different sites (chrome). Some iframe tricks for sizing do not work locally.
Run Program(
Executable( "CMD.EXE" ), // probably use default browser on win
Options( {"/a", "/q", "/c", htmlfile} ),
ReadFunction( Function( {this}, Write( this << read ) ) )
);
The RunProgram at the end is for Windows; using Open(htmlfile) might work better, but it was using IE rather than my preferred browser. Using SaveAsHTML was confusing because the selection does not work across frames. I did not find iframe scripting examples for sizing the iframes that worked locally on chrome on my local machine. They might work fine from a proper site.
Craige