Subscribe Bookmark RSS Feed

scripting bug in JMP13

robust1972

Community Trekker

Joined:

Jan 15, 2014

I am transitioning my scripts to JMP13.0 from JMP12.2. I found a scripting bug in JMP13. the details are explained with a sample script.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dtfemale = dt << select where( Contains( :sex, "F" ) ) << subset( Output Table Name( "femal students" ) )<<delete rows;

in jmp12 dtfemale is the subset of Big Class(female students), whereas in JMP13.0 dtfemale became becomes a row number(18); Is this something could be solved by setting in preference? or was it fixed in 13.1? I have at least few tens lines in my script, it is quite a big inconvenience to change it line by line. Any thoughts and suggests will be appreciated!

1 ACCEPTED SOLUTION

Accepted Solutions
Justin_Chilton

Joined:

Aug 27, 2015

Solution

In JMP 13, the 'Delete Rows' message now returns the total number of rows that were deleted. It is probably best to separate these messages into different lines and avoid doing to many messages on a single line. 

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << select where( Contains( :sex, "F" ) ) ;
dtfemale = dt << subset( Output Table Name( "female students" ) );
dt << delete rows;

Edit: I wanted to add that since delete rows didn't return anything previously, the return of the subset message was set to the variable. This is because the last message on a single line that returns something is returned to the variable on that line.

Justin
1 REPLY
Justin_Chilton

Joined:

Aug 27, 2015

Solution

In JMP 13, the 'Delete Rows' message now returns the total number of rows that were deleted. It is probably best to separate these messages into different lines and avoid doing to many messages on a single line. 

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << select where( Contains( :sex, "F" ) ) ;
dtfemale = dt << subset( Output Table Name( "female students" ) );
dt << delete rows;

Edit: I wanted to add that since delete rows didn't return anything previously, the return of the subset message was set to the variable. This is because the last message on a single line that returns something is returned to the variable on that line.

Justin