cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-749264%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%88%97%E4%B8%AD%E5%BD%A9%E8%89%B2%E5%84%B2%E5%AD%98%E6%A0%BC%E7%9A%84%E8%A1%8C%E8%99%9F%E4%B8%A6%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E4%B8%AD%E7%82%BA%E5%85%B6%E6%8C%87%E6%B4%BE%E6%A8%99%E7%B1%A4%EF%BC%88%E4%BE%8B%E5%A6%82%E3%80%8C1%E3%80%8D%EF%BC%89%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-749264%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%20Color%20Out%20of%20Spec%20Values()%20%E4%BE%86%E8%99%95%E7%90%86%E6%B8%AC%E9%87%8F%E8%B3%87%E6%96%99%E4%B8%AD%E9%A1%8F%E8%89%B2%E8%A6%8F%E6%A0%BC%E5%A4%B1%E6%95%97%E7%9A%84%E6%83%85%E6%B3%81%E3%80%82%E6%88%91%E6%9C%89%E5%A4%9A%E5%80%8B%E5%8C%85%E5%90%AB%E6%B8%AC%E9%87%8F%E6%95%B8%E6%93%9A%E7%9A%84%E5%88%97%EF%BC%8C%E4%B8%A6%E4%B8%94%E6%AF%8F%E5%88%97%E7%9A%84%E8%B6%85%E5%87%BA%E8%A6%8F%E6%A0%BC%E5%80%BC%E6%A0%B9%E6%93%9A%E6%AF%8F%E5%80%8B%E5%8F%83%E6%95%B8%E5%88%97%E7%9A%84%E8%A6%8F%E6%A0%BC%E9%80%B2%E8%A1%8C%E8%91%97%E8%89%B2%E3%80%82%3C%2FP%3E%3CP%3E%E5%B0%8D%E6%96%BC%E6%AF%8F%E5%80%8B%E5%8F%83%E6%95%B8%E5%88%97%EF%BC%8C%E6%88%91%E6%83%B3%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B%E7%9B%B8%E9%84%B0%E5%88%97%EF%BC%8C%E7%95%B6%E5%84%B2%E5%AD%98%E6%A0%BC%E9%A1%8F%E8%89%B2%E7%82%BA%E3%80%8C0%E3%80%8D%E6%99%82%EF%BC%8C%E8%A9%B2%E5%88%97%E6%9C%83%E6%8C%87%E6%B4%BE%E3%80%8C1%E3%80%8D%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E4%BD%95%E9%80%8F%E9%81%8E%20JSL%20%E5%AF%A6%E7%8F%BE%E9%80%99%E4%B8%80%E9%BB%9E%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-749264%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8B%95%E5%8C%96%E5%92%8C%E8%85%B3%E6%9C%AC%E7%B7%A8%E5%AF%AB%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E8%A6%96%E7%AA%97%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-774481%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%88%97%E4%B8%AD%E5%BD%A9%E8%89%B2%E5%84%B2%E5%AD%98%E6%A0%BC%E7%9A%84%E8%A1%8C%E8%99%9F%E4%B8%A6%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E4%B8%AD%E7%82%BA%E5%85%B6%E6%8C%87%E6%B4%BE%E6%A8%99%E7%B1%A4%EF%BC%88%E4%BE%8B%E5%A6%82%E3%80%8C1%E3%80%8D%EF%BC%89%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-774481%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%93%87%EF%BC%8C%E5%A5%BD%E4%B8%BB%E6%84%8F%20-%20%E9%80%9A%E9%81%8E%E5%B0%88%E6%AC%84%E8%85%B3%E6%9C%AC%EF%BC%81%3CBR%20%2F%3E%3CBR%20%2F%3E%20JMP%20%E7%9A%84%E9%85%B7%E7%82%AB%E4%B9%8B%E8%99%95%EF%BC%9A%3CBR%20%2F%3E%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95%3A)%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EJMP%20%E4%B8%AD%E4%B8%8D%E5%A4%AA%E9%85%B7%E7%9A%84%E4%BA%8B%E6%83%85%EF%BC%9A%3CBR%20%2F%3E%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95%E7%9A%84%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95%E3%80%82%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3E%E8%8B%A5%E8%A6%81%E4%B8%8D%E7%B9%9E%E9%81%93%E9%80%8F%E9%81%8E%20Color%20%E7%9B%B4%E6%8E%A5%E5%8F%96%E5%BE%97%E8%B6%85%E5%87%BA%E8%A6%8F%E6%A0%BC%E7%9A%84%E6%95%B8%E5%80%BC%EF%BC%8C%E8%AB%8B%E6%8A%95%E7%A5%A8%EF%BC%9A%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Wish-List%2Fis-in-spec-value%2Fm-p%2F774331%23U774331%22%20class%3D%22lia-mention-container-editor-message%20lia-img-icon-idea-thread%20lia-fa-icon%20lia-fa-idea%20lia-fa-thread%20lia-fa%22%20target%3D%22_blank%22%3E%3CLI-EMOJI%20id%3D%22lia_folded-hands%22%20title%3D%22%3Amanos_unidas_para_la_oraci%C3%B3n%3A%22%3E%3C%2FLI-EMOJI%3E%20%E7%AC%A6%E5%90%88%E8%A6%8F%E6%A0%BC%EF%BC%88%E5%80%BC%EF%BC%89%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-750091%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%88%97%E4%B8%AD%E5%BD%A9%E8%89%B2%E5%84%B2%E5%AD%98%E6%A0%BC%E7%9A%84%E8%A1%8C%E8%99%9F%E4%B8%A6%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E4%B8%AD%E7%82%BA%E5%85%B6%E6%8C%87%E6%B4%BE%E6%A8%99%E7%B1%A4%EF%BC%88%E4%BE%8B%E5%A6%82%E3%80%8C1%E3%80%8D%EF%BC%89%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-750091%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%8D%E8%A6%81%E4%BD%BF%E7%94%A8%20For%20%E5%BE%AA%E7%92%B0%E4%B8%A6%E4%BD%BF%E7%94%A8%20%26lt%3B%26lt%3B%20move%20selected%20columns%20%E5%B0%87%E5%88%97%E7%A7%BB%E5%88%B0%E6%8C%87%E5%AE%9A%E5%88%97%E4%B9%8B%E5%BE%8C%3C%2FP%3E%0A%3CDIV%20class%3D%22lia-spoiler-container%22%3E%3CA%20class%3D%22lia-spoiler-link%22%20href%3D%22%23%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3E%E7%9C%8B%E6%9B%B4%E5%A4%9A...%3C%2FA%3E%3CNOSCRIPT%3E%EF%BC%88%E7%AA%81%E5%87%BA%E9%A1%AF%E7%A4%BA%E9%96%B1%E8%AE%80%EF%BC%89%3C%2FNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-border%22%3E%3CDIV%20class%3D%22lia-spoiler-content%22%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Aget_colored_cells%20%3D%20Function(%7Bdt%2C%20colname%7D%2C%20%7BDefault%20Local%7D%2C%0A%09colscript%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20Get%20Script%3B%0A%09l%20%3D%20Substitute(Name%20Expr(colscript)%2C%20Expr(New%20Column())%2C%20List())%3B%0A%09colored_cells%20%3D%20%7B%7D%3B%0A%09Try(%0A%09%09colors%20%3D%20l%5B%22Color%20Cells%22%5D%3B%0A%09%09If(Type(colors%5B1%5D)%20%3D%3D%20%22List%22%2C%0A%09%09%09jmptrickery%20%3D%201%2C%0A%09%09%09jmptrickery%20%3D%200%0A%09%09)%3B%0A%09%09For%20Each(%7Bcolor%7D%2C%20colors%2C%0A%09%09%09If(jmptrickery%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color%5B2%5D)%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color)%0A%09%09%09)%0A%09%09)%3B%0A%09)%3B%0A%09Return(Matrix(colored_cells))%3B%0A)%3B%0A%0Acreate_failed_column_after%20%3D%20function(%7Bdt%2C%20colname%7D%2C%20%7BDefault%20Local%7D%2C%0A%09curname%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20get%20name%3B%0A%0A%09failed_rows%20%3D%20get_colored_cells(dt%2C%20colname)%3B%0A%09row_vals%20%3D%20J(1%2C%20N%20Rows(dt)%2C%200)%3B%0A%09row_vals%5Bfailed_rows%5D%20%3D%201%3B%0A%09%0A%09new_col%20%3D%20dt%20%26lt%3B%26lt%3B%20New%20Column((curname%20%7C%7C%20%22_FAIL%22)%2C%20Numeric%2C%20Nominal%2C%20Values(row_vals))%3B%09%0A%09dt%20%26lt%3B%26lt%3B%20Move%20Selected%20Columns(new_col%2C%20After(Column(dt%2C%20colname)))%3B%0A%09%0A%09return(new_col)%3B%0A)%3B%0A%0A%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%0Adt%20%26lt%3B%26lt%3B%20show%20window(0)%3B%0Await(0)%3B%0A%0Aps%20%3D%20dt%20%26lt%3B%26lt%3B%20Process%20Screening(%0A%09Process%20Variables(Eval(col_names))%2C%0A%09Spec%20Limits%20Dialog(%22No%20(skip%20columns%20with%20no%20spec%20limits)%22)%0A)%3B%0Aps%20%26lt%3B%26lt%3B%20Color%20Out%20Of%20Spec%20Values(1)%3B%0Aps%20%26lt%3B%26lt%3B%20Close%20Window%3B%0Adt%20%26lt%3B%26lt%3B%20Clear%20Select%20%26lt%3B%26lt%3B%20Clear%20Column%20Selection%3B%0A%0A%0AFor%20Each(%7Bcolref%7D%2C%20col_names%2C%0A%09colname%20%3D%20colref%20%26lt%3B%26lt%3B%20get%20name%3B%0A%09create_failed_column_after(dt%2C%20colname)%3B%0A)%3B%0A%0A%0Adt%20%26lt%3B%26lt%3B%20show%20window(1)%3B%0Await(0)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3C%2FDIV%3E%3CNOSCRIPT%3E%3CDIV%20class%3D%22lia-spoiler-noscript-container%22%3E%3CDIV%20class%3D%22lia-spoiler-noscript-content%22%3E%E5%90%8D%E7%A8%B1%E9%A0%90%E8%A8%AD%E7%82%BA%E6%AD%A4%E8%99%95(1)%EF%BC%9B%20get_colored_cells%20%3D%20Function(%7Bdt%2C%20colname%7D%2C%20%7B%E9%A0%90%E8%A8%AD%E6%9C%AC%E5%9C%B0%7D%2C%20colscript%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20%E5%8F%96%E5%BE%97%E8%85%B3%E6%9C%AC%3B%20l%20%3D%20Substitute(Name%20Expr(colscript)%2C%20Expr(New%20Column())%2C%20List())%20%3B%20color_cells%20%3D%20%7B%7D%3B%20Try(%20%E9%A1%8F%E8%89%B2%3D%20l%5B%22%E9%A1%8F%E8%89%B2%E5%96%AE%E5%85%83%E6%A0%BC%22%5D%3B%20If(Type(colors%5B1%5D)%20%3D%3D%20%22%E5%88%97%E8%A1%A8%22%2C%20jmptricery%20%3D%201%2C%20jmptrickery%20%3D%200%20)%3B%20%E5%B0%8D%E6%96%BC%E6%AF%8F%E5%80%8B(%7Bcolor%7D%20%2C%20%E9%A1%8F%E8%89%B2%2C%20If(jmptricery%2C%20%E6%8F%92%E5%85%A5(colored_cells%2C%20color%5B2%5D)%2C%20%E6%8F%92%E5%85%A5(colored_cells%2C%20color)%20)%20)%3B%20Return(Matrix(colored_cells))%3B%20create_failed_column_after%20%3D%20function(%7Bdt%2C%20colname%7D%2C%20%7B%E9%A0%90%E8%A8%AD%E6%9C%AC%E5%9C%B0%7D%2C%20curname%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20%E5%8F%96%E5%BE%97%E5%90%8D%E7%A8%B1%3B%20failed_rows%20%3D%20get_colored_cells(dt%2C%20colname)%3B%20row_vals%20%3D%20J(1%2C%20N0%20%E8%A1%8C(dt)%2C%200%20)%3B%20row_vals%5Bfailed_rows%5D%20%3D%201%3B%20new_col%20%3D%20dt%20%26lt%3B%26lt%3B%20%E6%96%B0%E5%88%97((curname%20%7C%7C%20%22_FAIL%22)%2C%20%E6%95%B8%E5%80%BC%E3%80%81%E5%90%8D%E7%BE%A9%E3%80%81%E5%80%BC(row_vals))%3B%20dt%20%26lt%3B%26lt%3B%20%E7%A7%BB%E5%8B%95%E9%81%B8%E5%AE%9A%E5%88%97(new_col%2C%20After(Column(%20dt)%20%EF%BC%8C%E5%88%97%E5%90%8D%EF%BC%89))%3B%E8%BF%94%E5%9B%9E%EF%BC%88new_col%EF%BC%89%3B%20dt%20%3D%20Open(%22%24SAMPLE_DATA%2F%E5%8D%8A%E5%B0%8E%E9%AB%94%E8%83%BD%E5%8A%9B.jmp%22)%3B%20col_names%20%3D%20dt%20%26lt%3B%26lt%3B%20%E5%8F%96%E5%BE%97%E5%88%97%E7%B5%84(%22%E8%A1%8C%E7%A8%8B%22)%3B%20dt%20%26lt%3B%26lt%3B%20%E9%A1%AF%E7%A4%BA%E8%A6%96%E7%AA%97(0)%3B%E7%AD%89%E5%BE%85%EF%BC%880%EF%BC%89%EF%BC%9B%20ps%20%3D%20dt%20%26lt%3B%26lt%3B%20%E9%81%8E%E7%A8%8B%E7%AF%A9%E9%81%B8(%20%E9%81%8E%E7%A8%8B%E8%AE%8A%E6%95%B8(Eval(col_names))%2C%20%E8%A6%8F%E6%A0%BC%E9%99%90%E5%88%B6%E5%B0%8D%E8%A9%B1%E6%A1%86(%22%E5%90%A6%EF%BC%88%E8%B7%B3%E9%81%8E%E6%B2%92%E6%9C%89%E8%A6%8F%E6%A0%BC%E9%99%90%E5%88%B6%E7%9A%84%E6%AC%84%E4%BD%8D%EF%BC%89%22)%20)%3B%20ps%20%26lt%3B%26lt%3B%20%E9%A1%8F%E8%89%B2%E8%B6%85%E5%87%BA%E8%A6%8F%E6%A0%BC%E5%80%BC(1)%EF%BC%9B%20ps%20%26lt%3B%26lt%3B%20%E9%97%9C%E9%96%89%E8%A6%96%E7%AA%97%EF%BC%9B%20dt%20%26lt%3B%26lt%3B%20%E6%B8%85%E9%99%A4%E9%81%B8%E6%93%87%20%26lt%3B%26lt%3B%20%E6%B8%85%E9%99%A4%E5%88%97%E9%81%B8%E6%93%87%EF%BC%9B%E7%82%BA%20Each(%7Bcolref%7D%2C%20col_names%2C%20colname%20%3D%20colref%20%26lt%3B%26lt%3B%20get%20name%3B%20create_failed_column_after(dt%2C%20colname)%3B%20)%3B%20dt%20%26lt%3B%26lt%3B%20%E9%A1%AF%E7%A4%BA%E8%A6%96%E7%AA%97(1)%3B%E7%AD%89%E5%BE%85%EF%BC%880%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FNOSCRIPT%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-750090%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%88%97%E4%B8%AD%E5%BD%A9%E8%89%B2%E5%84%B2%E5%AD%98%E6%A0%BC%E7%9A%84%E8%A1%8C%E8%99%9F%E4%B8%A6%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E4%B8%AD%E7%82%BA%E5%85%B6%E6%8C%87%E6%B4%BE%E6%A8%99%E7%B1%A4%EF%BC%88%E4%BE%8B%E5%A6%82%E3%80%8C1%E3%80%8D%EF%BC%89%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-750090%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%E8%AC%9D%E8%AC%9D%E3%80%82%E6%88%91%E5%B7%B2%E7%B6%93%E8%AA%BF%E6%95%B4%E4%BA%86%E6%82%A8%E7%9A%84%E8%85%B3%E6%9C%AC%E4%BB%A5%E8%88%87%E8%88%87%E6%88%91%E7%9A%84%E5%AF%86%E5%88%87%E5%8C%B9%E9%85%8D%E7%9A%84%E6%95%B8%E6%93%9A%E9%9B%86%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%E3%80%82%E5%AE%83%E9%81%A9%E7%94%A8%E6%96%BC%E4%B8%80%E5%80%8B%E5%88%97%E5%90%8D%EF%BC%8C%E4%BD%86%E7%95%B6%E6%88%91%E5%BE%AA%E7%92%B0%E5%88%97%E5%90%8D%E6%99%82%E5%89%87%E4%B8%8D%E7%84%B6%E3%80%82%E5%8F%A6%E5%A4%96%EF%BC%8C%E5%A6%82%E4%BD%95%E5%B0%87%E6%AF%8F%E5%80%8B%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E6%94%BE%E7%BD%AE%E5%9C%A8%E5%BE%AA%E7%92%B0%E5%85%A7%E5%9F%B7%E8%A1%8C%E6%93%8D%E4%BD%9C%E7%9A%84%E5%88%97%E6%97%81%E9%82%8A%EF%BC%88%E5%8F%B3%E5%81%B4%EF%BC%89%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%0A%0Adt%20%3D%20Open(%20%22%24SAMPLE_DATA%2FSemiconductor%20Capability.jmp%22%20)%3B%0A%0Acol_names%20%3D%20dt%20%26lt%3B%26lt%3B%20Get%20Column%20Group(%20%22Processes%22%20)%3B%0A%0Aps%20%3D%20dt%20%26lt%3B%26lt%3B%20Process%20Screening(%0A%09Process%20Variables(%20Eval(%20col_names%20)%20)%2C%0A%09Spec%20Limits%20Dialog(%20%22No%20(skip%20columns%20with%20no%20spec%20limits)%22%20)%2C%0A)%3B%0A%0Aps%20%26lt%3B%26lt%3B%20Color%20Out%20Of%20Spec%20Values%20(1)%3B%0A%0At%20%3D%20ps%20%26lt%3B%26lt%3B%20Get%20Window%20Title%3B%20%2F%2FShow(%20t%20)%3B%0Aps%20%26lt%3B%26lt%3B%20Close%20Window%3B%0Adt%20%26lt%3B%26lt%3B%20Clear%20Select%20%26lt%3B%26lt%3B%20Clear%20Column%20Selection%3B%0A%0Aget_colored_cells%20%3D%20Function(%7Bdt%2C%20colname%7D%2C%20%7BDefault%20Local%7D%2C%0A%09colscript%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20Get%20Script%3B%0A%09l%20%3D%20Substitute(Name%20Expr(colscript)%2C%20Expr(New%20Column())%2C%20List())%3B%0A%09colored_cells%20%3D%20%7B%7D%3B%0A%09Try(%0A%09%09colors%20%3D%20l%5B%22Color%20Cells%22%5D%3B%0A%09%09If(Type(colors%5B1%5D)%20%3D%3D%20%22List%22%2C%0A%09%09%09jmptrickery%20%3D%201%3B%0A%09%09%2C%0A%09%09%09jmptrickery%20%3D%200%3B%0A%09%09)%3B%0A%09%09For%20Each(%7Bcolor%7D%2C%20colors%2C%0A%09%09%09If(jmptrickery%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color%5B2%5D)%3B%0A%09%09%09%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color)%3B%0A%09%09%09)%3B%0A%09%09)%3B%0A%09)%3B%0A%09return(Matrix(colored_cells))%3B%0A)%3B%0A%0AmeasColNames%20%3D%20dt%20%26lt%3B%26lt%3B%20get%20column%20names(Numeric%2CContinuous%20)%3B%20show%20(measColNames%5B1%5D)%3B%0A%0AFor(%20i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(%20measColNames)%2C%20i%2B%2B%2C%0A%09rows%20%3D%20J(%201%2C%20N%20Rows(%20dt%20)%2C%200%20)%3B%0A%09colored_rows%20%3D%20get_colored_cells(%20dt%2C%20measColNames%5Bi%5D)%3B%0A%09rows%5Bcolored_rows%5D%20%3D%201%3B%0A%09dt%20%26lt%3B%26lt%3B%20New%20Column(%20%22PassFail%22%7C%7CmeasColNames%5Bi%5D%2C%20Numeric%2C%20Nominal%2C%20Values(%20rows%20)%20)%3B%0A)%3B%0A%0A%0A%2F%2Fcolname%20%3D%20%22NPN1%22%3B%0A%2F%2F%2F%2F%2F%20for%20single%20column%0A%2F*rows%20%3D%20J(1%2C%20N%20Rows(dt)%2C%200)%3B%0Acolored_rows%20%3D%20get_colored_cells(dt%2C%20colname)%3B%0Arows%5Bcolored_rows%5D%20%3D%201%3B%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22result%22%2C%20Numeric%2C%20Nominal%2C%20Values(rows))%3B*%2F%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-749287%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E5%A6%82%E4%BD%95%E5%8F%96%E5%BE%97%E5%88%97%E4%B8%AD%E5%BD%A9%E8%89%B2%E5%84%B2%E5%AD%98%E6%A0%BC%E7%9A%84%E8%A1%8C%E8%99%9F%E4%B8%A6%E5%9C%A8%E6%96%B0%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%88%97%E4%B8%AD%E7%82%BA%E5%85%B6%E6%8C%87%E6%B4%BE%E6%A8%99%E7%B1%A4%EF%BC%88%E4%BE%8B%E5%A6%82%E3%80%8C1%E3%80%8D%EF%BC%89%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-749287%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%80%99%E8%AE%93%E6%82%A8%E4%BA%86%E8%A7%A3%E5%A6%82%E4%BD%95%E8%99%95%E7%90%86%E4%B8%80%E5%88%97%E7%9A%84%E6%83%85%E6%B3%81%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0Adt%20%3D%20Open(%22%24SAMPLE_DATA%2FBig%20Class.jmp%22)%3B%0Aa%20%3D%20%7B1%2C%203%2C%205%7D%3B%0Ab%20%3D%20%7B2%2C%204%2C%206%7D%3B%0Ac%20%3D%20%7B7%2C%208%2C%209%7D%3B%0A%0A%3Aheight%20%26lt%3B%26lt%3B%20color%20cells(%7B%7B%22Red%22%2C%20a%7D%2C%20%7B%22blue%22%2C%20b%7D%2C%20%7B%22yellow%22%2C%20c%7D%7D)%3B%0A%3Aweight%20%26lt%3B%26lt%3B%20color%20cells(%7B%7B%22Red%22%2C%20a%7D%7D)%3B%0A%3Aage%20%26lt%3B%26lt%3B%20color%20cells(%7B%7B%22Red%22%2C%20a%7D%2C%20%7B%22blue%22%2C%20b%7D%7D)%3B%0A%0A%0Aget_colored_cells%20%3D%20Function(%7Bdt%2C%20colname%7D%2C%20%7BDefault%20Local%7D%2C%0A%09colscript%20%3D%20Column(dt%2C%20colname)%20%26lt%3B%26lt%3B%20Get%20Script%3B%0A%09l%20%3D%20Substitute(Name%20Expr(colscript)%2C%20Expr(New%20Column())%2C%20List())%3B%0A%09colored_cells%20%3D%20%7B%7D%3B%0A%09Try(%0A%09%09colors%20%3D%20l%5B%22Color%20Cells%22%5D%3B%0A%09%09If(Type(colors%5B1%5D)%20%3D%3D%20%22List%22%2C%0A%09%09%09jmptrickery%20%3D%201%3B%0A%09%09%2C%0A%09%09%09jmptrickery%20%3D%200%3B%0A%09%09)%3B%0A%09%09For%20Each(%7Bcolor%7D%2C%20colors%2C%0A%09%09%09If(jmptrickery%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color%5B2%5D)%3B%0A%09%09%09%2C%0A%09%09%09%09Insert%20Into(colored_cells%2C%20color)%3B%0A%09%09%09)%3B%0A%09%09)%3B%0A%09)%3B%0A%09return(Matrix(colored_cells))%3B%0A)%3B%0A%0Acolname%20%3D%20%22age%22%3B%0A%2F%2F%20for%20single%20column%0Arows%20%3D%20J(1%2C%20N%20Rows(dt)%2C%200)%3B%0Acolored_rows%20%3D%20get_colored_cells(dt%2C%20colname)%3B%0Arows%5Bcolored_rows%5D%20%3D%201%3B%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22result%22%2C%20Numeric%2C%20Nominal%2C%20Values(rows))%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E7%84%B6%E5%BE%8C%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%BB%BA%E7%AB%8B%E9%A1%8D%E5%A4%96%E7%9A%84%E5%88%97%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%E5%BE%AA%E7%92%B0%E9%81%8D%E6%AD%B7%E5%AE%83%E5%80%91%E6%99%82%E7%82%BA%E6%AF%8F%E5%80%8B%E5%88%97%E8%91%97%E8%89%B2%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
Neo
Neo
Level VI

