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-423985%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-423985%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E4%B8%80%E5%80%8B%E5%8C%85%E5%90%AB%20ProductName%20%E7%9A%84%E8%A1%A8%EF%BC%8C%E6%88%91%E6%83%B3%E7%94%A2%E7%94%9F%20OUTPUT%20%E6%AC%84%E4%BD%8D%E3%80%82OUTPUT%20%E6%AC%84%E4%BD%8D%E6%98%AF%20ProductID%20%E8%88%87%20Serial%23%20%E7%9A%84%E4%B8%B2%E9%80%A3%E3%80%82%20%E5%A6%82%E4%BD%95%E6%BA%96%E7%A2%BA%E8%A7%A3%E6%9E%90%20Serial%23%20%E4%B8%A6%E5%BB%BA%E7%AB%8B%20OUTPUT%20%E5%88%97%EF%BC%9F%3C%2FP%3E%3CP%3E%E5%BA%8F%E8%99%9F%E7%AF%84%E4%BE%8B%EF%BC%9A%3C%2FP%3E%3CUL%3E%3CLI%3E07-08_13%20%E8%A1%A8%E7%A4%BA%E5%BA%8F%E8%99%9F%23%2007%2C%2008%2C%2013%3C%2FLI%3E%3CLI%3E09-12%20%E8%A1%A8%E7%A4%BA%E5%BA%8F%E8%99%9F%23%2009%2C%2010%2C%2011%2C%2012%3C%2FLI%3E%3CLI%3E01-03_05-08%20%E8%A1%A8%E7%A4%BA%E5%BA%8F%E8%99%9F%2001%2C%2002%2C%2003%2C%2005%2C%2006%2C%2007%2C%2008%3C%2FLI%3E%3CLI%3E01_04_05-08%20%E8%A1%A8%E7%A4%BA%E5%BA%8F%E8%99%9F%2001%2C%2004%2C%2005%2C%2006%2C%2007%2C%2008%3C%2FLI%3E%3CLI%3E09_11_13_14%20%E8%A1%A8%E7%A4%BA%E5%BA%8F%E8%99%9F%2309%2C11%2C13%2C14%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22cchueng_5-1633542341785.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22cchueng_5-1633542341785.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22cchueng_5-1633542341785.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36359i6E9EC5380E3B0E48%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22cchueng_5-1633542341785.png%22%20alt%3D%22cchueng_5-1633542341785.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%3E%E7%94%A2%E5%93%81%E5%90%8D%E7%A8%B1%3C%2FTD%3E%3CTD%3E%E8%BC%B8%E5%87%BA%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_07-08_13%3C%2FTD%3E%3CTD%3EAABBCC-07%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_07-08_13%3C%2FTD%3E%3CTD%3EAABBCC-08%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_07-08_13%3C%2FTD%3E%3CTD%3EAABBCC-13%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-09%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-10%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-11%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-12%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EEEFFGG_02%3C%2FTD%3E%3CTD%3EEEFFGG-02%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-01%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-02%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-03%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-04%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-05%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-06%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EHHIIJJ_01-07%3C%2FTD%3E%3CTD%3EHHIIJJ-07%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-01%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-02%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-03%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-05%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-06%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-07%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EKKLLLMM_01-03_05-08%3C%2FTD%3E%3CTD%3EKKLLLMM-08%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOPP-01%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOOPP-04%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOOPP-05%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOOPP-06%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOOPP-07%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3ENNOOPP_01_04_05-08%3C%2FTD%3E%3CTD%3ENNOPP-08%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EQQRRSS_09_11_13_14%3C%2FTD%3E%3CTD%3EQQRRSS_09%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EQQRRSS_09_11_13_14%3C%2FTD%3E%3CTD%3EQQRRSS_11%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EQQRRSS_09_11_13_14%3C%2FTD%3E%3CTD%3EQQRRSS_13%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EQQRRSS_09_11_13_14%3C%2FTD%3E%3CTD%3EQQRRSS_14%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-423985%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3E%E9%80%B2%E9%9A%8E%E7%B5%B1%E8%A8%88%E5%BB%BA%E6%A8%A1%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E5%A4%A7%E8%A6%8F%E6%A8%A1%E5%AE%A2%E8%A3%BD%E5%8C%96%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-429712%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-429712%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BD%A0%E5%BF%85%E9%A0%88%E5%BC%84%E6%B8%85%E6%A5%9A%E4%BD%95%E6%99%82%E6%B7%BB%E5%8A%A0%E6%96%B0%E8%A1%8C%E7%AD%89%E7%9A%84%E9%82%8F%E8%BC%AF%E3%80%82%E6%88%91%E7%9A%84%E5%BB%BA%E8%AD%B0%E6%98%AF%EF%BC%8C%E6%82%A8%E6%89%80%E5%81%9A%E7%9A%84%E5%B0%B1%E6%98%AF%E6%8C%89%E5%8E%9F%E6%A8%A3%E9%81%8B%E8%A1%8C%E7%A8%8B%E5%BC%8F%E7%A2%BC%EF%BC%8C%E7%84%B6%E5%BE%8C%E4%BD%BF%E7%94%A8%3C%2FP%3E%0A%3CP%3E%E8%A1%A8%3D%26gt%3B%E9%80%A3%E6%8E%A5%3C%2FP%3E%0A%3CP%3E%E5%B0%87%202%20%E5%80%8B%E8%B3%87%E6%96%99%E8%A1%A8%E6%94%BE%E5%9C%A8%E4%B8%80%E8%B5%B7%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-429693%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-429693%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%97%A8%E5%90%89%E5%A7%86%EF%BC%8C%3C%2FP%3E%3CP%3E%E5%8F%AF%E4%BB%A5%E5%81%9A%E5%88%B0%E6%B2%92%E6%9C%89dt2%E5%97%8E%EF%BC%9F%20%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%9C%A8%20dt%20%E4%B8%AD%E6%96%B0%E5%A2%9E%20ProductID%20%E5%92%8C%20Output%20%E6%AC%84%E4%BD%8D%E5%97%8E%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%AC%9D%E8%AC%9D%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425700%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425700%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E7%94%B1%E6%96%BC%E8%B3%87%E6%96%99%E6%98%AF%E6%89%8B%E5%8B%95%E8%BC%B8%E5%85%A5%E7%9A%84%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%BE%88%E5%8F%AF%E8%83%BD%E7%84%A1%E6%B3%95%E8%99%95%E7%90%86%E6%89%80%E6%9C%89%E7%89%B9%E6%AE%8A%E6%83%85%E6%B3%81%EF%BC%8C%E4%BD%86%E4%BC%BC%E4%B9%8E%E9%81%A9%E7%94%A8%E6%96%BC%E7%95%B6%E5%89%8D%E5%80%BC%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0A%2F%2FTest%20table%0A%2F*%0Adt%20%3D%20New%20Table(%22Untitled%204993%22%2C%0A%20Compress%20File%20When%20Saved(1)%2C%0A%20New%20Column(%22ProductName%22%2C%0A%20%20Character%2C%0A%20%20%22Nominal%22%2C%0A%20%20Set%20Values(%0A%20%20%20%7B%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22EEFFGG_02%22%2C%0A%20%20%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%0A%20%20%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22N4TA47_13-14-15-16-17-18%22%2C%20%22N4TA59_13-19%22%2C%20%22N4PX74-01-06%22%7D%0A%20%20)%0A%20)%0A)%3B%0A*%2F%0A%0Adt%20%3D%20Current%20Data%20Table()%3B%0ASummarize(dt%2C%20uniqProd%20%3D%20by(%3AProductName))%3B%0A%0AnewVals%20%3D%20Associative%20Array()%3B%0AFor%20Each(%7Bprodname_str%7D%2C%20uniqProd%2C%0A%20prodPart%20%3D%20Word(1%2C%20prodname_str%2C%20%22_-%22)%3B%0A%20serialPart%20%3D%20Substr(prodname_str%2C%20Length(prodPart)%20%2B%202)%3B%0A%20%2F%2Ffind%20and%20remove%20next%20range%20from%20serialPart%0A%20newVals%5Bprodname_str%5D%20%3D%20%7B%7D%3B%0A%20While(Length(serialPart)%20%26gt%3B%200%20%26amp%3B%20serialPart%20!%3D%20%22_%22%20%26amp%3B%20serialPart%20!%3D%20%22-%22%2C%0A%20%20nextRange%20%3D%20Regex(serialPart%2C%20%22%5Cd*-%5Cd*%22)%3B%0A%20%20If(IsMissing(nextRange)%2C%0A%20%20%20break()%3B%0A%20%20)%3B%0A%20%20serialPart%20%3D%20Substitute(serialPart%2C%20nextRange%2C%20%22%22)%3B%0A%20%20If(Contains(%7B%22-%22%2C%20%22_%22%20%7D%2C%20Substr(serialPart%2C%201%2C%201))%2C%0A%20%20%20serialPart%20%3D%20Substr(serialPart%2C%202)%3B%20%2F%2Fremove%20-_%20if%20first%20character%0A%20%20)%3B%0A%20%20%0A%20%20nextRange%20%3D%20Words(nextRange%2C%20%22-%22)%3B%0A%20%20rangeVals%20%3D%20Index(Num(nextRange%5B1%5D)%2C%20Num(nextRange%5B2%5D))%3B%0A%20%20For%20Each(%7Bval%7D%2C%20rangeVals%2C%0A%20%20%20val%20%3D%20char(val)%3B%0A%20%20%20val%20%3D%20Substr(%2200%22%2C%20Length(val)%20%2B%201)%20%7C%7C%20val%3B%0A%20%20%20Insert%20Into(newVals%5Bprodname_str%5D%2C%20prodPart%7C%7C%22-%22%7C%7Cval)%3B%0A%20%20)%3B%0A%20)%3B%0A%20singleVals%20%3D%20Transform%20Each(%7Bval%7D%2C%20Words(serialPart%2C%20%22_%22)%2C%0A%20%20val%20%3D%20char(val)%3B%0A%20%20val%20%3D%20Substr(%2200%22%2C%20Length(val)%20%2B%201)%20%7C%7C%20val%3B%0A%20%20prodPart%7C%7C%22-%22%7C%7Cval%3B%0A%20)%3B%0A%20Insert%20Into(newVals%5Bprodname_str%5D%2C%20singleVals)%3B%0A)%3B%0A%0Avals%20%3D%20%7B%7B%7D%2C%20%7B%7D%7D%3B%0AFor%20Each(%7B%7Bkey%2C%20value%7D%7D%2C%20newVals%2C%0A%20productname_list%20%3D%20Repeat(%7Bkey%7D%2C%20N%20Items(value))%3B%0A%20Insert%20Into(vals%5B1%5D%2C%20productname_list)%3B%0A%20Insert%20Into(vals%5B2%5D%2C%20Sort%20List(value))%3B%0A)%3B%0A%0A%2F%2Fadd%20values%20to%20new%20table%0Adt%20%3D%20New%20Table(%22Productname%22%2C%0A%20New%20Column(%22ProductName%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%7D))%2C%0A%20New%20Column(%22OUTPUT%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%7D))%0A)%3B%0Adt%3AProductName%20%26lt%3B%26lt%3B%20Set%20Values(vals%5B1%5D)%3B%0Adt%3AOUTPUT%20%26lt%3B%26lt%3B%20Set%20Values(vals%5B2%5D)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425565%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%AE%83%E5%8F%AA%E6%98%AF%E6%9C%89%E4%B8%80%E5%80%8B%E5%B0%8F%E9%8C%AF%E8%AA%A4%EF%BC%8C%E7%95%B6%E6%88%91%E9%87%8D%E7%B5%84%E7%A8%8B%E5%BC%8F%E7%A2%BC%E6%99%82%EF%BC%8C-1%20%E6%B2%92%E6%9C%89%E8%A2%AB%E5%88%AA%E9%99%A4%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22txnelson_0-1634012182394.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1634012182394.png%22%20style%3D%22width%3A%20267px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1634012182394.png%22%20style%3D%22width%3A%20267px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36502i28F5E8462A724A05%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22txnelson_0-1634012182394.png%22%20alt%3D%22txnelson_0-1634012182394.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0Adt%20%3D%20Current%20Data%20Table()%3B%0A%0Adt2%20%3D%20New%20Table(%20%22The%20Output%22%2C%0A%20New%20Column(%20%22Product%20Name%22%2C%20character%20)%2C%0A%20New%20Column(%20%22ProductID%22%2C%20Character%20)%2C%0A%20New%20Column(%20%22OUTPUT%22%2C%20Character%20)%0A)%3B%0A%0AFor(%20dtRow%20%3D%201%2C%20dtRow%20%26lt%3B%3D%20N%20Rows(%20dt%20)%2C%20dtRow%2B%2B%2C%0A%20If(%20dtRow%20%3D%3D%201%20%7C%20dt%3AProductName%5BdtRow%20-%201%5D%20!%3D%20dt%3AProductName%5BdtRow%5D%2C%0A%20%20prodID%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_%22%20)%3B%0A%20%20remainder%20%3D%20Substr(%20dt%3AProductName%5BdtRow%5D%2C%20Length(%20prodID%20)%20%2B%202%20)%3B%0A%20%20While(%20Word(%201%2C%20remainder%2C%20%22_%22%20)%20!%3D%20%22%22%2C%0A%20%20%20theWord%20%3D%20Word(%201%2C%20remainder%2C%20%22_%22%20)%3B%0A%20%20%20If(%20Contains(%20theWord%2C%20%22-%22%20)%2C%0A%20%20%20%20numDigets%20%3D%20Length(%20Word(%201%2C%20theWord%2C%20%22-%22%20)%20)%20-%201%3B%0A%20%20%20%20zeros%20%3D%20Repeat(%20%220%22%2C%20numDigets%20)%3B%0A%20%20%20%20For(%20loop%20%3D%20Num(%20Word(%201%2C%20theWord%2C%20%22-%22%20)%20)%2C%0A%20%20%20%20%20loop%20%26lt%3B%3D%20Num(%20Word(%202%2C%20theWord%2C%20%22-%22%20)%20)%2C%20loop%2B%2B%2C%0A%20%20%20%20%20dt2%20%26lt%3B%26lt%3B%20Add%20rows(%201%20)%3B%0A%20%20%20%20%20theRow%20%3D%20N%20Rows(%20dt2%20)%3B%0A%20%20%20%20%20dt2%3AProductName%5BtheRow%5D%20%3D%20dt%3AProductName%5BdtRow%5D%3B%0A%20%20%20%20%20dt2%3AProductID%5BtheRow%5D%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_-%22%20)%3B%0A%20%20%20%20%20dt2%3Aoutput%5BtheRow%5D%20%3D%20dt2%3AProductID%5BtheRow%5D%20%7C%7C%20%22-%22%20%7C%7C%0A%20%20%20%20%20Substr(%20zeros%2C%20Length(%20Char(%20loop%20)%20)%20)%20%7C%7C%20Char(%20loop%20)%3B%0A%20%20%20%20)%3B%0A%20%20%20%2C%0A%20%20%20%20dt2%20%26lt%3B%26lt%3B%20Add%20Rows(%201%20)%3B%0A%20%20%20%20theRow%20%3D%20N%20Rows(%20dt2%20)%3B%0A%20%20%20%20dt2%3Aoutput%5BtheRow%5D%20%3D%20prodID%20%7C%7C%20%22-%22%20%7C%7C%20Word(%201%2C%20theWord%2C%20%22-%22%20)%3B%0A%20%20%20%20dt2%3AProductName%5BtheRow%5D%20%3D%20dt%3AProductName%5BdtRow%5D%3B%0A%20%20%20%20dt2%3AProductID%5BtheRow%5D%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_-%22%20)%3B%0A%20%20%20)%3B%0A%20%20%20remainder%20%3D%20Substr(%20remainder%2C%20Length(%20theWord%20)%20%2B%202%20)%3B%0A%20%20)%3B%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E8%AB%8B%E7%A2%BA%E4%BF%9D%E6%82%A8%E8%8A%B1%E6%99%82%E9%96%93%E7%A0%94%E7%A9%B6%E7%A8%8B%E5%BC%8F%E7%A2%BC%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%AE%8C%E5%85%A8%E7%90%86%E8%A7%A3%E5%AE%83%E6%98%AF%E5%A6%82%E4%BD%95%E9%81%8B%E4%BD%9C%E7%9A%84%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425561%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E8%AC%9D%E8%AC%9D%E5%90%89%E5%A7%86%EF%BC%8C%E4%BD%86%E8%BC%B8%E5%87%BA%E4%BC%BC%E4%B9%8E%E4%B8%8D%E6%AD%A3%E7%A2%BA%E3%80%82%20%E4%BE%8B%E5%A6%82%E5%89%8D%203%20%E8%A1%8C%EF%BC%8C%E8%BC%B8%E5%87%BA%E6%87%89%E8%A9%B2%E6%98%AF%EF%BC%9A%3C%2FP%3E%3CP%3EAABBCC-07%3C%2FP%3E%3CP%3EAABBCC-08%3C%2FP%3E%3CP%3EAABBCC-13%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425362%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425362%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EProductName%20%E8%B3%87%E6%96%99%E6%98%AF%E6%89%8B%E5%8B%95%E8%BC%B8%E5%85%A5%E7%9A%84%E3%80%82%20%E9%80%99%E4%BA%9B%E9%83%BD%E6%98%AF%E4%BE%8B%E5%A4%96%E6%83%85%E6%B3%81%EF%BC%8C%E4%B8%A6%E4%B8%94%E6%9C%83%E9%9A%A8%E8%91%97%E6%99%82%E9%96%93%E7%9A%84%E6%8E%A8%E7%A7%BB%E8%80%8C%E6%94%B9%E5%96%84%E3%80%82%20%E8%AB%8B%E5%BF%BD%E7%95%A5%E4%BB%96%E5%80%91%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425156%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425156%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E9%80%99%E6%98%AF%E4%B8%80%E5%80%8B%E7%94%A2%E7%94%9F%E6%96%B0%E8%A1%A8%E7%9A%84%E8%85%B3%E6%9C%AC%EF%BC%8C%E8%A9%B2%E8%A1%A8%E6%A0%B9%E6%93%9A%E8%AB%8B%E6%B1%82%E6%93%B4%E5%B1%95%E8%A1%8C%E3%80%82%E9%80%8F%E9%81%8E%E5%B0%87%E8%B3%87%E6%96%99%E6%94%BE%E5%85%A5%E6%96%B0%E8%A1%A8%E4%B8%AD%EF%BC%8C%E5%AE%83%E7%B9%9E%E9%81%8E%E4%BA%86%E8%A1%8C%E6%95%B8%E4%B8%8D%E8%B6%B3%E7%94%A8%E6%96%BC%E6%93%B4%E5%B1%95%E7%9A%84%E5%95%8F%E9%A1%8C%E3%80%82%E5%AE%83%E4%BC%BC%E4%B9%8E%E7%A2%BA%E5%AF%A6%E5%8F%AF%E4%BB%A5%E8%99%95%E7%90%86%E6%89%80%E6%9C%89%E5%B7%B2%E7%9F%A5%E7%9A%84%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22txnelson_0-1633945647193.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1633945647193.png%22%20style%3D%22width%3A%20322px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1633945647193.png%22%20style%3D%22width%3A%20322px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36462i7330C146A0E8AC8F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22txnelson_0-1633945647193.png%22%20alt%3D%22txnelson_0-1633945647193.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0Adt%20%3D%20Current%20Data%20Table()%3B%0A%0Adt2%20%3D%20New%20Table(%20%22The%20Output%22%2C%0A%20New%20Column(%20%22Product%20Name%22%2C%20character%20)%2C%0A%20New%20Column(%20%22ProductID%22%2C%20Character%20)%2C%0A%20New%20Column(%20%22OUTPUT%22%2C%20Character%20)%0A)%3B%0A%0AFor(%20dtRow%20%3D%201%2C%20dtRow%20%26lt%3B%3D%20N%20Rows(%20dt%20)%2C%20dtRow%2B%2B%2C%0A%20If(%20dtRow%20%3D%3D%201%20%7C%20dt%3AProductName%5BdtRow%20-%201%5D%20!%3D%20dt%3AProductName%5BdtRow%5D%2C%0A%20%20prodID%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_%22%20)%3B%0A%20%20remainder%20%3D%20Substr(%20dt%3AProductName%5BdtRow%5D%2C%20Length(%20prodID%20)%20%2B%202%20)%3B%0A%20%20While(%20Word(%201%2C%20remainder%2C%20%22_%22%20)%20!%3D%20%22%22%2C%0A%20%20%20theWord%20%3D%20Word(%201%2C%20remainder%2C%20%22_%22%20)%3B%0A%20%20%20If(%20Contains(%20theWord%2C%20%22-%22%20)%2C%0A%20%20%20%20numDigets%20%3D%20Length(%20Word(%201%2C%20theWord%2C%20%22-%22%20)%20)%20-%201%3B%0A%20%20%20%20zeros%20%3D%20Repeat(%20%220%22%2C%20numDigets%20)%3B%0A%20%20%20%20For(%20loop%20%3D%20Num(%20Word(%201%2C%20theWord%2C%20%22-%22%20)%20)%20%2B%201%2C%0A%20%20%20%20%20loop%20%26lt%3B%3D%20Num(%20Word(%202%2C%20theWord%2C%20%22-%22%20)%20)%2C%20loop%2B%2B%2C%0A%20%20%20%20%20dt2%20%26lt%3B%26lt%3B%20Add%20rows(%201%20)%3B%0A%20%20%20%20%20theRow%20%3D%20N%20Rows(%20dt2%20)%3B%0A%20%20%20%20%20dt2%3AProductName%5BtheRow%5D%20%3D%20dt%3AProductName%5BdtRow%5D%3B%0A%20%20%20%20%20dt2%3AProductID%5BtheRow%5D%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_-%22%20)%3B%0A%20%20%20%20%20dt2%3Aoutput%5BtheRow%5D%20%3D%20dt2%3AProductID%5BtheRow%5D%20%7C%7C%20%22-%22%20%7C%7C%0A%20%20%20%20%20Substr(%20zeros%2C%20Length(%20Char(%20loop%20)%20)%20)%20%7C%7C%20Char(%20loop%20)%3B%0A%20%20%20%20)%3B%0A%20%20%20%2C%0A%20%20%20%20dt2%20%26lt%3B%26lt%3B%20Add%20Rows(%201%20)%3B%0A%20%20%20%20theRow%20%3D%20N%20Rows(%20dt2%20)%3B%0A%20%20%20%20dt2%3Aoutput%5BtheRow%5D%20%3D%20prodID%20%7C%7C%20%22-%22%20%7C%7C%20Word(%201%2C%20theWord%2C%20%22-%22%20)%3B%0A%20%20%20%20dt2%3AProductName%5BtheRow%5D%20%3D%20dt%3AProductName%5BdtRow%5D%3B%0A%20%20%20%20dt2%3AProductID%5BtheRow%5D%20%3D%20Word(%201%2C%20dt%3AProductName%5BdtRow%5D%2C%20%22_-%22%20)%3B%0A%20%20%20)%3B%0A%20%20%20remainder%20%3D%20Substr(%20remainder%2C%20Length(%20theWord%20)%20%2B%202%20)%3B%0A%20%20)%3B%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425120%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425120%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%BF%AB%E9%80%9F%E6%AA%A2%E6%9F%A5%E6%9C%89%E4%B8%89%E5%80%8B%E4%B8%8D%E5%90%8C%E7%9A%84%E5%95%8F%E9%A1%8C%EF%BC%9A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E1.%20%E6%89%93%E7%A0%B4%E4%BA%86%20ProductNames%20%E6%95%B8%E9%87%8F%E5%A7%8B%E7%B5%82%E8%88%87%E5%BA%8F%E8%99%9F%E6%95%B8%E9%87%8F%E7%9B%B8%E5%90%8C%E7%9A%84%E3%80%8C%E8%A6%8F%E5%89%87%E3%80%8D%E3%80%82%20N4TA59_13-19%E7%9A%84%E8%B3%87%E6%96%99%E5%8F%AA%E6%9C%89%E4%B8%80%E6%AC%A1%EF%BC%8C%E6%87%89%E8%A9%B2%E6%98%AF7%E6%AC%A1%3CBR%20%2F%3E2.%20%E5%BA%8F%E8%99%9F%E9%83%A8%E5%88%86%E4%B8%8D%E4%BB%A5%20_%20%E9%96%8B%E9%A0%AD%20(N4PX74%3CSTRONG%3E%20-%3C%2FSTRONG%3E%2001-06)%3CBR%20%2F%3E%203.%20%E7%AF%84%E5%9C%8D%E4%B8%8D%E4%BB%A5%20_%20%E9%96%8B%E9%A0%AD%20(N4TA47_13-14-15-16-17-18)%20%E6%88%96%E9%80%99%E4%BA%9B%E6%87%89%E8%A9%B2%E5%8F%AA%E6%98%AF%E5%96%AE%E4%B8%80%E5%80%BC%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%89%80%E6%9C%89%E9%80%99%E4%BA%9B%E9%83%BD%E9%9C%80%E8%A6%81%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BF%AE%E5%BE%A9%E3%80%82%20%E9%80%99%E4%BA%9B%E6%95%B8%E6%93%9A%E5%93%81%E8%B3%AA%E5%95%8F%E9%A1%8C%E6%98%AF%E5%90%A6%E8%88%87%E6%82%A8%E7%9A%84%E6%95%B8%E6%93%9A%E6%9C%89%E9%97%9C%EF%BC%8C%E6%88%96%E8%80%85%E8%85%B3%E6%9C%AC%E6%98%AF%E5%90%A6%E6%87%89%E8%A9%B2%E8%83%BD%E5%A4%A0%E8%99%95%E7%90%86%E6%89%80%E6%9C%89%E9%80%99%E4%BA%9B%E5%95%8F%E9%A1%8C%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-425119%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-425119%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%97%A8%EF%BC%8Cjthi%EF%BC%8C%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%88%91%E7%9A%84%20ProductName%20%E6%98%AF%E5%AD%97%E5%85%83%E5%92%8C%E6%95%B8%E5%AD%97%E7%9A%84%E6%B7%B7%E5%90%88%EF%BC%8C%E6%82%A8%E7%9A%84%E8%85%B3%E6%9C%AC%E5%B0%87%E7%84%A1%E6%B3%95%E9%81%8B%E4%BD%9C%E3%80%82%20%E6%88%91%E9%99%84%E4%B8%8A%E4%BA%86%E4%B8%80%E5%BC%B5%E6%A1%8C%E5%AD%90%E3%80%82%20%E9%80%99%E5%B0%B1%E6%98%AF%E6%88%91%E7%9A%84%E5%A4%A7%E9%83%A8%E5%88%86%E7%94%A2%E5%93%81%E5%90%8D%E7%A8%B1%E7%9A%84%E6%A8%A3%E5%AD%90%E3%80%82%20%E8%AC%9D%E8%AC%9D%E4%BD%A0%E7%9A%84%E5%8D%94%E5%8A%A9%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424984%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424984%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%98%AF%E9%80%99%E6%A8%A3%E7%9A%84%E8%A9%B1%EF%BC%8C%E6%87%89%E8%A9%B2%E5%B7%B2%E7%B6%93%E5%8F%AF%E4%BB%A5%E6%87%89%E4%BB%98%E4%BA%86%E3%80%82%20%E6%88%91%E5%81%9A%E4%BA%86%E4%B8%80%E4%BA%9B%E5%B0%8F%E7%9A%84%E4%BF%AE%E6%94%B9%EF%BC%88%E5%A6%82%E6%9E%9C%E7%BC%BA%E5%B0%91%E8%BC%B8%E5%87%BA%E5%88%97%EF%BC%8C%E5%89%87%E5%89%B5%E5%BB%BA%E5%AE%83%EF%BC%89%E3%80%82%20%E7%9B%AE%E5%89%8D%EF%BC%8C%E5%AE%83%E7%A2%BA%E5%AF%A6%E4%BE%9D%E8%B3%B4%E8%B3%87%E6%96%99%E8%A1%A8%E6%8C%89%20ProductNames%20%E6%8E%92%E5%BA%8F%E7%9A%84%E4%BA%8B%E5%AF%A6%EF%BC%8C%E9%80%99%E5%8F%AF%E8%83%BD%E6%9C%83%E5%9C%A8%E6%9F%90%E4%BA%9B%E6%99%82%E5%80%99%E5%B0%8E%E8%87%B4%E5%95%8F%E9%A1%8C%EF%BC%8C%E6%88%96%E8%80%85%E6%82%A8%E5%8F%AF%E4%BB%A5%E7%A2%BA%E4%BF%9D%E8%BC%B8%E5%85%A5%E8%A1%A8%E5%B7%B2%E6%8E%92%E5%BA%8F%EF%BC%88%E6%9C%80%E7%B0%A1%E5%96%AE%E7%9A%84%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%A1%88%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%82%A8%E6%87%89%E8%A9%B2%E8%83%BD%E5%A4%A0%E4%BD%BF%E7%94%A8%20For%20Each%20%E9%83%A8%E5%88%86%EF%BC%8C%E7%94%9A%E8%87%B3%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%B2%92%E6%9C%89%E8%B3%87%E6%96%99%E8%A1%A8%E7%9A%84%E6%83%85%E6%B3%81%E4%B8%8B%E4%BD%BF%E7%94%A8%EF%BC%8C%E5%8F%AA%E8%A6%81%E6%82%A8%E6%9C%89%E5%90%8D%E7%82%BA%20uniqProd%20%E4%B8%94%E5%85%B7%E6%9C%89%20ProductNames%20%E7%9A%84%E6%B8%85%E5%96%AE%E8%AE%8A%E6%95%B8%E3%80%82%20%E4%B9%8B%E5%BE%8C%E5%8F%AA%E6%98%AF%E5%BC%84%E6%B8%85%E6%A5%9A%E5%A6%82%E4%BD%95%E5%90%91%E6%95%B8%E6%93%9A%E8%A1%A8%E6%B7%BB%E5%8A%A0%E5%80%BC%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0A%2F%2FTest%20table%0A%2F*%0Adt%20%3D%20New%20Table(%22Untitled%204993%22%2C%0A%20Compress%20File%20When%20Saved(1)%2C%0A%20New%20Column(%22ProductName%22%2C%0A%20%20Character%2C%0A%20%20%22Nominal%22%2C%0A%20%20Set%20Values(%0A%20%20%20%7B%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22EEFFGG_02%22%2C%0A%20%20%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%0A%20%20%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%7D%0A%20%20)%0A%20)%0A)%3B%0A*%2F%0A%0Adt%20%3D%20Current%20Data%20Table()%3B%0A%0ASummarize(dt%2C%20uniqProd%20%3D%20by(%3AProductName))%3B%0A%0AvalList%20%3D%20%7B%7D%3B%0AFor%20Each(%7Bprod%7D%2C%20uniqProd%2C%20%2F%2Floop%20for%20each%20ProductName%0A%20prodPart%20%3D%20Word(1%2C%20prod%2C%20%22_%22)%3B%0A%20serialPart%20%3D%20Substr(prod%2C%20Contains(prod%2C%20%22_%22)%20%2B%201)%3B%20%2F%2Fremove%20start%0A%20possibleRanges%20%3D%20Words(serialPart%2C%20%22_%22)%3B%20%2F%2Fif%20they%20contain%20-%0A%20For%20Each(%7Bval%7D%2C%20possibleRanges%2C%20%2F%2FLoop%20for%20serialnumber%20inside%20the%20ProductName%0A%20%20If(Contains(val%2C%20%22-%22)%2C%20%2F%2Frange%0A%20%20%20rangeVals%20%3D%20Words(val%2C%20%22-%22)%3B%0A%20%20%20For%20Each(%7Bval1%7D%2C%20Index(Num(rangeVals%5B1%5D)%2C%20Num(rangeVals%5B2%5D))%2C%20%0A%20%20%20%20valToAdd%20%3D%20Substr(%220%22%2C%20Length(Char(val1)))%20%7C%7C%20Char(val1)%3B%0A%20%20%20%20Insert%20Into(valList%2C%20prodPart%20%7C%7C%20%22-%22%20%7C%7C%20valToAdd)%0A%20%20%20)%3B%0A%20%20%2C%0A%20%20%20Insert%20Into(valList%2C%20prodPart%20%7C%7C%20%22-%22%20%7C%7C%20Substr(%220%22%2C%20Length(Char(val)))%20%7C%7C%20Char(val))%0A%20%20)%0A%20)%3B%0A)%3B%0A%0A%2F%2Fif%20starting%20table%20doesn't%20have%20OUTPUT%20column%20create%20it%0AIf(!Contains(dt%20%26lt%3B%26lt%3B%20Get%20Column%20Names(%22String%22)%2C%20%22OUTPUT%22)%2C%20%0A%20dt%20%26lt%3B%26lt%3B%20New%20Column(%22OUTPUT%22%2C%20Character%2C%20%22Nominal%22)%3B%0A)%3B%0A%0A%2F%2Fdt%5B0%2C%22OUTPUT%22%5D%20%3D%20valList%3B%20subscripting%2C%20maybe%20a%20bit%20more%20difficult%20to%20understand%0Adt%3AOUTPUT%20%26lt%3B%26lt%3B%20Set%20Values(valList)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E4%BB%96%E5%80%91%E7%9A%84%E8%85%B3%E6%9C%AC%E5%98%97%E8%A9%A6%E5%9F%B7%E8%A1%8C%E7%9A%84%E7%B0%A1%E5%8C%96%E7%89%88%E6%9C%AC%EF%BC%9A%3C%2FP%3E%3CP%3E1.%E8%85%B3%E6%9C%AC%E5%8F%96%E5%BE%97ProductName%E6%AC%84%E4%BD%8D%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E5%94%AF%E4%B8%80%E5%80%BC%3C%2FP%3E%3CP%3E2.%20%E8%85%B3%E6%9C%AC%E8%BF%B4%E5%9C%88%E9%81%8D%E6%AD%B7%E5%85%A9%E9%83%A8%E5%88%86%20For%20Each%20%E8%BF%B4%E5%9C%88%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%B8%80%E5%80%8B%3C%2FP%3E%3CP%3E3.%20%E7%AC%AC%E4%B8%80%E5%80%8B%E8%BF%B4%E5%9C%88%E9%81%8D%E6%AD%B7%E5%94%AF%E4%B8%80%E5%80%BC%E4%B8%A6%E5%B0%87%E5%AE%83%E5%80%91%E5%88%86%E5%89%B2%E7%82%BA%20Product%20%E5%92%8C%20number%20%E9%83%A8%E5%88%86%3C%2FP%3E%3CP%3E4.%20%E7%84%B6%E5%BE%8C%E5%86%8D%E6%AC%A1%E5%BE%AA%E7%92%B0%E5%BA%8F%E8%99%9F%E9%83%A8%E5%88%86%EF%BC%8C%E5%B0%87%E5%85%B6%E6%8B%86%E5%88%86%E7%82%BA%E5%96%AE%E4%B8%80%E5%80%BC%E3%80%82%20%E9%80%99%E4%BA%9B%E5%96%AE%E4%B8%80%E5%80%BC%E8%88%87%20Product%20%E9%83%A8%E5%88%86%E9%80%A3%E6%8E%A5%EF%BC%8C%E7%84%B6%E5%BE%8C%E5%B0%87%E5%AD%97%E4%B8%B2%E6%8F%92%E5%85%A5%E5%88%B0%20valList%20%E5%88%97%E8%A1%A8%E4%B8%AD%EF%BC%88%E9%80%99%204.%20%E4%B8%A6%E4%B8%8D%E5%AE%8C%E5%85%A8%E5%83%8F%E6%88%91%E5%9C%A8%E9%80%99%E8%A3%A1%E8%A7%A3%E9%87%8B%E7%9A%84%E9%82%A3%E9%BA%BC%E7%B0%A1%E5%96%AE%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E5.%20%E5%85%A9%E5%80%8B%E5%BE%AA%E7%92%B0%E5%AE%8C%E6%88%90%E5%BE%8C%EF%BC%8C%E6%82%A8%E6%87%89%E8%A9%B2%E6%9C%83%E5%BE%97%E5%88%B0%E4%B8%80%E5%80%8B%E5%88%97%E8%A1%A8%EF%BC%8C%E5%85%B6%E4%B8%AD%E5%8C%85%E5%90%AB%E6%89%80%E6%9C%89%E5%8F%AF%E8%83%BD%E7%9A%84%E5%BA%8F%E8%99%9F%E3%80%82%20%E7%94%A2%E5%93%81%E9%83%A8%E5%88%86%E5%B0%87%E4%BB%A5%E5%AD%97%E6%AF%8D%E9%A0%86%E5%BA%8F%E6%8E%92%E5%88%97%E3%80%82%3C%2FP%3E%3CP%3E6.%20%E5%A6%82%E6%9E%9C%E8%A9%B2%E6%B8%85%E5%96%AE%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%89%87%E5%B0%87%E8%A9%B2%E6%B8%85%E5%96%AE%E6%96%B0%E5%A2%9E%E8%87%B3%20OUTPUT%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%89%87%E5%85%88%E5%BB%BA%E7%AB%8B%E8%A9%B2%E6%B8%85%E5%96%AE%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424977%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424977%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%97%A8%EF%BC%8Cjthi%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E8%A1%8C%E6%95%B8%E8%88%87%E5%BA%8F%E8%99%9F%E6%95%B8%E7%9B%B8%E7%AC%A6%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424168%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424168%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E9%80%99%E6%87%89%E8%A9%B2%E7%9B%B8%E7%95%B6%E5%AE%B9%E6%98%93%E3%80%82%20%E6%93%B7%E5%8F%96%E7%9A%84%E8%B3%87%E6%96%99%E4%B8%AD%E7%9A%84%E8%A1%8C%E6%95%B8%E6%98%AF%E5%90%A6%E8%88%87%E5%BA%8F%E8%99%9F%E4%B8%80%E6%A8%A3%E5%A4%9A%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424117%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424117%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%97%A8%EF%BC%8Cjthi%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%84%9F%E8%AC%9D%E6%82%A8%E7%9A%84%E8%85%B3%E6%9C%AC%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E8%A1%A8%E5%AF%A6%E9%9A%9B%E4%B8%8A%E6%98%AF%E5%8B%95%E6%85%8B%E7%9A%84%E3%80%82%20%E6%AF%8F%E5%A4%A9%EF%BC%8C%E6%88%91%E9%83%BD%E6%9C%83%E5%BE%9E%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%E6%97%A5%E6%9C%9F%E7%AF%84%E5%9C%8D%E7%9A%84%E8%B3%87%E6%96%99%E5%BA%AB%E4%B8%AD%E6%8F%90%E5%8F%96%E6%AD%A4%E8%A1%A8%EF%BC%8C%E4%B8%A6%E4%B8%94%E6%9C%83%E5%87%BA%E7%8F%BE%E4%B8%8D%E5%90%8C%E7%9A%84%20ProductName%20%E9%9B%86%E3%80%82%20%E6%89%80%E4%BB%A5%E4%B8%8D%E7%B8%BD%E6%98%AF%2032%20%E8%A1%8C%E3%80%82%20%E4%BD%A0%E7%9A%84%E8%85%B3%E6%9C%AC%E5%B9%BE%E4%B9%8E%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BD%86%E6%98%AF%E4%BD%A0%E8%83%BD%E8%A7%A3%E6%B1%BA%E6%95%B8%E7%B5%84%E5%A4%A7%E5%B0%8F%E5%97%8E%EF%BC%9F%20%E8%AC%9D%E8%AC%9D%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424098%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424098%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%97%A8%E5%85%8B%E9%87%8C%E6%96%AF%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%9C%89%E4%B8%80%E5%80%8B%E8%85%B3%E6%9C%AC%E5%8F%AF%E4%BB%A5%E8%99%95%E7%90%86%E4%B8%80%E4%BA%9B%20ProductName%EF%BC%8C%E6%9C%89%E6%99%82%E6%9C%83%E9%8C%AF%E8%AA%A4%E5%9C%B0%E8%A7%A3%E6%9E%90%E3%80%82%20%E6%82%A8%E8%83%BD%E5%90%A6%E6%AA%A2%E6%9F%A5%E4%B8%A6%E6%B7%BB%E5%8A%A0%E7%A8%8B%E5%BC%8F%E7%A2%BC%E4%BE%86%E8%A7%A3%E6%B1%BA%E9%82%A3%E4%BA%9B%E8%BF%84%E4%BB%8A%E7%82%BA%E6%AD%A2%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E7%9A%84%20ProductNames%EF%BC%9F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E9%81%A9%E7%94%A8%E6%96%BC%E4%BB%A5%E4%B8%8B%E7%AF%84%E4%BE%8B%EF%BC%9A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EEEFFGG_02%3C%2FP%3E%3CP%3EHHIIJJ_01-07%3C%2FP%3E%3CP%3EKKLLLMM_01-03_05-08%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E5%B0%8D%E6%96%BC%E4%BB%A5%E4%B8%8B%E7%AF%84%E4%BE%8B%E9%82%84%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9A%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EAABBCC_07-08_13%3C%2FP%3E%3CP%3ENNOOPP_01_04_05-08%3C%2FP%3E%3CP%3EQQRRSS_09_11_13_14%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Edt%3Dcurrent%20data%20table()%3B%0A%0A(dt%20%26lt%3B%26lt%3B%20New%20Column(%20%22ProductID%22%2C%20Character%20))%20%26lt%3B%26lt%3B%20Set%20Selected%3B%0A(dt%20%26lt%3B%26lt%3B%20New%20Column(%20%22OUTPUT%22%2C%20Character%20))%20%26lt%3B%26lt%3B%20Set%20Selected%3B%0A%20%0A%2F%2FParse%20string%20in%20ProductName%20column%20%0A%0AFor%20Each%20Row(%0A%20%20%20%20dt%2C%0A%20%20%20%20%2F%2FAssign%20the%20ProductID%20value%0A%20%20%20%20%3AProductID%20%3D%20Word(%201%2C%20%3AProductName%2C%20%22_-%22%20)%3B%20%2F%2F%22_%22%0A%20%0A%20%20%20%20%2F%2FIf%20the%20ProductName%20changes%2C%20capture%20the%20start%20and%20end%0A%20%20%20%20If(%20%3AProductName%20!%3D%20Lag(%20%3AProductName%2C%201%20)%2C%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20start%20%3D%20Num(%20Word(%202%2C%20%3AProductName%2C%20%22_-%22%20)%20)%3B%0A%20%20%20%20%20%20%20%20end%20%3D%20Num(%20Word(%203%2C%20%3AProductName%2C%20%22_-%22%20)%20)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20)%3B%0A%20%20%20%20%0A%20%20%2F%2FAssign%20the%20OUTPUT%20value%0A%20%20%20%20%3AOUTPUT%20%3D%20%3AProductID%20%7C%7C%20%22-%22%20%7C%7C%20Repeat(%20%220%22%2C%202%20-%20Length(%20Char(%20start%20)%20)%20)%20%7C%7C%20Char(%20start%20)%3B%0A%20%20%20%20%0A%20%20%20%20%2F%2FAfter%20end%20value%20%26amp%3B%20there%20is%20an%20_%2C%20set%20start%20to%20value%20after%20_%0A%20%20%20%20If(%20start%20%3D%3D%20end%20%26amp%3B%20Contains(%20%3AProductName%2C%20%22_%22)%2C%0A%20%20%20%20%20%20%20%20start%20%3D%20Num(%20Word(-2%2C%20%3AProductName%2C%20%22_-%22%20)%20)%2C%0A%20%20%20%20%20%20%20%20start%2B%2B)%3B%0A)%3B%0A%0A%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424070%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424070%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%A5%BD%E7%9A%84%EF%BC%8C%E9%80%99%E5%8F%AF%E8%83%BD%E6%9C%89%E7%94%A8%E3%80%82%20%E7%94%B1%E6%96%BC%E4%BD%BF%E7%94%A8%E4%BA%86%20For%20Each%EF%BC%88%E5%B0%8D%E6%96%BC%E5%85%B6%E4%BB%96%E7%89%88%E6%9C%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20For%20%E6%9B%BF%E6%8F%9B%EF%BC%89%EF%BC%8C%E5%9B%A0%E6%AD%A4%E9%9C%80%E8%A6%81%20JMP16%E3%80%82%20%E9%80%99%E6%98%AF%E4%B8%80%E5%80%8B%E5%A4%A7%E9%87%8F%E8%85%B3%E6%9C%AC%E5%8C%96%E7%9A%84%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%A1%88%EF%BC%8C%E5%B9%BE%E4%B9%8E%E6%B2%92%E6%9C%89%E8%A8%BB%E9%87%8B%EF%BC%8C%E4%B8%A6%E4%B8%94%E9%9C%80%E8%A6%81%E7%89%B9%E5%AE%9A%E7%9A%84%E8%B5%B7%E5%A7%8B%E8%A1%A8%E6%89%8D%E8%83%BD%E9%81%8B%E4%BD%9C%EF%BC%88%E9%9C%80%E8%A6%81%20OUTPUT%20%E5%88%97%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt%20%3D%20New%20Table(%22Untitled%204993%22%2C%0A%20Add%20Rows(32)%2C%0A%20Compress%20File%20When%20Saved(1)%2C%0A%20New%20Column(%22ProductName%22%2C%0A%20%20Character%2C%0A%20%20%22Nominal%22%2C%0A%20%20Set%20Values(%0A%20%20%20%7B%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_07-08_13%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22AABBCC_09-12%22%2C%20%22EEFFGG_02%22%2C%0A%20%20%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22HHIIJJ_01-07%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%20%22KKLLLMM_01-03_05-08%22%2C%0A%20%20%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%20%22NNOOPP_01_04_05-08%22%2C%0A%20%20%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%2C%20%22QQRRSS_09_11_13_14%22%7D%0A%20%20)%0A%20)%2C%0A%20New%20Column(%22OUTPUT%22%2C%0A%20%20Character(16)%2C%0A%20%20%22Nominal%22%2C%0A%20%20Set%20Values(%7B%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%2C%20%22%22%7D)%0A%20)%0A)%3B%0A%0A%0ASummarize(dt%2C%20uniqProd%20%3D%20by(%3AProductName))%3B%0A%0AvalList%20%3D%20%7B%7D%3B%0AFor%20Each(%7Bprod%7D%2C%20uniqProd%2C%0A%20prodPart%20%3D%20Word(1%2C%20prod%2C%20%22_%22)%3B%0A%20serialPart%20%3D%20Substr(prod%2C%20Contains(prod%2C%20%22_%22)%20%2B%201)%3B%20%2F%2Fremove%20start%0A%20possibleRanges%20%3D%20Words(serialPart%2C%20%22_%22)%3B%20%2F%2Fif%20they%20contain%20-%0A%20For%20Each(%7Bval%7D%2C%20possibleRanges%2C%0A%20%20If(Contains(val%2C%20%22-%22)%2C%20%2F%2Frange%0A%20%20%20rangeVals%20%3D%20Words(val%2C%20%22-%22)%3B%0A%20%20%20For%20Each(%7Bval1%7D%2C%20Index(Num(rangeVals%5B1%5D)%2C%20Num(rangeVals%5B2%5D))%2C%20%0A%20%20%20%20valToAdd%20%3D%20Substr(%220%22%2C%20Length(Char(val1)))%20%7C%7C%20Char(val1)%3B%0A%20%20%20%20Insert%20Into(valList%2C%20prodPart%20%7C%7C%20%22-%22%20%7C%7C%20valToAdd)%0A%20%20%20)%3B%0A%20%20%2C%0A%20%20%20Insert%20Into(valList%2C%20prodPart%20%7C%7C%20%22-%22%20%7C%7C%20Substr(%220%22%2C%20Length(Char(val)))%20%7C%7C%20Char(val))%0A%20%20)%0A%20)%3B%0A)%3B%0A%0Adt%5B0%2C%22OUTPUT%22%5D%20%3D%20valList%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E6%83%B3%E7%9F%A5%E9%81%93%E4%BD%BF%E7%94%A8%20JMP%20%E8%87%AA%E5%B7%B1%E7%9A%84%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E3%80%8C%E8%BC%95%E9%AC%86%E3%80%8D%E5%AE%8C%E6%88%90%E9%80%99%E6%A8%A3%E7%9A%84%E4%BA%8B%E6%83%85%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F982%22%20target%3D%22_blank%22%3E%40Craige_Hales%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424064%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424064%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E8%AC%9D%E8%AC%9D%EF%BC%8C%E4%BD%86%E6%88%91%E6%9B%B4%E5%96%9C%E6%AD%A1%20jsl%20%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BA%92%E5%8B%95%E5%BC%8F%E5%88%86%E9%9A%94%E7%AC%A6%E8%99%9F%E3%80%82%20%E6%82%A8%E7%9A%84%E6%96%B9%E6%B3%95%E6%B2%92%E6%9C%89%E8%A7%A3%E6%B1%BA%E5%BA%8F%E8%99%9F%E6%99%82%E7%9A%84%E6%83%85%E6%B3%81%3CSPAN%3E09-12%E3%80%82%20%E5%AE%83%E6%87%89%E8%A9%B2%E8%BC%B8%E5%87%BA%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%E7%9A%84%E8%A1%8C%E3%80%82%20%E4%B8%8D%E5%83%85%E5%83%85%E6%98%AF%20AABBCC-09%20%E5%92%8C%20AABBCC-12%E3%80%82%20%E2%80%9C-%E2%80%9D%E8%A1%A8%E7%A4%BA%E2%80%9C%E8%87%B3%E2%80%9D%EF%BC%8C%E8%A1%A8%E7%A4%BA%E7%AF%84%E5%9C%8D%E3%80%82%20%E6%89%80%E4%BB%A5%2009-12%20%E8%A1%A8%E7%A4%BA%2009%E3%80%8110%E3%80%8111%E3%80%8112%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CTABLE%3E%3CTBODY%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-09%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-10%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-11%3C%2FTD%3E%3C%2FTR%3E%3CTR%3E%3CTD%3EAABBCC_09-12%3C%2FTD%3E%3CTD%3EAABBCC-12%3C%2FTD%3E%3C%2FTR%3E%3C%2FTBODY%3E%3C%2FTABLE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424016%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424016%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%93%A6%EF%BC%8C%E4%BD%A0%E7%9A%84%E6%AC%8A%E5%88%A9%E3%80%82%20-%20%E8%A2%AB%E8%A7%A3%E9%87%8B%E7%82%BA%E7%AF%84%E5%9C%8D%EF%BC%8C_%20%E8%A2%AB%E8%A7%A3%E9%87%8B%E7%82%BA%E9%A0%85%E7%9B%AE%E7%9A%84%E7%9C%9F%E6%AD%A3%E5%88%86%E9%9A%94%E7%AC%A6%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424014%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424014%22%20slang%3D%22en-US%22%20mode%3D%22NONE%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%20%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%E4%BD%A0%E6%AF%94%E6%88%91%E5%85%88%E4%B8%80%E6%AD%A5%E3%80%82%20%3A)%E4%BD%A0%E7%9A%84%E8%A7%A3%E9%87%8B%E6%AF%94%E8%BC%83%E8%A9%B3%E7%B4%B0%EF%BC%8C%E4%B9%9F%E6%98%AF%E6%88%91%E7%9A%84%E6%83%B3%E6%B3%95%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424013%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424013%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F10492%22%20target%3D%22_blank%22%3E%40cchueng%3C%2FA%3E%20%2C%3C%2FP%3E%0A%3CP%3E%E6%9C%89%E5%B9%BE%E7%A8%AE%E6%96%B9%E6%B3%95%E3%80%82%20%E6%9C%89%E4%BA%9B%E6%98%AF%E8%85%B3%E6%9C%AC%E5%9F%BA%E7%A4%8E%EF%BC%88%E5%B0%8B%E6%89%BE%E6%9C%89%E4%BA%BA%E5%BB%BA%E8%AD%B0%E7%9A%84%E5%9B%9E%E5%BE%A9%E5%92%8C%E7%AF%84%E4%BE%8B%EF%BC%89%EF%BC%8C%E6%88%96%E8%80%85%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E9%80%A3%E7%BA%8C%E5%B9%BE%E8%BC%AA%E7%9A%84%E6%96%87%E5%AD%97%E5%88%B0%E5%88%97%EF%BC%88%E7%AF%84%E4%BE%8B%E5%9C%A8%E6%AD%A4%E8%99%95%E6%89%BE%E5%88%B0%EF%BC%89%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FDiscussions%2FHow-can-I-split-text-in-a-column-into-multiple-columns%2Ftd-p%2F19981%22%20target%3D%22_blank%22%3E%E5%B7%B2%E8%A7%A3%E6%B1%BA%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%87%E4%B8%80%E5%88%97%E4%B8%AD%E7%9A%84%E6%96%87%E5%AD%97%E6%8B%86%E5%88%86%E7%82%BA%E5%A4%9A%E5%88%97%EF%BC%9F%20-%20JMP%20%E4%BD%BF%E7%94%A8%E8%80%85%E7%A4%BE%E7%BE%A4%EF%BC%89%3C%2FA%3E%E7%84%B6%E5%BE%8C%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E9%80%8F%E9%81%8E%E9%81%B8%E6%93%87%E6%89%80%E9%9C%80%E7%9A%84%E5%88%97%E4%BE%86%E9%80%A3%E6%8E%A5%E5%AE%83%E5%80%91%EF%BC%8C%E7%84%B6%E5%BE%8C%E4%BD%BF%E7%94%A8%E5%88%97%E5%85%AC%E5%BC%8F%E6%88%96%E5%8F%B3%E9%8D%B5%E5%96%AE%E6%93%8A%E6%89%80%E9%81%B8%E5%88%97%E4%B9%8B%E4%B8%80%E5%BE%8C%E4%BD%BF%E7%94%A8%E3%80%8C%E6%96%B0%E5%85%AC%E5%BC%8F%E5%88%97%E3%80%8D%E9%81%B8%E9%A0%85%E3%80%82%20%E5%B0%8B%E6%89%BE%E9%80%A3%E6%8E%A5%E7%9A%84%E5%AD%97%E5%85%83%E9%81%B8%E9%A0%85%E3%80%82%E5%88%97%E5%85%AC%E5%BC%8F%E6%9B%B4%E5%8A%A0%E9%9D%88%E6%B4%BB%EF%BC%8C%E7%82%BA%E6%82%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E8%A8%B1%E5%A4%9A%E9%81%B8%E9%A0%85%EF%BC%8C%E8%AB%8B%E5%8F%83%E9%96%B1%E6%9C%89%E9%97%9C%E6%AD%A4%E4%B8%BB%E9%A1%8C%E7%9A%84%E5%8D%94%E5%8A%A9%EF%BC%88%3CA%20href%3D%22https%3A%2F%2Fwww.jmp.com%2Fsupport%2Fhelp%2Fen%2F16.1%2F%23page%2Fjmp%2Fcreate-formulas-in-jmp.shtml%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3E%E5%9C%A8%20JMP%20%E4%B8%AD%E5%BB%BA%E7%AB%8B%E5%85%AC%E5%BC%8F%3C%2FA%3E%EF%BC%89%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%B8%8C%E6%9C%9B%E9%80%99%E8%83%BD%E7%B5%A6%E4%BD%A0%E4%B8%80%E4%BA%9B%E6%8C%87%E5%BC%95%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%9C%80%E5%A5%BD%E7%9A%84%EF%BC%8C%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-424012%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E5%9B%9E%E8%A6%86%EF%BC%9A%E8%A7%A3%E6%9E%90%E4%B8%80%E5%88%97%E7%9A%84%E5%AD%97%E4%B8%B2%E4%B8%A6%E5%A1%AB%E5%85%A5%E5%8F%A6%E4%B8%80%E5%88%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-424012%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E6%82%A8%E5%BE%88%E5%8F%AF%E8%83%BD%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20Lag%20%E7%B7%A8%E5%AF%AB%E5%85%AC%E5%BC%8F%E4%BE%86%E5%9F%B7%E8%A1%8C%E6%AD%A4%E6%93%8D%E4%BD%9C%EF%BC%88%E6%88%96%E4%BD%BF%E7%94%A8%20JSL%20%E7%B7%A8%E5%AF%AB%E8%85%B3%E6%9C%AC%EF%BC%89%EF%BC%8C%E4%BD%86%E6%82%A8%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%98%97%E8%A9%A6%E4%BB%A5%E4%BA%92%E5%8B%95%E6%96%B9%E5%BC%8F%E5%9F%B7%E8%A1%8C%E6%AD%A4%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%BD%86%E9%80%99%E9%9C%80%E8%A6%81%E7%9B%B8%E7%95%B6%E5%A4%9A%E7%9A%84%E6%AD%A5%E9%A9%9F%EF%BC%9A%3C%2FP%3E%3CP%3E1.%20%E9%81%B8%E6%93%87%E3%80%8C%E7%94%A2%E5%93%81%E5%90%8D%E7%A8%B1%E3%80%8D%E6%AC%84%3C%2FP%3E%3CP%3E2.%20%E5%89%8D%E5%BE%80%20Cols%2FUtilities%2FText%20To%20%E6%AC%84%E4%BD%8D%E4%B8%A6%E4%BD%BF%E7%94%A8%20-%20%E5%92%8C%20_%20%E4%BD%9C%E7%82%BA%E5%88%86%E9%9A%94%E7%AC%A6%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_1-1633543923524.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_1-1633543923524.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_1-1633543923524.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36361iFC54C47833814DA2%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_1-1633543923524.png%22%20alt%3D%22jthi_1-1633543923524.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E3.%20%E5%89%8D%E5%BE%80%E2%80%9C%E8%A1%A8%E6%A0%BC%E5%92%8C%E5%A0%86%E7%96%8A%E2%80%9D%EF%BC%8C%E4%B8%A6%E5%B0%87%E9%99%A4%E7%AC%AC%E4%B8%80%E5%88%97%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E5%85%B6%E4%BB%96%E5%85%A7%E5%AE%B9%E6%96%B0%E5%A2%9E%E8%87%B3%E2%80%9C%E5%A0%86%E7%96%8A%E5%88%97%E2%80%9D%E9%81%B8%E6%93%87%E4%B8%AD%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_2-1633543952690.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_2-1633543952690.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_2-1633543952690.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36362i9EA441DCFF1EA0B7%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_2-1633543952690.png%22%20alt%3D%22jthi_2-1633543952690.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_3-1633543992153.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_3-1633543992153.png%22%20style%3D%22width%3A%20344px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_3-1633543992153.png%22%20style%3D%22width%3A%20344px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36363iC944F3C18A5FB1DB%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_3-1633543992153.png%22%20alt%3D%22jthi_3-1633543992153.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E5.%20%E5%88%AA%E9%99%A4%E6%A8%99%E7%B1%A4%E5%88%97%3C%2FP%3E%3CP%3E6.%20%E9%81%B8%E6%93%87%E5%89%A9%E4%B8%8B%E7%9A%84%E5%85%A9%E5%88%97%EF%BC%8C%E7%84%B6%E5%BE%8C%E5%89%8D%E5%BE%80%E8%A1%8C%2F%E8%A1%8C%E9%81%B8%E6%93%87%2F%E9%81%B8%E6%93%87%E9%87%8D%E8%A4%87%E8%A1%8C%E4%B8%A6%E5%88%AA%E9%99%A4%E9%80%99%E4%BA%9B%E8%A1%8C%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_4-1633544046999.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_4-1633544046999.png%22%20style%3D%22width%3A%20224px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_4-1633544046999.png%22%20style%3D%22width%3A%20224px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36364i06FBDD424C77B6E6%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_4-1633544046999.png%22%20alt%3D%22jthi_4-1633544046999.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E7.%20%E9%81%B8%E6%93%87%E4%B8%80%E5%80%8B%E5%85%B7%E6%9C%89%E7%A9%BA%E5%80%BC%E7%9A%84%E5%84%B2%E5%AD%98%E6%A0%BC%EF%BC%8C%E7%84%B6%E5%BE%8C%E9%81%B8%E6%93%87%E3%80%8C%E9%81%B8%E6%93%87%E7%AC%A6%E5%90%88%E5%84%B2%E5%AD%98%E6%A0%BC%E3%80%8D%E4%B8%A6%E5%88%AA%E9%99%A4%E9%80%99%E4%BA%9B%E8%A1%8C%3C%2FP%3E%3CP%3E8.%20%E7%8F%BE%E5%9C%A8%E9%81%B8%E6%93%87%E5%85%A9%E5%80%8B%E5%88%97%E4%B8%A6%E5%8F%B3%E9%8D%B5%E5%96%AE%E6%93%8A%E5%88%97%E6%A8%99%E9%A1%8C%E4%B8%A6%E5%BB%BA%E7%AB%8B%E5%85%AC%E5%BC%8F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_5-1633544143551.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_5-1633544143551.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_5-1633544143551.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36365iC3A6D70C648AF54A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_5-1633544143551.png%22%20alt%3D%22jthi_5-1633544143551.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E9.%E6%89%93%E9%96%8B%E5%89%9B%E5%89%9B%E5%BB%BA%E7%AB%8B%E7%9A%84%E5%85%AC%E5%BC%8F%EF%BC%8C%E5%B0%87%2C%E6%9B%B4%E6%94%B9%E7%82%BA_%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_6-1633544215817.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_6-1633544215817.png%22%20style%3D%22width%3A%20356px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_6-1633544215817.png%22%20style%3D%22width%3A%20356px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36366i1BCC3FAB9119A8F2%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_6-1633544215817.png%22%20alt%3D%22jthi_6-1633544215817.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E10.%E9%87%8D%E6%96%B0%E5%91%BD%E5%90%8D%E5%92%8C%E5%88%AA%E9%99%A4%E5%88%97%2F%E5%85%AC%E5%BC%8F%3C%2FP%3E%3CP%3E11.%20%E5%A6%82%E6%9E%9C%E6%82%A8%E9%9C%80%E8%A6%81%3CSPAN%3EProductName%20%E5%9C%A8%E9%82%A3%E8%A3%A1%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%BD%A0%E4%B8%8D%E5%83%8F%E6%88%91%E4%B8%80%E6%A8%A3%E5%9C%A8%E7%AC%AC%E4%B8%80%E6%AD%A5%E4%B8%AD%E4%B8%8D%E5%B0%8F%E5%BF%83%E5%88%AA%E9%99%A4%E4%BA%86%E5%AE%83%EF%BC%8C%E4%BD%A0%E6%87%89%E8%A9%B2%E8%83%BD%E5%A4%A0%E5%B0%87%E5%AE%83%E4%BF%9D%E7%95%99%E5%9C%A8%E9%82%A3%E8%A3%A1%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_7-1633544489056.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_7-1633544489056.png%22%20style%3D%22width%3A%20185px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_7-1633544489056.png%22%20style%3D%22width%3A%20185px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F36367i591A9E1422FF54E8%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_7-1633544489056.png%22%20alt%3D%22jthi_7-1633544489056.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E5%BF%85%E9%A0%88%E6%9C%89%20-%20%E6%88%96%20_%20%E5%8F%96%E6%B1%BA%E6%96%BC%E5%BA%8F%E8%99%9F%EF%BC%8C%E6%82%A8%E5%BE%88%E5%8F%AF%E8%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%80%A3%E6%8E%A5%E5%85%AC%E5%BC%8F%E4%B8%AD%E8%99%95%E7%90%86%E5%AE%83%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E7%B7%A8%E8%BC%AF%EF%BC%9A%E6%88%91%E6%9B%B4%E6%BA%96%E7%A2%BA%E5%9C%B0%E6%AA%A2%E6%9F%A5%E4%BA%86%E9%80%99%E5%80%8B%E5%95%8F%E9%A1%8C%EF%BC%8C%E9%80%99%E6%AF%94%E6%88%91%E5%9C%A8%E9%80%99%E8%A3%A1%E5%B1%95%E7%A4%BA%E7%9A%84%E8%A6%81%E8%A4%87%E9%9B%9C%E4%B8%80%E4%BA%9B%E3%80%82%20%E6%82%A8%E5%BF%85%E9%A0%88%E7%82%BA%E6%9F%90%E4%BA%9B%E5%BA%8F%E8%99%9F%E6%96%B0%E5%A2%9E%E8%A8%88%E7%AE%97%EF%BC%8C%E5%9B%A0%E7%82%BA%E5%AE%83%E5%80%91%E4%BD%8D%E6%96%BC%E6%95%B8%E5%AD%97%E4%B9%8B%E9%96%93%E3%80%82%20%E6%AD%A4%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%A1%88%E4%B8%8D%E9%81%A9%E7%94%A8%E6%96%BC%E9%80%99%E4%BA%9B%E6%83%85%E6%B3%81%EF%BC%8C%E5%9B%A0%E7%82%BA%E5%88%AA%E9%99%A4%E9%87%8D%E8%A4%87%E9%A0%85%E6%99%82%E6%9F%90%E4%BA%9B%E8%A1%8C%E5%B0%87%E8%A2%AB%E5%88%AA%E9%99%A4%E3%80%82%3C%2FSTRONG%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
cchueng
Level IV

