Subscribe Bookmark RSS Feed

How can I calculate yields and add to a summary table?

natalie_

Community Trekker

Joined:

Jan 6, 2016

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
Solution

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
txnelson

Super User

Joined:

Jun 22, 2012

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.

10911_tabulate.jpg

Jim
natalie_

Community Trekker

Joined:

Jan 6, 2016

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!

DaveLee

Community Trekker

Joined:

Jun 11, 2014

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

Solution

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
natalie_

Community Trekker

Joined:

Jan 6, 2016

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

natalie_

Community Trekker

Joined:

Jan 6, 2016

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  ) )

  )

  ));

txnelson

Super User

Joined:

Jun 22, 2012

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
natalie_

Community Trekker

Joined:

Jan 6, 2016

Thank you, got it to work!