How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

I used Color Out of Spec Values() to color spec fails in my measurement data. I have multiple columns with measurement data and the out of spec values for each column get colored according to the spec for each parameter column.

For each parameter column I want to create an adjacent column which assigns a "1" when the cell is colored otherwise "0".

How to achieve this via JSL?

When it's too good to be true, it's neither
1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

Don't use For loop and use << move selected columns to move your columns after your specified column

View more...
Names Default To Here(1);

get_colored_cells = Function({dt, colname}, {Default Local},
	colscript = Column(dt, colname) << Get Script;
	l = Substitute(Name Expr(colscript), Expr(New Column()), List());
	colored_cells = {};
	Try(
		colors = l["Color Cells"];
		If(Type(colors[1]) == "List",
			jmptrickery = 1,
			jmptrickery = 0
		);
		For Each({color}, colors,
			If(jmptrickery,
				Insert Into(colored_cells, color[2]),
				Insert Into(colored_cells, color)
			)
		);
	);
	Return(Matrix(colored_cells));
);

create_failed_column_after = function({dt, colname}, {Default Local},
	curname = Column(dt, colname) << get name;

	failed_rows = get_colored_cells(dt, colname);
	row_vals = J(1, N Rows(dt), 0);
	row_vals[failed_rows] = 1;
	
	new_col = dt << New Column((curname || "_FAIL"), Numeric, Nominal, Values(row_vals));	
	dt << Move Selected Columns(new_col, After(Column(dt, colname)));
	
	return(new_col);
);


dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");

dt << show window(0);
wait(0);

ps = dt << Process Screening(
	Process Variables(Eval(col_names)),
	Spec Limits Dialog("No (skip columns with no spec limits)")
);
ps << Color Out Of Spec Values(1);
ps << Close Window;
dt << Clear Select << Clear Column Selection;


For Each({colref}, col_names,
	colname = colref << get name;
	create_failed_column_after(dt, colname);
);


dt << show window(1);
wait(0);
-Jarmo

View solution in original post

4 REPLIES 4
jthi
Super User

Re: How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

This gives idea how you can handle the situation for one column

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
a = {1, 3, 5};
b = {2, 4, 6};
c = {7, 8, 9};

:height << color cells({{"Red", a}, {"blue", b}, {"yellow", c}});
:weight << color cells({{"Red", a}});
:age << color cells({{"Red", a}, {"blue", b}});


get_colored_cells = Function({dt, colname}, {Default Local},
	colscript = Column(dt, colname) << Get Script;
	l = Substitute(Name Expr(colscript), Expr(New Column()), List());
	colored_cells = {};
	Try(
		colors = l["Color Cells"];
		If(Type(colors[1]) == "List",
			jmptrickery = 1;
		,
			jmptrickery = 0;
		);
		For Each({color}, colors,
			If(jmptrickery,
				Insert Into(colored_cells, color[2]);
			,
				Insert Into(colored_cells, color);
			);
		);
	);
	return(Matrix(colored_cells));
);