Parse string of a column and fill another column

Hi, 

I have a table containing ProductName and I want to generate the OUTPUT column.  The OUTPUT column a concatenation of ProductID with Serial#. How do I accurately parse the Serial# and create the OUTPUT column?

Serial # examples:

  • 07-08_13 means Serial# 07, 08, 13
  • 09-12 means Serial# 09, 10, 11, 12
  • 01-03_05-08 means Serial# 01, 02, 03, 05, 06, 07, 08
  • 01_04_05-08 means Serial# 01, 04, 05, 06, 07, 08
  • 09_11_13_14 means Serial# 09,11,13,14

 

cchueng_5-1633542341785.png

 

ProductNameOUTPUT
AABBCC_07-08_13AABBCC-07
AABBCC_07-08_13AABBCC-08
AABBCC_07-08_13AABBCC-13
AABBCC_09-12AABBCC-09
AABBCC_09-12AABBCC-10
AABBCC_09-12AABBCC-11
AABBCC_09-12AABBCC-12
EEFFGG_02EEFFGG-02
HHIIJJ_01-07HHIIJJ-01
HHIIJJ_01-07HHIIJJ-02
HHIIJJ_01-07HHIIJJ-03
HHIIJJ_01-07HHIIJJ-04
HHIIJJ_01-07HHIIJJ-05
HHIIJJ_01-07HHIIJJ-06
HHIIJJ_01-07HHIIJJ-07
KKLLLMM_01-03_05-08KKLLLMM-01
KKLLLMM_01-03_05-08KKLLLMM-02
KKLLLMM_01-03_05-08KKLLLMM-03
KKLLLMM_01-03_05-08KKLLLMM-05
KKLLLMM_01-03_05-08KKLLLMM-06
KKLLLMM_01-03_05-08KKLLLMM-07
KKLLLMM_01-03_05-08KKLLLMM-08
NNOOPP_01_04_05-08NNOOPP-01
NNOOPP_01_04_05-08NNOOPP-04
NNOOPP_01_04_05-08NNOOPP-05
NNOOPP_01_04_05-08NNOOPP-06
NNOOPP_01_04_05-08NNOOPP-07
NNOOPP_01_04_05-08NNOOPP-08
QQRRSS_09_11_13_14QQRRSS_09
QQRRSS_09_11_13_14QQRRSS_11
QQRRSS_09_11_13_14QQRRSS_13
QQRRSS_09_11_13_14QQRRSS_14

 

 

 

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Parse string of a column and fill another column

