cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
Choose Language Hide Translation Bar
jerryspilTC
Level III

Subsetting a subset of Columns

Hi All,

 

 

1. I have here a raw prober robot logs with continous by-time data per seconds of its movement executions a record of SiteX data (site0~7 this is basically a fixed hardware that touches a wafer), it records an X & Y and a BIN it touched down.

2. One row is one touch-down (of site0-7 ) on a wafer. However this raw format is hard to manipulate unless I do a subsetting and concatenating. See attached JMP raw data

 

Needed help:

1. I want to build a script that auto-subset the site0-7 columns and concatenate it like below.

2. Then I want to build a wafer map, that will track the sequence of touches the robot made on the wafer ove time continuous. See below table I want to make:

Anyone have idea? Thanks

Column 1Column 2Column 12Column 13Column 14Column 15Column 16Column 17Column 18Column 19
8/14/2018PM 11:59:38Site0X29Y27PassBin1
8/15/2018AM 12:00:04Site0X29Y25PassBin1
8/15/2018AM 12:00:30Site0X30Y25PassBin1
8/15/2018AM 12:00:56Site0X30Y27PassBin1
8/15/2018AM 12:01:22Site0X34Y17PassBin1
8/15/2018AM 12:01:48Site0X34Y18PassBin1
8/14/2018PM 11:59:38Site1X28Y26PassBin1
8/15/2018AM 12:00:04Site1X28Y24PassBin1
8/15/2018AM 12:00:30Site1X29Y24PassBin1
8/15/2018AM 12:00:56Site1X29Y26PassBin1
8/15/2018AM 12:01:22Site1X33Y16PassBin1
8/15/2018AM 12:01:48Site1X33Y17PassBin1
8/14/2018PM 11:59:38Site2X27Y25PassBin1
8/15/2018AM 12:00:04Site2X27Y23PassBin1
8/15/2018AM 12:00:30Site2X28Y23PassBin1
8/15/2018AM 12:00:56Site2X28Y25PassBin1
8/15/2018AM 12:01:22Site2X32Y15PassBin1
8/15/2018AM 12:01:48Site2X32Y16PassBin1
8/14/2018PM 11:59:38Site3X26Y24PassBin1
8/15/2018AM 12:00:04Site3X26Y22PassBin1
8/15/2018AM 12:00:30Site3X27Y22PassBin1
8/15/2018AM 12:00:56Site3X27Y24PassBin1
8/15/2018AM 12:01:22Site3X31Y14PassBin1
8/15/2018AM 12:01:48Site3X31Y15PassBin1
8/14/2018PM 11:59:38Site4X25Y23PassBin1
8/15/2018AM 12:00:04Site4X25Y21PassBin1
8/15/2018AM 12:00:30Site4X26Y21PassBin1
8/15/2018AM 12:00:56Site4X26Y23PassBin1
8/15/2018AM 12:01:22Site4X30Y13PassBin1
8/15/2018AM 12:01:48Site4X30Y14PassBin1
8/14/2018PM 11:59:38Site5X24Y22PassBin1
8/15/2018AM 12:00:04Site5X24Y20PassBin1
8/15/2018AM 12:00:30Site5X25Y20PassBin1
8/15/2018AM 12:00:56Site5X25Y22PassBin1
8/15/2018AM 12:01:22Site5X29Y12PassBin1
8/15/2018AM 12:01:48Site5X29Y13PassBin1
8/14/2018PM 11:59:38Site6X23Y21PassBin1
8/15/2018AM 12:00:04Site6X23Y19PassBin1
8/15/2018AM 12:00:30Site6X24Y19PassBin1
8/15/2018AM 12:00:56Site6X24Y21PassBin1
8/15/2018AM 12:01:22Site6X28Y11PassBin1
8/15/2018AM 12:01:48Site6X28Y12PassBin1
8/14/2018PM 11:59:38Site7X22Y20PassBin1
8/15/2018AM 12:00:04Site7X22Y18PassBin1
8/15/2018AM 12:00:30Site7X23Y18PassBin1
8/15/2018AM 12:00:56Site7X23Y20PassBin1
8/15/2018AM 12:01:22Site7X27Y10PassBin1
8/15/2018AM 12:01:48Site7X27Y11PassBin1

 

 

jerryspilTC
1 ACCEPTED SOLUTION

Accepted Solutions
gzmorgan0
Super User (Alumni)

Re: Subsetting a subset of Columns

The cause of the error is that older versions of JMP were not consistent with the meessage << set. In JMP 14 it is much more consistent.

 

The error occured because the message for jmp 14 does not work in JMP 12.  Then the get column names for character columns was only 59 not 64 so idx (which is 1::64) threw and error.   I modified the script to use the current data table and used the older data type message. 

	column(dt,i) << set data type("Character")  //jmp 14
	column(dt,i) << data type("Character")   //jmp12

 

View solution in original post

8 REPLIES 8
gzmorgan0
Super User (Alumni)

Re: Subsetting a subset of Columns

Attached is a script that uses the JMP Table Series Stack. From experience, people always state the table will alway have the same format, but that is not the case.  Note several of site columns were numeric and others were not.

 

Try the attached script on your prober table. Note that:

  • the table name is hard-coded you might want to change that to Current Data Table(), or change it to an open.
  • ns is set to 8 for the scenario of sites 0-7.  Change appropriately for other sites.
  • run the script to just after line 24. You should verify the data stacked appropriately. Also you might want to sort it.

You should learn and understand each line of this script. You wil not be able to maintain it, if you do not understand it.   

jerryspilTC
Level III

Re: Subsetting a subset of Columns

Hi gzmorgan0,

Thanks, I'm studying the codes,

I've deleted a Column 84 to 90 because I do not need this Col, only the site0-7 Col12-Col82 needs to be stacked due to its the usable same format. Sorry I didn't noticed at 1st.

 

I rerun the script again after deleting Col84-90 but got an error after:

 

idx = 1::ns*8;
cnames = (dt << get column names(character, "string"))[idx];  //error here

Error in jsl debugger

"Subscript Range in access or evaluation of 'Subscript' , (dt << get column names( character, "string" ))[/*###*/idx]"

 

I break the debugger to check at instance the raw data table, some Columns attribute were not changed to data type "character"

So I think because idx = 1::ns*8, index is 1~64 expects cnames count to be less than or equal to this index? 

 

cnames Col name holder  still stuck to this:

cnames={"Col12~Col90}

 

Hope you can still help me on this error.

 

 

 

jerryspilTC
gzmorgan0
Super User (Alumni)

Re: Subsetting a subset of Columns

load your new table.

jerryspilTC
Level III

Re: Subsetting a subset of Columns

Find attached

jerryspilTC
gzmorgan0
Super User (Alumni)

Re: Subsetting a subset of Columns

I just ran the script on your new table and it ran perfectly. Which version of JMP are you using?

jerryspilTC
Level III

Re: Subsetting a subset of Columns

JMP 12.0.1 (32bit)

jerryspilTC
gzmorgan0
Super User (Alumni)

Re: Subsetting a subset of Columns

The cause of the error is that older versions of JMP were not consistent with the meessage << set. In JMP 14 it is much more consistent.

 

The error occured because the message for jmp 14 does not work in JMP 12.  Then the get column names for character columns was only 59 not 64 so idx (which is 1::64) threw and error.   I modified the script to use the current data table and used the older data type message. 

	column(dt,i) << set data type("Character")  //jmp 14
	column(dt,i) << data type("Character")   //jmp12

 

jerryspilTC
Level III

Re: Subsetting a subset of Columns

Thank you, it works.

jerryspilTC