colname = "age";
// for single column
rows = J(1, N Rows(dt), 0);
colored_rows = get_colored_cells(dt, colname);
rows[colored_rows] = 1;
dt << New Column("result", Numeric, Nominal, Values(rows));

you can then create additional column to color each column when you loop over them

-Jarmo
Neo
Neo
Level VI

Re: How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

@jthi Thanks. I have adapted your script to use with a dataset matching closely to mine. It works fine for one column name but not when I loop over column names.  Also, how do I place each newly created column beside (on the right of) the column on which the operation is performed within the loop? 

Names Default To Here( 1 );
Clear Log();

dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );

col_names = dt << Get Column Group( "Processes" );

ps = dt << Process Screening(
	Process Variables( Eval( col_names ) ),
	Spec Limits Dialog( "No (skip columns with no spec limits)" ),
);

ps << Color Out Of Spec Values (1);

t = ps << Get Window Title; //Show( t );
ps << Close Window;
dt << Clear Select << Clear Column Selection;

get_colored_cells = Function({dt, colname}, {Default Local},
	colscript = Column(dt, colname) << Get Script;
	l = Substitute(Name Expr(colscript), Expr(New Column()), List());
	colored_cells = {};
	Try(
		colors = l["Color Cells"];
		If(Type(colors[1]) == "List",
			jmptrickery = 1;
		,
			jmptrickery = 0;
		);
		For Each({color}, colors,
			If(jmptrickery,
				Insert Into(colored_cells, color[2]);
			,
				Insert Into(colored_cells, color);
			);
		);
	);
	return(Matrix(colored_cells));
);