It just had a minor error where a -1 was not removed when I restructured my code.

txnelson_0-1634012182394.png

Names Default To Here( 1 );
dt = Current Data Table();

dt2 = New Table( "The Output",
	New Column( "Product Name", character ),
	New Column( "ProductID", Character ),
	New Column( "OUTPUT", Character )
);

For( dtRow = 1, dtRow <= N Rows( dt ), dtRow++,
	If( dtRow == 1 | dt:ProductName[dtRow - 1] != dt:ProductName[dtRow],
		prodID = Word( 1, dt:ProductName[dtRow], "_" );
		remainder = Substr( dt:ProductName[dtRow], Length( prodID ) + 2 );
		While( Word( 1, remainder, "_" ) != "",
			theWord = Word( 1, remainder, "_" );
			If( Contains( theWord, "-" ),
				numDigets = Length( Word( 1, theWord, "-" ) ) - 1;
				zeros = Repeat( "0", numDigets );
				For( loop = Num( Word( 1, theWord, "-" ) ),
					loop <= Num( Word( 2, theWord, "-" ) ), loop++,
					dt2 << Add rows( 1 );
					theRow = N Rows( dt2 );
					dt2:ProductName[theRow] = dt:ProductName[dtRow];
					dt2:ProductID[theRow] = Word( 1, dt:ProductName[dtRow], "_-" );
					dt2:output[theRow] = dt2:ProductID[theRow] || "-" ||
					Substr( zeros, Length( Char( loop ) ) ) || Char( loop );
				);
			,
				dt2 << Add Rows( 1 );
				theRow = N Rows( dt2 );
				dt2:output[theRow] = prodID || "-" || Word( 1, theWord, "-" );
				dt2:ProductName[theRow] = dt:ProductName[dtRow];
				dt2:ProductID[theRow] = Word( 1, dt:ProductName[dtRow], "_-" );
			);
			remainder = Substr( remainder, Length( theWord ) + 2 );
		);
	)
);

