Hello JMP community!
I need help figuring out what seems to be the problem when I Split a column of the following Data Table:
My raw data is as shown:
Take note that I have 2 types of Design : D1 and C1.
I Split this data by "STEP" and "Shift" as the splitted column.Rema. Unexpectedly, I am getting the output table as shown below:
Take note that in the Output table, "Design" column. D1's were missing.
Can anyone point out what could cause to this? I am using JMP 13 version . Thanks in advance!
Jim (txnelson) provided you the solution to your problem. This is just an added hint. The data looks like a within wafer (litho, implant, test ?) experiment. Your problem is the most commonly made mistake with Split. As Jim noted, you need a unique group specification. Each defined group gets 1 row.
I am guessing based upon the portion of the table you displayed that this might be the specification you might need using JSL. If you are doing this via the user interface, specify the columns accordingly. If each object "gets" all 3 steps, then use this:
dt << Split(
Split By( :Step ),
Split( :Shift ),
Group(:expNum, :WAFERNUM, :Design, :Object, :tgt)
remaining columns( drop all )
);
These results is exactly what I would expect. If you notice, all columns that were not referenced in either te Split By, Split Columns, or Group selection boxes and have specified to be kept, will have the same number of rows your Design column. As it happens, it takes the last n number of row as remaining when the split is done. That is, Object, tgt, ExpNum, and Wafernum all have only the last 3 rows of data remaining in the data table.
What did you expect the data table to look like?
Jim (txnelson) provided you the solution to your problem. This is just an added hint. The data looks like a within wafer (litho, implant, test ?) experiment. Your problem is the most commonly made mistake with Split. As Jim noted, you need a unique group specification. Each defined group gets 1 row.
I am guessing based upon the portion of the table you displayed that this might be the specification you might need using JSL. If you are doing this via the user interface, specify the columns accordingly. If each object "gets" all 3 steps, then use this:
dt << Split(
Split By( :Step ),
Split( :Shift ),
Group(:expNum, :WAFERNUM, :Design, :Object, :tgt)
remaining columns( drop all )
);
Thanks for this! Looks like I missed the "Group by ()" line. My script now works as it should be.
dt << Split(
Split By( :Step ),
Split( :Shift ),
Group(:expNum, :WAFERNUM, :Design, :Object, :tgt)
remaining columns( drop all )
);
Thanks for the explaination! I now got it how it would work!