To really customize JMP results, two important skills are:
- navigating and referencing JMP reports, and
- JSL DisplayBox scripting/messages.
Mutiple chapters of our book* present navigation, interactive reports, dialogs, etc. I cannot reproduce all of that here, but let me give you a critical skill for navigation, Show Tree Structure. Right click on any disclosure icon in a JMP report, then select Edit, then select the last item, Show Tree Structure. This creates a New Window displaying the underlying structure of any report. Highlighting an item in the report highlights the corresponding DisplayBox in the tree structure window; and vice versa, highlighting something in the tree structure window highlights the corresponding display in the report window.
That is not the entire story. JMP report structure allows users to add custom display boxes, so there are hidden containers. Each window has a ListBox that contains all display boxes [that is, if the scripter doesn't mess it up ... our book shows an example of what not to do.]
See the screen shot below that captures the report window of the graph builder and the local data filter with a window of its tree structure window where some disclosure icons are closed.
Note the red star in the upper left corner. I added that. This red star marks a spot above the disclosure icon of the Data Filter.
Run the script I previously sent, and place your mouse at that location and press keys Ctrl+Shift+ Right Click [ I do not know the equivalents for a Mac]. A little gray button with Show Tree Stucture will appear; click on it to create the tree structure. Click on the disclosure icons for BorderBox(1) and OutlineBox(2): Graph Builder. Now look at the tree structure. As mentioned above all display boxes are contained within ListBox(1). The key feature is that when a Local Data Filter is added to a platform like GraphBuilder or Bivariate, etc., the platform is nested within a Data Filter Context Box. This allows JMP to filter only for this platform and no others, unless a platform is added to that Data Filter Context Box.
That might have be too many details if you are just learning JSL. The big take away is that tr = gb << Top Report, returns a handle to ListBox(1) of that window. And tr << Save Interactive HTML will now capture both the local filter and Graph Builder.
Read more below picture.
I had not scripted with a Data Filter until writing up examples for our book. So when I try something new, like adding a local data filter, I always find an area outside of my display and use the Ctrl+Shift+Right Click and click on Show Tree Structure to learn the boxes that are used. Then I look up the messages I can send to them (their methods).
You can learn more about navigating and customizing a JMP report in the JMP Scripting Guide or *JSL Companion, Applications of the JMP Scrpting Language, 2nd edition.