Please make sure you take the time to study the code, so you completely understand how it is working.

Jim

View solution in original post

20 REPLIES 20
jthi
Super User

Re: Parse string of a column and fill another column

Most likely you could write a formula with Lag to do that (or script with JSL), but you can also attempt to do that interactively but it takes quite a few steps:

1. Select ProductName column

2. Go to Cols/Utilities/Text To columns and use both - and _ as delimiters

jthi_1-1633543923524.png

 

3. Go to Tables and Stack and add everything else besides first column to Stack Columns selection

jthi_2-1633543952690.png

jthi_3-1633543992153.png

 

5. Remove Label column

6. Select both columns which are left and go to Rows / Row Selection / Select Dublicate Rows and delete those rows

jthi_4-1633544046999.png

 

7. Select one cell with empty value and choose Select Matching Cells and delete those rows

8. Now choose both colums and right click on the column header and create formula

jthi_5-1633544143551.png

9. Open the just created formula and change the , to _

jthi_6-1633544215817.png

10. Rename and delete columns/formulas

11. If you need to have ProductName there, you should be able to keep it there if you don't accidentally delete it in first step like i did

jthi_7-1633544489056.png

If you have to have - or _ depending on the serialnumber you could handle it in the concatenate formula most likely

 

Edit: I checked the question a bit more accurately and this is a bit more complicated than I showed here. You will have to add calculations for some of the serial numbers because they are between numbers. This solution won't work in those because some rows will be removed when duplicates are removed.