measColNames = dt << get column names(Numeric,Continuous ); show (measColNames[1]);

For( i = 1, i <= N Items( measColNames), i++,
	rows = J( 1, N Rows( dt ), 0 );
	colored_rows = get_colored_cells( dt, measColNames[i]);
	rows[colored_rows] = 1;
	dt << New Column( "PassFail"||measColNames[i], Numeric, Nominal, Values( rows ) );
);


//colname = "NPN1";
///// for single column
/*rows = J(1, N Rows(dt), 0);
colored_rows = get_colored_cells(dt, colname);
rows[colored_rows] = 1;
dt << New Column("result", Numeric, Nominal, Values(rows));*/

 

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

Re: How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

Don't use For loop and use << move selected columns to move your columns after your specified column

View more...
Names Default To Here(1);

get_colored_cells = Function({dt, colname}, {Default Local},
	colscript = Column(dt, colname) << Get Script;
	l = Substitute(Name Expr(colscript), Expr(New Column()), List());
	colored_cells = {};
	Try(
		colors = l["Color Cells"];
		If(Type(colors[1]) == "List",
			jmptrickery = 1,
			jmptrickery = 0
		);
		For Each({color}, colors,
			If(jmptrickery,
				Insert Into(colored_cells, color[2]),
				Insert Into(colored_cells, color)
			)
		);
	);
	Return(Matrix(colored_cells));
);

