- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
How do I plot the skewness and kurtosis (on y-axis) for all Processes vs "Wafer ID in lot ID" using the following data?
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
This data set is similar to my actual data set, so will serve the purpose.
I know how to get the skewness and kurtosis via the distribution platform interactively but cannot get the numbers out against "Wafer ID in lot ID" via "make combined data table". How to do this via JSL?
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
You are correct, all that has to be done, is to add a << Make Combined Data Table statement just like the one used to create the data table for the Summary Statistics, but point it at the Within Sigma Capability report table or at the Overall Sigma Capability table.
Current Report()["Within Sigma Capability", Table Box( 1 )] << Make Combined Data Table;
This of course assumes the script also has been modified to display the Process Capability reports.
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cnames = dt << get column names( string, continuous );
// for simplicity, only use 5 of the columns
remove from(cnames,6,nitems(cnames));
//col_names = dt << get column group ("Processes");
cnames = cnames[1::N Items (cnames)];
// Use the invisible element to hide output.
dist = dt << Distribution(invisible,
Columns(evalList(cnames)),
Summary Statistics(1),
Customize Summary Statistics(
Std Err Mean(0),
Upper Mean Confidence Interval(0),
Lower Mean Confidence Interval(0),
N(0),
Skewness(1),
Kurtosis(1),
CV(1),
Minimum(1),
Maximum(1),
Median(1)
),
Process Capability( Use Column Property Specs ),
// Add a By group to get results for each wafer within each lot
by(lot_id,wafer)
);
current report()["Summary Statistics", Table Box( 1 )] << Make Combined Data Table;
Current Report()["Within Sigma Capability", Table Box( 1 )] << Make Combined Data Table;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
Make Combined Data table seems to work fine for me. JMP created script
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
rpt = New Window("Semiconductor Capability - Distribution 2",
Data Table("Semiconductor Capability") <<
Distribution(
Continuous Distribution(
Column(:NPN1),
Customize Summary Statistics(Skewness(1), Kurtosis(1)),
Process Capability(0)
),
By(:lot_id)
)
);
Wait(0);
rpt["Distributions", "lot_id=lot01", "NPN1", "Summary Statistics", Table Box(1)] <<
Make Combined Data Table;
rpt << Close Window;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
I can get the distribution, skewness and Kurtosis etc. for all processes via JSL but do not know how to get this per "Wafer ID in lot ID" out in a data table and plot. Need some direction here.
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cnames = dt << get column names( string, continuous );
//col_names = dt << get column group ("Processes");
cnames = cnames[1::N Items (cnames)];
dist = dt << Distribution(
Columns(evalList(cnames)),
Summary Statistics(1),
Customize Summary Statistics(
Std Err Mean(0),
Upper Mean Confidence Interval(0),
Lower Mean Confidence Interval(0),
N(0),
Skewness(1),
Kurtosis(1),
CV(1),
Minimum(1),
Maximum(1),
Median(1)
),
);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
Here is how I would handle this
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cnames = dt << get column names( string, continuous );
// for simplicity, only use 5 of the columns
remove from(cnames,6,nitems(cnames));
//col_names = dt << get column group ("Processes");
cnames = cnames[1::N Items (cnames)];
// Use the invisible element to hide output.
dist = dt << Distribution(invisible,
Columns(evalList(cnames)),
Summary Statistics(1),
Customize Summary Statistics(
Std Err Mean(0),
Upper Mean Confidence Interval(0),
Lower Mean Confidence Interval(0),
N(0),
Skewness(1),
Kurtosis(1),
CV(1),
Minimum(1),
Maximum(1),
Median(1)
), // Add a By group to get results for each wafer within each lot
by(lot_id,wafer)
);
current report()["Summary Statistics", Table Box( 1 )] << Make Combined Data Table;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
@txnelson This works. Thanks. I would like to add Cpk and Ppk by (lot_id, wafer) into the combined data table. How to update your JSL to achieve this?
(looking at the auto generated JSL for this, it seems that the Outline Box needs to selected for Cpk and Ppk)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: How to get Skewness and Kurtosis for grouped columns and plot vs another column data?
You are correct, all that has to be done, is to add a << Make Combined Data Table statement just like the one used to create the data table for the Summary Statistics, but point it at the Within Sigma Capability report table or at the Overall Sigma Capability table.
Current Report()["Within Sigma Capability", Table Box( 1 )] << Make Combined Data Table;
This of course assumes the script also has been modified to display the Process Capability reports.
Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cnames = dt << get column names( string, continuous );
// for simplicity, only use 5 of the columns
remove from(cnames,6,nitems(cnames));
//col_names = dt << get column group ("Processes");
cnames = cnames[1::N Items (cnames)];
// Use the invisible element to hide output.
dist = dt << Distribution(invisible,
Columns(evalList(cnames)),
Summary Statistics(1),
Customize Summary Statistics(
Std Err Mean(0),
Upper Mean Confidence Interval(0),
Lower Mean Confidence Interval(0),
N(0),
Skewness(1),
Kurtosis(1),
CV(1),
Minimum(1),
Maximum(1),
Median(1)
),
Process Capability( Use Column Property Specs ),
// Add a By group to get results for each wafer within each lot
by(lot_id,wafer)
);
current report()["Summary Statistics", Table Box( 1 )] << Make Combined Data Table;
Current Report()["Within Sigma Capability", Table Box( 1 )] << Make Combined Data Table;