-Jarmo

Re: Parse string of a column and fill another column

@jthi ,

 

You beat me to it. :)  Your explanation is more detailed and what I was thinking of too.

Chris Kirchberg, M.S.2
Data Scientist, Life Sciences - Global Technical Enablement
JMP Statistical Discovery, LLC. - Denver, CO
Tel: +1-919-531-9927 ▪ Mobile: +1-303-378-7419 ▪ E-mail: chris.kirchberg@jmp.com
www.jmp.com

Re: Parse string of a column and fill another column

Oh, your right. the - is interpreted as a range and the _ is interpreted as a true delimiter of items

Chris Kirchberg, M.S.2
Data Scientist, Life Sciences - Global Technical Enablement
JMP Statistical Discovery, LLC. - Denver, CO
Tel: +1-919-531-9927 ▪ Mobile: +1-303-378-7419 ▪ E-mail: chris.kirchberg@jmp.com
www.jmp.com
cchueng
Level IV

Re: Parse string of a column and fill another column

Thanks but I prefer a jsl rather than the interactive delimiter. Your method did not address the scenario when the Serial # 09-12. It should output rows like below. Not just AABBCC-09 and AABBCC-12. The "-" means "to" meaning range. So 09-12 means 09, 10, 11, 12.

AABBCC_09-12AABBCC-09
AABBCC_09-12AABBCC-10
AABBCC_09-12AABBCC-11
AABBCC_09-12AABBCC-12
jthi
Super User