create_failed_column_after = function({dt, colname}, {Default Local},
	curname = Column(dt, colname) << get name;

	failed_rows = get_colored_cells(dt, colname);
	row_vals = J(1, N Rows(dt), 0);
	row_vals[failed_rows] = 1;
	
	new_col = dt << New Column((curname || "_FAIL"), Numeric, Nominal, Values(row_vals));	
	dt << Move Selected Columns(new_col, After(Column(dt, colname)));
	
	return(new_col);
);


dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt << Get Column Group("Processes");

dt << show window(0);
wait(0);

ps = dt << Process Screening(
	Process Variables(Eval(col_names)),
	Spec Limits Dialog("No (skip columns with no spec limits)")
);
ps << Color Out Of Spec Values(1);
ps << Close Window;
dt << Clear Select << Clear Column Selection;


For Each({colref}, col_names,
	colname = colref << get name;
	create_failed_column_after(dt, colname);
);


dt << show window(1);
wait(0);
-Jarmo
hogi
Level XIII

Re: How to get the row number of colored cells in a column and assign it a tag (say "1") in a newly created column?

wow, great idea - via the column script!

The cool thing about JMP:
The Workarounds : )

 

The not-so-cool thing in JMP:
The Workarounds for the workarounds.

 

To directly get the out-of-spec values without the detour via Color, please vote: 🙏 is in spec (value) 

Recommended Articles