cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Don’t miss your chance to experience Discovery Summit Europe at our best available rate! Early bird registration through 31 Oct.
  • Graph Builder Toolbar streamlines interactive graphing. Creates shortcuts on Report and GraphBuilder Helpers toolbars. Download and install the extension.
  • JMP will suspend normal business operations for our Rest and Recharge Day on Friday, October 2, 2026.
    Regular business hours will resume on Monday, October 5, 2026.

Discussions

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

creating a journal in a new window with hlist and vlist boxes with a for loop

Hi. I would like to create a script that creates a new journal with a variable amount of oneway graphs arranged in the way I want.  I have tried multipe ways and cannot figure it out.  Can someone help me?  Thanks!

 

 

Trying to write something like this:

Hlist_MSG1 = "HList Box(( oneway_List[";
Hlist_MSG2 = "] << Report) << Clone Box, ( noz_stat[";
Hlist_MSG3 = "] <<Report)[";
Hlist_MSG4 = "] << Clone Box)";

nw = New Window(name, <<Journal,

vlb = V List Box(


for(i=1, i<=n_Copies, i++,

evallist({Hlist_MSG1,
i;
Hlist_MSG2;
i;
Hlist_MSG3;
1;
Hlist_MSG4;

if(i<n_Copies,", ", " ")}));

));

 

 

 

Or like this:

 

HLIST_MSG_LST[i] = "HList Box(( oneway_List[" || char(i) || "] << Report) << Clone Box, ( noz_stat[" || char(i) || "] <<Report)[1] << Clone Box)");


subs_list = {};

for(i=1, i<=n_Copies, i++, subs_list [i] = "num("||char(i)||")");

num_list = {};

for(i=1, i<=n_Copies, i++, num_list [i] = i);

 



nw = New Window(name, <<Journal,

vlb = V List Box(


for(i=1, i<=n_Copies, i++,
eval(parse(substitute(HLIST_MSG_LST[i],subs_list[i],num_list[i])));

if(i<n_Copies,", ", " "));

));


1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Here is a methodology that I have found to be much easier to build outputs with.  I believe it goes after what you are trying to do, but it is simplert to work with, and easier to follow.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );

// Create some structures to hold the results
mainBox = V List Box();
theHBox = H List Box();

// Get the column names for the analysis
colList = dt << Get Column Names( continuous );

// Loop across the columns and generate the analyis, placing
// 4 analyses into an H List Box(), and then when all 4 are
// in the H List Box(), add it to the main V List Box();
For( i = 1, i <= 25, i++,
	theHBox << Append( oneway( y( colList[i] ), x( :Site ) ) );
	If( Mod( i, 4 ) == 0 | i == 25,
		mainBox << Append( theHBox );
		theHBox = H List Box();
	);
);

// Now create the journal to hold all of the results
nw = New Window( "Results", <<journal, finalBox = H List Box() );

// Add the accumulated analyses to the journal
finalBox << Append( mainBox );
Jim

View solution in original post

3 REPLIES 3
txnelson
Super User

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Here is a methodology that I have found to be much easier to build outputs with.  I believe it goes after what you are trying to do, but it is simplert to work with, and easier to follow.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );

// Create some structures to hold the results
mainBox = V List Box();
theHBox = H List Box();

// Get the column names for the analysis
colList = dt << Get Column Names( continuous );

// Loop across the columns and generate the analyis, placing
// 4 analyses into an H List Box(), and then when all 4 are
// in the H List Box(), add it to the main V List Box();
For( i = 1, i <= 25, i++,
	theHBox << Append( oneway( y( colList[i] ), x( :Site ) ) );
	If( Mod( i, 4 ) == 0 | i == 25,
		mainBox << Append( theHBox );
		theHBox = H List Box();
	);
);

// Now create the journal to hold all of the results
nw = New Window( "Results", <<journal, finalBox = H List Box() );

// Add the accumulated analyses to the journal
finalBox << Append( mainBox );
Jim
tova
Level III

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

Thanks Jim,  I won't be able to try and implement this until next week, so I will update then.  But this looks like it should help me.

tova
Level III

Re: creating a journal in a new window with hlist and vlist boxes with a for loop

never mind, it was easy to implement, so I don't need to wait until next week to see if it works.

 

It works.

 

Thank you!!

Recommended Articles