cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Sign-in to the JMP Community will be unavailable intermittently Dec. 6-7 due to a system update. Thank you for your understanding!
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.
  • JMP 19 is here! Learn more about the new features.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
hogi
Level XIII

Display Tree Indexing - how does it work?

Helpful Information from the community:

 

Subscripting:

Display Boxes with Subscripts 

 

Xpath:

 

xPath coding help /  (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)

4 REPLIES 4
hogi
Level XIII

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".

 

 

hogi_0-1731054846842.png

 

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();

 

hogi
Level XIII

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:

hogi_2-1731055528335.png


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.

 

hogi
Level XIII

Re: Display Tree Indexing - how does it work?

Now, let's change the environment:

hogi_3-1731055747263.png

 

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();

hogi_4-1731055786713.png


Unfortunately, a German JSL developer will see this information in the "Properties" menu:

hogi_6-1731055976777.png

and it's quite likely that an English speaking colleague will see:

hogi_7-1731056165743.png

hogi
Level XIII

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" ) )

Recommended Articles