Re: Parse string of a column and fill another column

Ok, this might work. Requires JMP16 due to usage of For Each (can be replaced with For for other versions. This is heavily scripted solution, with little or no comments and will require specific starting table to work (needs OUTPUT column).

 

 

Names Default To Here(1);

dt = New Table("Untitled 4993",
	Add Rows(32),
	Compress File When Saved(1),
	New Column("ProductName",
		Character,
		"Nominal",
		Set Values(
			{"AABBCC_07-08_13", "AABBCC_07-08_13", "AABBCC_07-08_13", "AABBCC_09-12", "AABBCC_09-12", "AABBCC_09-12", "AABBCC_09-12", "EEFFGG_02",
			"HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "KKLLLMM_01-03_05-08",
			"KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08",
			"NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08",
			"QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14"}
		)
	),
	New Column("OUTPUT",
		Character(16),
		"Nominal",
		Set Values({"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""})
	)
);


Summarize(dt, uniqProd = by(:ProductName));

valList = {};
For Each({prod}, uniqProd,
	prodPart = Word(1, prod, "_");
	serialPart = Substr(prod, Contains(prod, "_") + 1); //remove start
	possibleRanges = Words(serialPart, "_"); //if they contain -
	For Each({val}, possibleRanges,
		If(Contains(val, "-"), //range
			rangeVals = Words(val, "-");
			For Each({val1}, Index(Num(rangeVals[1]), Num(rangeVals[2])), 
				valToAdd = Substr("0", Length(Char(val1))) || Char(val1);
				Insert Into(valList, prodPart || "-" || valToAdd)
			);
		,
			Insert Into(valList, prodPart || "-" || Substr("0", Length(Char(val))) || Char(val))
		)
	);
);

dt[0,"OUTPUT"] = valList;

Wondering if something like this could be done "easily" with JMP's own pattern matching @Craige_Hales 

 

-Jarmo
cchueng
Level IV

Re: Parse string of a column and fill another column

Hi jthi,

Thanks for the script but my table is actually dynamic. Each day, I will pull up this table from a database with a different date range and different sets of ProductName will appear. So it is not always 32 rows. Your script can almost work but can you address the array size? Thanks.

jthi
Super User

Re: Parse string of a column and fill another column

It should be fairly easy. Do you have as many rows in the pulled data as you will have serial numbers?

-Jarmo
cchueng
Level IV

Re: Parse string of a column and fill another column

Hi jthi,

Yes, the number of rows matched the number of serial numbers.

jthi
Super User

Re: Parse string of a column and fill another column

If that is the case, it should already be able to handle it. I did small modifications (creation of OUTPUT column if it is missing). Currently it does rely on the fact that the datatable is sorted by ProductNames, which could cause issues at some point, or then you can make sure the input table is sorted (easiest solution).

 

You should be able to use the For Each part can be even used without datatable as long as you have list variable named uniqProd which has ProductNames. After that is just figuring out how to add values to datatable.

 

Names Default To Here(1);

//Test table
/*
dt = New Table("Untitled 4993",
	Compress File When Saved(1),
	New Column("ProductName",
		Character,
		"Nominal",
		Set Values(
			{"AABBCC_07-08_13", "AABBCC_07-08_13", "AABBCC_07-08_13", "AABBCC_09-12", "AABBCC_09-12", "AABBCC_09-12", "AABBCC_09-12", "EEFFGG_02",
			"HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "HHIIJJ_01-07", "KKLLLMM_01-03_05-08",
			"KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08", "KKLLLMM_01-03_05-08",
			"NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08", "NNOOPP_01_04_05-08",
			"QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14", "QQRRSS_09_11_13_14"}
		)
	)
);
*/

dt = Current Data Table();

Summarize(dt, uniqProd = by(:ProductName));

valList = {};
For Each({prod}, uniqProd, //loop for each ProductName
	prodPart = Word(1, prod, "_");
	serialPart = Substr(prod, Contains(prod, "_") + 1); //remove start
	possibleRanges = Words(serialPart, "_"); //if they contain -
	For Each({val}, possibleRanges, //Loop for serialnumber inside the ProductName
		If(Contains(val, "-"), //range
			rangeVals = Words(val, "-");
			For Each({val1}, Index(Num(rangeVals[1]), Num(rangeVals[2])), 
				valToAdd = Substr("0", Length(Char(val1))) || Char(val1);
				Insert Into(valList, prodPart || "-" || valToAdd)
			);
		,
			Insert Into(valList, prodPart || "-" || Substr("0", Length(Char(val))) || Char(val))
		)
	);
);

//if starting table doesn't have OUTPUT column create it
If(!Contains(dt << Get Column Names("String"), "OUTPUT"), 
	dt << New Column("OUTPUT", Character, "Nominal");
);

//dt[0,"OUTPUT"] = valList; subscripting, maybe a bit more difficult to understand
dt:OUTPUT << Set Values(valList);

 

Simplified version what they script tries to do:

1. Script gets all unique values in ProductName column

2. Script loops over each of those in two part For Each loop

3. First loop loops over the unique values and splits them into Product and number parts

4. Serialnumber part is then looped again to split it into single values. These single values are concatenated with Product part and then the string is inserted into valList list (this 4. isn't exactly as simple as I explained here).

5. After both loops have finished you should have a list, which has all possible serialnumbers. Product part will be in alphabetical order.

6. This list is then added to OUTPUT if it exists, if it doesn't it is first created.

-Jarmo

Recommended Articles