cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
New to using JMP? Hit the ground running with the Early User Edition of Discovery Summit. Register now, free of charge.
Register for our Discovery Summit 2024 conference, Oct. 21-24, where you’ll learn, connect, and be inspired.
Choose Language Hide Translation Bar
hogi
Level XI

Record Subset action via log

When I go to Tables/Subset and then in the platform, when I click on OK, the enhanced log captures the action.

 

When I use JSL to click on OK, the log ignores this action:

subset();
window("Subset")[Button Box(2)] << click()

The same platform, the same button - and a special functionality prevents the log from logging.

Argh!

 

According JMP support (00156411): There is no workaround for this behavior.  
Oh no!

 

For error messages, there is the secret Batch Interactive setting which can be used to switch between Scripting and Interactive mode. Does anyone know of a similar setting for the log - to make the log verbose ?

... or deaf?

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Record Subset action via log

You can capture the Source script from the subset

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << select rows(1::2);

Subset();
Window("Subset")[Button Box(2)] << click();
subset_script = Get Data Table List()[1] << Get Script("Source");

/*
// Subset data table
// → Data Table("Subset of Big Class 2")
Data Table("Big Class") << Clear Select << Select Rows([1, 2]) <<
Subset(Selected Rows(1), Selected columns only(0));
*/

Not sure what is meant by "deaf" log, but Log Capture() can make parts of JSL to not print to log.

-Jarmo

View solution in original post

2 REPLIES 2
jthi
Super User

Re: Record Subset action via log

You can capture the Source script from the subset

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << select rows(1::2);

Subset();
Window("Subset")[Button Box(2)] << click();
subset_script = Get Data Table List()[1] << Get Script("Source");

/*
// Subset data table
// → Data Table("Subset of Big Class 2")
Data Table("Big Class") << Clear Select << Select Rows([1, 2]) <<
Subset(Selected Rows(1), Selected columns only(0));
*/

Not sure what is meant by "deaf" log, but Log Capture() can make parts of JSL to not print to log.

-Jarmo
hogi
Level XI

Re: Record Subset action via log

deaf:
https://community.jmp.com/t5/Discussions/How-to-supress-script-dump-in-log-upon-closing-a-chart/m-p/... 

 

 

Use the source script, not the log.  this reminds me of 
TS-00035426: Update & Concatenate: source script collision 

According to JMP the source script is rendered useless:

 

"For almost all data table manipulations, a Source script is written to the table.  If one is already there, it is overwritten.  This is how it has worked for many years.  It is not a bug, it is intentional behavior.

If you wish to keep the code written to the Source script, it is recommended that you copy it as appropriate when it is written there.  However, with the implementation of the Action Recorder, the Source script is really rendered useless.  The Action Recorder is the preferred method of collecting code that JMP writes to build your own script."