turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- Discussions
- :
- How can I calculate yields and add to a summary table?

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 4, 2016 10:44 AM
(4935 views)

Hi all,

I have a set of data for a set of devices I have tested. There are several parameters that each device needs to pass in order to pass overall. For example, in one column I have the threshold voltage for each device recorded and in the column beside it, it will either say "Pass" or "Fail". How can I calculate the percentage of devices that passed, and add it to a summary table. I have also created a summary table with the mean, min, max, etc for each parameter, and it would be great to have the yield in that table, too.

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 5, 2016 11:37 AM
(8135 views)

Natalie,

Attached is a script that takes you from your primary data table structure all the way through to an output table with most of what you want. You may want to take the final tabulation table and put it into a Table Box to clean it up a bit, but I think you will see what I am attempting to do.

Jim

8 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 4, 2016 11:40 AM
(4429 views)

Natalie,

Assuming you want to know the final yield, the method that I have used, is to set a new column to equal either a 1 or 0 based upon finding all passing, or finding at least one fail. The formula I use is to find the minimum of the boulian comparisons. For an example, if you have columns A, B, and C that have either a "Pass" or "Fail" value, I put the following formula into the new column called "Yield"

Min(:A=="Pass",:B=="Pass",:C=="Pass")

If all tests pass, the Min will be a 1, if not it will be a 0.

Then I simply do a Tables==>Summary and ask for %Total. and then delete the row for the "Fails" and then join with your summary table.

If you need the Yield for each parameter, then I would use an Analyze==>Tabulate, with the parameters down the rows, and the Pass and Fail as the columns. You can then Make into Data Table, and delete the "Fail" Column, and join this with your summary table.

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 5, 2016 7:29 AM
(4429 views)

Hi Jim,

Thanks for replying. I am not sure I am following you, though. I am able to make one yield column for each parameter.

dtSummary << New Column("Yield_Vth", Numeric,Formula(Min(:Pass_Vth=="Pass"))); It puts a 0 or 1 in each row under the Yield_Vth column. When I calculate % of Total, it just says 100% which isn't correct because not all of the rows have a 1.

The table I am really looking for looks something like this, and I am not sure if it is totally possible:

Mean Min Max STDEV % Yield

p1

p2

p3

p4

All (blank) (blank) (blank) (blank) TotalYield

Can you please explain what you did again? I am getting more familiar with JSL, but I haven't been using the tables too much yet.

Thanks!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 5, 2016 10:50 AM
(4429 views)

Natalie,

Maybe the attached file can help you. Let me know if you have any questions. From the attached table, you can do a table summary and sum the occurrences of a '1' in the Overall Pass Column then divide by total number of rows to calculate the overall rate.

Dave

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 5, 2016 11:37 AM
(8136 views)

Natalie,

Attached is a script that takes you from your primary data table structure all the way through to an output table with most of what you want. You may want to take the final tabulation table and put it into a Table Box to clean it up a bit, but I think you will see what I am attempting to do.

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Feb 12, 2016 11:08 AM
(4429 views)

Thanks Jim for the example with JSL! Still need to learn more about tables I guess, but I got it running.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 8, 2016 9:34 AM
(4429 views)

Hi again Jim,

I have been using this method a lot for calculating yields. What one of my colleagues pointed out to me is that it says 0 and 1 above and not Fail and Pass. How can I go about changing this?

Below is my code that makes the table. Is there an easy easy way to change the label?

table2=expr(dtSummary << Tabulate(

Show Control Panel( 0 ),

Add Table(

Column Table( Category Table, Statistics( Name( "% of Total" ) ) ),

Row Table( Columns by Categories( :OnId Yield, :OffId Yield, :Diff Yield, :Id0s Yield, :Id1s Yield, :OffId0s Yield, :OffId1s Yield, :Overall Yield ) )

)

));

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 9, 2016 6:43 AM
(4429 views)

I suspect the solution is to set the Value Label column property for the columns so that 1=Pass and 0=Fail

If that is't the answer, could you provide a sample of your data table, and I will take a look

Jim

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 20, 2016 7:41 AM
(4429 views)

Thank you, got it to work!