- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Display Tree Indexing - how does it work?
Helpful Information from the community:
Subscripting:
Xpath:
Using JSL to Develop Efficient, Robust Applications (EU 2018 415)
xPath coding help / JMP Discovery 2015 - Mining JMP Reports - v10.pdf (Xpath "family" tree)
All OutlineBoxes with title condition By XPath (@helpKey)
All in One:
I-Can-See-It-How-Do-I-Get-It (Discovery Summit 2024, @Mark_Bailey , @tonya_mauldin)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Display Tree Indexing - how does it work?
There are some cases where DisplayBox Subscripting like
current report()["Summary Statistics"]
gives surprising results. Which information is accessed via the string?
In this example,
JMP doesn't find the first Local Data Filter -- maybe: because it's title is changed to "LDF"?
JMP finds the first summary statistics - although it's title is changed to "statistics".
I first noticed this behavior with a Graph Builder outline box. JMP finds it even when the title is changed.
At the time, I thought JMP was looking for the @helpKey - and that is why it can still find it.
But Summary Statistics (in the example here) doesn't have a helpKey.
So JMP finds something that is not visible to the user.
And it won't find it if it's a local data filter...
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "test",
V Splitter Box(
Distribution(
Continuous Distribution(
Column( :height )
),
Local Data Filter(Title( "LDF" ) ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Distributions", OutlineBox, {Set Title( "hello" )} ),
Dispatch( {"height"}, "Summary Statistics", OutlineBox,
{Set Title( "statistics" )}
)
)
),
Distribution(
Continuous Distribution(
Column( :height )
),
Local Data Filter( )
)
)
);
current report()["Local Data Filter"] << select();
//current report()["Distributions"] << select();
current report()["Summary Statistics"] << select();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Display Tree Indexing - how does it work?
There are different ways how the titles of the OutlineBoxes are changes, so let's try:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "test",
V Splitter Box(
Distribution(
Continuous Distribution(
Column( :height )
),
Local Data Filter( ),
Local Data Filter,
SendToReport(
Dispatch( {}, "Distributions", OutlineBox, {Set Title( "hello" )} ),
Dispatch( {"height"}, "Summary Statistics", OutlineBox,
{Set Title( "statistics" )}
),
Dispatch( {}, "Local Data Filter", OutlineBox, {Set Title( "LDF" )} )
)
),
Distribution(
Continuous Distribution(
Column( :height )
),
Local Data Filter( )
)
)
);
current report()["Local Data Filter"] << select();
current report()["Summary Statistics"] << select();
and indeed:
If the title is changed by sending a dispatch message to the report layer, the report layer will also find the display box via the original title.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Display Tree Indexing - how does it work?
Now, let's change the environment:
It's great, JMP doesn't get fooled by the titles, it still finds the display boxes via the english names
current report()["Local Data Filter"] << select();
current report()["Summary Statistics"] << select();
Unfortunately, a German JSL developer will see this information in the "Properties" menu:
and it's quite likely that an English speaking colleague will see:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Display Tree Indexing - how does it work?
Note to myself:
- use English names for Dispaly Box Substripting
- use Dispatch(...) to change the title of Outline Boxes, not Local Data Filter(Title( "LDF" ) )