cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
%3CLINGO-SUB%20id%3D%22lingo-sub-797873%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%80%BC%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797873%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E7%9A%84%E7%A4%BA%E4%BE%8B%E8%84%9A%E6%9C%AC%E4%BB%A5%E6%88%91%E9%9C%80%E8%A6%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E4%B8%BA%E6%88%91%E6%8F%90%E4%BE%9B%E4%BA%86%205%20%E9%A1%B9%E6%91%98%E8%A6%81%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E6%88%91%E8%BF%98%E6%83%B3%E5%9C%A8%E6%9C%80%E7%BB%88%E7%9A%84%E2%80%9C%E6%91%98%E8%A6%81%E2%80%9D%E6%95%B0%E6%8D%AE%E8%A1%A8%E4%B8%AD%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E6%AF%8F%E4%B8%AA%E5%8F%82%E6%95%B0%EF%BC%88%E5%88%86%E6%9E%90%E5%88%97%E4%B8%8B%EF%BC%89%E7%9A%84%E8%A7%84%E6%A0%BC%E9%99%90%E5%80%BC%EF%BC%88LSL%20%E5%92%8C%20USL%EF%BC%89%EF%BC%9F%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20JSL%20%E8%8E%B7%E5%8F%96%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E4%BD%BF%E7%94%A8%20Tabulate%20()%EF%BC%8C%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%A6%E4%B8%80%E7%A7%8D%2F%E6%9B%B4%E5%A5%BD%E7%9A%84%E6%96%B9%E6%B3%95%E6%9D%A5%E5%81%9A%E6%88%91%E9%9C%80%E8%A6%81%E7%9A%84%E4%BA%8B%E6%83%85%EF%BC%9F%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0AClear%20Log()%3B%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22%20)%3B%0Acol_names%20%3D%20dt%20%26lt%3B%26lt%3B%20Get%20Column%20Group(%20%22Processes%22%20)%3B%0A%0A(dt%20%26lt%3B%26lt%3B%20Tabulate(%0A%09Show%20Control%20Panel(%200%20)%2C%0A%09Add%20Table(%0A%09%09Column%20Table(%20Statistics(%20Min%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Mean%2C%20Median%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Max%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Std%20Dev%20)%20)%2C%0A%09%09Row%20Table(%0A%09%09%09Grouping%20Columns(%20%3Alot_id%2C%20%3Awafer%2C%20%3AWafer%20ID%20in%20lot%20ID%20)%2C%0A%09%09%09Analysis%20Columns(%0A%09%09%09%09Eval(%20col_names%20)%0A%0A%09%09%09)%0A%09%09)%0A%09)%0A))%20%26lt%3B%26lt%3B%20Make%20Into%20Data%20Table%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-797873%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8A%A8%E5%8C%96%E5%92%8C%E8%84%9A%E6%9C%AC%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E8%A7%86%E7%AA%97%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-797890%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-797890%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E7%AE%A1%E7%90%86%E9%99%90%E5%88%B6%E7%B3%BB%E7%BB%9F%E6%9D%A5%E5%81%9A%E6%82%A8%E6%83%B3%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0AClear%20Log()%3B%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22%20)%3B%0Acol_names%20%3D%20dt%20%26lt%3B%26lt%3B%20Get%20Column%20Group(%20%22Processes%22%20)%3B%0A%0A(tab%20%3D%20dt%20%26lt%3B%26lt%3B%20Tabulate(%0A%09Show%20Control%20Panel(%200%20)%2C%0A%09Add%20Table(%0A%09%09Column%20Table(%20Statistics(%20Min%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Mean%2C%20Median%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Max%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Std%20Dev%20)%20)%2C%0A%09%09Row%20Table(%0A%09%09%09Grouping%20Columns(%20%3Alot_id%2C%20%3Awafer%2C%20%3AWafer%20ID%20in%20lot%20ID%20)%2C%0A%09%09%09Analysis%20Columns(%0A%09%09%09%09Eval(%20col_names%20)%0A%0A%09%09%09)%0A%09%09)%0A%09)%0A))%20%26lt%3B%26lt%3B%20Make%20Into%20Data%20Table%3B%0AdtTab%20%3D%20current%20data%20table()%3B%0Atab%20%26lt%3B%26lt%3B%20close%20window%3B%0A%0AprocCols%20%3D%20Associative%20Array(dtTab%3AAnalysis%20Columns%20%26lt%3B%26lt%3B%20get%20values)%20%26lt%3B%26lt%3B%20get%20keys%3B%0Aobj%20%3D%20dt%20%26lt%3B%26lt%3B%20Manage%20Limits(%0A%09Process%20Variables%20(%20eval(procCols)%20)%0A)%3B%0Aobj%20%26lt%3B%26lt%3B%20Save%20to%20Tall%20Limits%20Table%3B%0AdtLimits%20%3D%20current%20data%20table()%3B%0Aobj%20%26lt%3B%26lt%3B%20close%20window%3B%0Atry(%20window(%22Consistency%20Problem%22)%20%26lt%3B%26lt%3B%20close%20window%20)%3B%0A%0AdtTab%20%26lt%3B%26lt%3B%20Update(%0A%09with(%20dtLimits%20)%2C%0A%09Match%20Columns(%20%3AAnalysis%20Columns%20%3D%20%3AVariable%20)%2C%0A%09Add%20Columns%20from%20Update%20Table(%20%3ALSL%2C%20%3ATarget%2C%20%3AUSL)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1726066776333.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F68138i9AC90A69B4B797A4%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22txnelson_0-1726066776333.png%22%20alt%3D%22txnelson_0-1726066776333.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-798231%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-798231%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F2687%22%20target%3D%22_blank%22%3E%40txnelson%3C%2FA%3E%E8%B0%A2%E8%B0%A2%E3%80%82%E6%88%91%E7%9A%84%20JMP%2016.2%20%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20287px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20287px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20287px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20287px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726142696152.png%22%20style%3D%22width%3A%20287px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F68174i912F2CC509C04C4B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Neo_0-1726142696152.png%22%20alt%3D%22Neo_0-1726142696152.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-798333%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-798333%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E4%BD%BF%E7%94%A8%E5%8F%98%E9%87%8F%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BE%9D%E8%B5%96%E5%BD%93%E5%89%8D%E6%95%B0%E6%8D%AE%E8%A1%A8%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E8%B6%B3%E5%A4%9F%E4%BA%86%E3%80%82%E8%87%B3%E5%B0%91%E5%9C%A8%20JMP17.2%20%E4%B8%AD%EF%BC%8C%E5%88%B6%E8%A1%A8%20%26lt%3B%26lt%3B%20%E5%88%B6%E4%BD%9C%E6%88%90%E6%95%B0%E6%8D%AE%E8%A1%A8%E5%92%8C%20%26lt%3B%26lt%3B%20%E4%BF%9D%E5%AD%98%E9%AB%98%E9%99%90%E8%A1%A8%E9%83%BD%E4%BC%9A%E8%BF%94%E5%9B%9E%E5%AF%B9%E8%A1%A8%E7%9A%84%E5%BC%95%E7%94%A8%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0AClear%20Log()%3B%0Adt%20%3D%20Open(%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22)%3B%0Acol_names%20%3D%20dt%20%26lt%3B%26lt%3B%20Get%20Column%20Group(%22Processes%22)%3B%0A%0Atab%20%3D%20dt%20%26lt%3B%26lt%3B%20Tabulate(%0A%09Show%20Control%20Panel(0)%2C%0A%09Add%20Table(%0A%09%09Column%20Table(Statistics(Min))%2C%0A%09%09Column%20Table(Statistics(Mean%2C%20Median))%2C%0A%09%09Column%20Table(Statistics(Max))%2C%0A%09%09Column%20Table(Statistics(Std%20Dev))%2C%0A%09%09Row%20Table(%0A%09%09%09Grouping%20Columns(%3Alot_id%2C%20%3Awafer%2C%20%3AWafer%20ID%20in%20lot%20ID)%2C%0A%09%09%09Analysis%20Columns(%0A%09%09%09%09Eval(col_names)%0A%0A%09%09%09)%0A%09%09)%0A%09)%0A)%3B%0A%0Adttab%20%3D%20tab%20%26lt%3B%26lt%3B%20Make%20Into%20Data%20Table%3B%0Atab%20%26lt%3B%26lt%3B%20close%20window%3B%0A%0AprocCols%20%3D%20Associative%20Array(dtTab%3AAnalysis%20Columns%20%26lt%3B%26lt%3B%20get%20values)%20%26lt%3B%26lt%3B%20get%20keys%3B%0Aobj%20%3D%20dt%20%26lt%3B%26lt%3B%20Manage%20Limits(Process%20Variables(Eval(procCols)))%3B%0Adtlimits%20%3D%20obj%20%26lt%3B%26lt%3B%20Save%20to%20Tall%20Limits%20Table%3B%0Aobj%20%26lt%3B%26lt%3B%20close%20window%3B%0ATry(Window(%22Consistency%20Problem%22)%20%26lt%3B%26lt%3B%20close%20window)%3B%0A%0AdtTab%20%26lt%3B%26lt%3B%20Update(%0A%09with(dtLimits)%2C%0A%09Match%20Columns(%3AAnalysis%20Columns%20%3D%20%3AVariable)%2C%0A%09Add%20Columns%20from%20Update%20Table(%3ALSL%2C%20%3ATarget%2C%20%3AUSL)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-798516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-798516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F14366%22%20target%3D%22_blank%22%3E%40jthi%3C%2FA%3E%E5%9C%A8%20JMP%2016.2%20%E4%B8%8A%E5%87%BA%E7%8E%B0%E6%AD%A4%E9%94%99%E8%AF%AF%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EObject%20'Data%20Table'%20does%20not%20recognize%20the%20message%20'Manage%20Limits'%3B%20%3CBR%20%2F%3Eperhaps%20you%20mean%20one%20of%20these%3A%20%20%26lt%3B%3CMANAGE%20spec%3D%22%22%20limits%3D%22%22%3E%26lt%3B%3CITEM%20analysis%3D%22%22%3E%26lt%3B%3CFACTOR%3E%26lt%3B%3CCOMBINE%20columns...%3D%22%22%3E%26lt%3B%3CMAKE%20indicator%3D%22%22%3E%26lt%3B%3CNEW%3E%26lt%3B%3CPASTE%20columns%3D%22%22%3E%26lt%3B%3CMARKERS%3E%26lt%3B%3CSELECT%20matching%3D%22%22%20cells%3D%22%22%3E%26lt%3B%3CGET%20rows%3D%22%22%3E%26lt%3B%3CMAXIMIZE%20display%3D%22%22%3E%26lt%3B%3CMOVE%20scripts%3D%22%22%3E%26lt%3B%3CRENAME%20table%3D%22%22%20script%3D%22%22%3E%26lt%3B%3CMATCHED%20pairs%3D%22%22%3E%26lt%3B%3CMULTIVARIATE%3E%26lt%3B%3CNORMAL%20mixtures%3D%22%22%3E%26lt%3B%3CCAPABILITY%3E%26lt%3B%3CPARALLEL%20plot.%3D%22%22%20there%3D%22%22%20is%3D%22%22%20no%3D%22%22%20other%3D%22%22%20opened%3D%22%22%20data%3D%22https%3A%2F%2Fcommunity.jmp.com%2F%22%20to%3D%22%22%20update%3D%22%22%20the%3D%22%22%20current%3D%22%22%20table.%3D%22%22%20empty%3D%22%22%3E%3C%2FPARALLEL%3E%3C%2FCAPABILITY%3E%3C%2FNORMAL%3E%3C%2FMULTIVARIATE%3E%3C%2FMATCHED%3E%3C%2FRENAME%3E%3C%2FMOVE%3E%3C%2FMAXIMIZE%3E%3C%2FGET%3E%3C%2FSELECT%3E%3C%2FMARKERS%3E%3C%2FPASTE%3E%3C%2FNEW%3E%3C%2FMAKE%3E%3C%2FCOMBINE%3E%3C%2FFACTOR%3E%3C%2FITEM%3E%3C%2FMANAGE%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%3CCODE%20class%3D%22%20language-jsl%22%3EChanging%20Manage%20Limits%20()%20to%20Manage%20Spec%20Limits%20()%20gives%20me%20another%20error.%20%3C%2FCODE%3E%3C%2FP%3E%3CP%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Neo_0-1726217735617.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726217735617.png%22%20style%3D%22width%3A%20385px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726217735617.png%22%20style%3D%22width%3A%20385px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Neo_0-1726217735617.png%22%20style%3D%22width%3A%20385px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F68217i191CDFCAD2681B08%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Neo_0-1726217735617.png%22%20alt%3D%22Neo_0-1726217735617.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FP%3E%3CP%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%20%3C%2FCODE%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-798523%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-798523%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B9%9F%E8%AE%B8%E8%BF%99%E5%9C%A8%20JMP16.2%20%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E3%80%82%E6%82%A8%E5%BF%85%E9%A1%BB%E5%AF%B9%E8%A1%A8%E6%89%A7%E8%A1%8C%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E6%A3%80%E6%9F%A5%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E6%B2%A1%E8%AE%B0%E9%94%99%E7%9A%84%E8%AF%9D%EF%BC%8CGet%20Data%20Table%20List()%20%E6%98%AF%E4%B8%80%E4%B8%AA%E7%9B%B8%E5%BD%93%E5%BC%BA%E5%A4%A7%E7%9A%84%E9%80%89%E9%A1%B9%EF%BC%8C%E6%9C%80%E6%96%B0%E7%9A%84%E8%A1%A8%E6%80%BB%E6%98%AF%E7%AC%AC%E4%B8%80%E4%B8%AA%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-798615%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%205%20%E7%82%B9%E6%B1%87%E6%80%BB%E8%A1%A8%E4%B8%AD%E7%9A%84%E5%8D%95%E7%8B%AC%E5%88%97%E4%B8%AD%E8%8E%B7%E5%8F%96%E8%A7%84%E6%A0%BC%E9%99%90%E5%88%B6%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-798615%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E4%BF%AE%E6%94%B9%E4%BA%86%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%88%A0%E9%99%A4%E4%BA%86%E2%80%9C%E7%AE%A1%E7%90%86%E9%99%90%E5%88%B6%E2%80%9D%E9%83%A8%E5%88%86%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E6%94%B9%E4%B8%BA%E4%B8%80%E6%AE%B5%E7%AE%80%E5%8D%95%E7%9A%84%20JSL%EF%BC%8C%E9%80%9A%E8%BF%87%E4%BB%8E%E5%8E%9F%E5%A7%8B%E8%A1%A8%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%99%90%E5%88%B6%E6%9D%A5%E5%88%9B%E5%BB%BA%E9%99%90%E5%88%B6%E8%A1%A8%E3%80%82%E7%9C%8B%E7%9C%8B%E8%BF%99%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0AClear%20Log()%3B%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22%20)%3B%0Acol_names%20%3D%20dt%20%26lt%3B%26lt%3B%20Get%20Column%20Group(%20%22Processes%22%20)%3B%0A%0A(tab%20%3D%20dt%20%26lt%3B%26lt%3B%20Tabulate(%0A%09Show%20Control%20Panel(%200%20)%2C%0A%09Add%20Table(%0A%09%09Column%20Table(%20Statistics(%20Min%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Mean%2C%20Median%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Max%20)%20)%2C%0A%09%09Column%20Table(%20Statistics(%20Std%20Dev%20)%20)%2C%0A%09%09Row%20Table(%0A%09%09%09Grouping%20Columns(%20%3Alot_id%2C%20%3Awafer%2C%20%3AWafer%20ID%20in%20lot%20ID%20)%2C%0A%09%09%09Analysis%20Columns(%0A%09%09%09%09Eval(%20col_names%20)%0A%0A%09%09%09)%0A%09%09)%0A%09)%0A))%20%26lt%3B%26lt%3B%20Make%20Into%20Data%20Table%3B%0AdtTab%20%3D%20current%20data%20table()%3B%0Atab%20%26lt%3B%26lt%3B%20close%20window%3B%0A%0AprocCols%20%3D%20Associative%20Array(dtTab%3AAnalysis%20Columns%20%26lt%3B%26lt%3B%20get%20values)%20%26lt%3B%26lt%3B%20get%20keys%3B%0A%2F%2F%20Create%20a%20limits%20table%0AdtLimits%20%3D%20new%20table(%22Limits%22%2C%0A%09new%20column(%22Variable%22%2C%20character)%2C%0A%09new%20column(%22LSL%22)%2C%0A%09New%20column(%22Target%22)%2C%0A%09New%20column(%22USL%22)%0A)%3B%0A%0AFor%20Each(%7Bcol%7D%2C%20procCols%2C%0A%09specs%20%3D%20column(dt%2C%20col)%20%26lt%3B%26lt%3B%20get%20property(%22Spec%20Limits%22)%3B%0A%09if(isList(specs)%2C%0A%09%09dtLimits%20%26lt%3B%26lt%3B%20add%20rows(1)%3B%0A%09%09dtLimits%3AVariable%5Bnrows(dtLimits)%5D%20%3D%20col%3B%0A%09%09dtLimits%3ALSL%5Bnrows(dtLimits)%5D%20%3D%20specs%5B%22LSL%22%5D%3B%0A%09%09dtLimits%3ATarget%5Bnrows(dtLimits)%5D%20%3D%20specs%5B%22Target%22%5D%3B%0A%09%09dtLimits%3AUSL%5Bnrows(dtLimits)%5D%20%3D%20specs%5B%22USL%22%5D%3B%0A%09)%0A)%3B%0A%0AdtTab%20%26lt%3B%26lt%3B%20Update(%0A%09with(%20dtLimits%20)%2C%0A%09Match%20Columns(%20%3AAnalysis%20Columns%20%3D%20%3AVariable%20)%2C%0A%09Add%20Columns%20from%20Update%20Table(%20%3ALSL%2C%20%3ATarget%2C%20%3AUSL)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
Neo
Neo
Level VI

How to get spec limits in separate columns in 5 point summary table?

The example script below gets me the 5 number summary in the format I need. However, I would also like to get the spec limits for each parameter (under Analysis Columns) , LSL and USL, in two separate columns in the final "Summary" data table? How to get this via JSL?

Also, is a another/better way to do what I am need without using Tabulate ()?

Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );

(dt << Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) << Make Into Data Table;

 

When it's too good to be true, it's neither
6 REPLIES 6
txnelson
Super User

Re: How to get spec limits in separate columns in 5 point summary table?

You can use the Manage Limits system to do what you want

Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );

(tab = dt << Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;

procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(
	Process Variables ( eval(procCols) )
);
obj << Save to Tall Limits Table;
dtLimits = current data table();
obj << close window;
try( window("Consistency Problem") << close window );

dtTab << Update(
	with( dtLimits ),
	Match Columns( :Analysis Columns = :Variable ),
	Add Columns from Update Table( :LSL, :Target, :USL)
);

txnelson_0-1726066776333.png

 

Jim
Neo
Neo
Level VI

Re: How to get spec limits in separate columns in 5 point summary table?

@txnelson Thanks. I get an error  in my JMP 16.2

Neo_0-1726142696152.png

 

When it's too good to be true, it's neither
jthi
Super User

Re: How to get spec limits in separate columns in 5 point summary table?

Might be enough if you use variables instead of relying on current data table. At least in JMP17.2 both tabulate << make into data table and << save tall limits table return reference to the table

Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");

tab = dt << Tabulate(
	Show Control Panel(0),
	Add Table(
		Column Table(Statistics(Min)),
		Column Table(Statistics(Mean, Median)),
		Column Table(Statistics(Max)),
		Column Table(Statistics(Std Dev)),
		Row Table(
			Grouping Columns(:lot_id, :wafer, :Wafer ID in lot ID),
			Analysis Columns(
				Eval(col_names)

			)
		)
	)
);

dttab = tab << Make Into Data Table;
tab << close window;

procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
obj = dt << Manage Limits(Process Variables(Eval(procCols)));
dtlimits = obj << Save to Tall Limits Table;
obj << close window;
Try(Window("Consistency Problem") << close window);

dtTab << Update(
	with(dtLimits),
	Match Columns(:Analysis Columns = :Variable),
	Add Columns from Update Table(:LSL, :Target, :USL)
);
-Jarmo
Neo
Neo
Level VI

Re: How to get spec limits in separate columns in 5 point summary table?

@jthi Get this error on JMP 16.2

Object 'Data Table' does not recognize the message 'Manage Limits'; 
perhaps you mean one of these: <<Manage Spec Limits <<Item Analysis <<Factor Analysis <<Combine Columns... <<Make Indicator Columns... <<New Columns... <<Paste Columns <<Markers <<Select Matching Cells <<Get Rows <<Maximize Display <<Move Scripts <<Rename Table Script <<Matched Pairs <<Multivariate <<Normal Mixtures <<Capability <<Parallel Plot. There is no other opened data table to update the current data table. Empty()

Changing Manage Limits () to Manage Spec Limits () gives me another error. 

Neo_0-1726217735617.png

 

When it's too good to be true, it's neither
jthi
Super User

Re: How to get spec limits in separate columns in 5 point summary table?

Maybe this doesn't work in JMP16.2. You have to perform different types of checks for the tables. If I remember correctly Get Data Table List() is fairly robust option and the latest table is always first

-Jarmo
txnelson
Super User

Re: How to get spec limits in separate columns in 5 point summary table?

I changed the code to eliminate the Manage Limits section and to change it to a simple piece of JSL that creates a limit table by reading the limits from the original table.  See if this works

Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt << Get Column Group( "Processes" );

(tab = dt << Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) << Make Into Data Table;
dtTab = current data table();
tab << close window;

procCols = Associative Array(dtTab:Analysis Columns << get values) << get keys;
// Create a limits table
dtLimits = new table("Limits",
	new column("Variable", character),
	new column("LSL"),
	New column("Target"),
	New column("USL")
);

For Each({col}, procCols,
	specs = column(dt, col) << get property("Spec Limits");
	if(isList(specs),
		dtLimits << add rows(1);
		dtLimits:Variable[nrows(dtLimits)] = col;
		dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
		dtLimits:Target[nrows(dtLimits)] = specs["Target"];
		dtLimits:USL[nrows(dtLimits)] = specs["USL"];
	)
);

dtTab << Update(
	with( dtLimits ),
	Match Columns( :Analysis Columns = :Variable ),
	Add Columns from Update Table( :LSL, :Target, :USL)
);
Jim