cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-109791%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109791%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%80%81TEST_BOUROUGH_GENDER%E3%81%AE%E5%88%97%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E5%90%8D%E3%82%92%E6%8C%81%E3%81%A4%E3%80%81%E7%A9%8D%E3%81%BF%E9%87%8D%E3%81%AD%E3%82%8B%E3%81%B9%E3%81%8D%E5%A4%9A%E6%95%B0%E3%81%AE%E5%88%97%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E4%BB%8A%E3%81%99%E3%81%90BOUROUGH%E3%81%8C%E5%88%97%E5%90%8D%E3%81%8B%E3%82%89%E8%A6%8B%E4%BB%98%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%A6%E3%80%81%E5%88%97%E3%81%8B%E3%82%89%E3%81%AE%E5%80%A4%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%81%AE%E3%81%8C%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AEBOUROUGH%EF%BC%88%E3%81%A4%E3%81%BE%E3%82%8ANYC%EF%BC%89%E3%81%8B%E3%82%89%E3%81%A7%E3%81%99%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AETEST_BOUROUGH_GENDER%E5%88%97%E5%90%8D%E3%82%92%E7%A9%8D%E3%81%BF%E9%87%8D%E3%81%AD%E3%81%A6%E3%81%8B%E3%82%89%E3%80%81test%E3%80%81location%E3%80%81gender%E3%81%A8%E3%81%84%E3%81%86%E6%96%B0%E3%81%97%E3%81%84%E5%88%97%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%EF%BC%88%E4%B8%8B%E8%A8%98%E5%8F%82%E7%85%A7%EF%BC%89%E3%80%82BOUROUGH%E5%90%8D%E3%81%8C%E6%AC%A0%E8%90%BD%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%88%97%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%81%9D%E3%81%AE%E5%88%97%E5%90%8D%E3%81%ABNYC%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E7%A7%81%E3%81%AF%E3%81%93%E3%82%8C%E3%81%8C%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%81%A7%E3%82%82%E3%81%A7%E3%81%8D%E3%82%8C%E3%81%B0%E7%A7%81%E3%82%82%E5%A5%BD%E3%82%80%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%82%E4%BB%BB%E6%84%8F%E3%81%AE%E8%80%83%E3%81%88%E3%82%84%E5%85%A5%E5%8A%9B%E3%81%AF%E5%A4%A7%E6%AD%93%E8%BF%8E%E3%81%A7%E3%81%99%E3%80%82%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E5%88%97%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E5%90%8D%3C%2FSTRONG%3E%20%EF%BC%9ACALC1_BROOKLYN_M%E3%80%81CALC2_QUEENS_F%E3%80%81CALC2_M%E3%80%81..%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Eref%20%3D%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%EF%BC%88%EF%BC%89%3B%3C%2FP%3E%3CP%3Estat%20stack%20%26lt%3B%26lt%3B%20ref%20stack%EF%BC%88%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%A9%E3%83%99%E3%83%AB%E5%88%97%EF%BC%88%20%22Label%22%EF%BC%89%E3%80%81%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%83%87%E3%83%BC%E3%82%BF%E5%88%97%EF%BC%88%20%22Data%22%EF%BC%89%EF%BC%89%3B%3C%2FP%3E%3CP%3Estat%20stack%20%26lt%3B%26lt%3B%20New%20Column%EF%BC%88%20%22test%22%E3%80%81%E5%BC%8F%EF%BC%88Right%EF%BC%88%EF%BC%9ALabel%E3%80%815%EF%BC%89%EF%BC%89%EF%BC%89%3B%3C%2FP%3E%3CP%3Estat%20stack%20%26lt%3B%26lt%3B%E6%96%B0%E3%81%97%E3%81%84%E5%88%97%EF%BC%88%20%22location%22%E3%80%81%E5%BC%8F%EF%BC%88Regex%EF%BC%88%EF%BC%9ALabel%E3%80%81%22_%EF%BC%88%E3%80%82*%EF%BC%89_%22%E3%80%81%22%5C%201%22%EF%BC%89%EF%BC%89%EF%BC%89%3B%3C%2FP%3E%3CP%3E%E7%B5%B1%E8%A8%88%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%26lt%3B%26lt%3B%E6%96%B0%E3%81%97%E3%81%84%E5%88%97%EF%BC%88%20%22%E6%80%A7%E5%88%A5%22%E3%80%81%E5%BC%8F%EF%BC%88%E5%8F%B3%EF%BC%88%EF%BC%9A%E3%83%A9%E3%83%99%E3%83%AB%E3%80%811%EF%BC%89%EF%BC%89%EF%BC%89%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-109871%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%EF%BC%9ARegex%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109871%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%A7%E3%81%99%E3%81%B9%E3%81%A6%E3%81%8C%E4%BF%AE%E6%AD%A3%E3%81%95%E3%82%8C%E3%80%81%E4%BB%8A%E3%81%A7%E3%81%AF%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%80%82%E6%9C%80%E5%BE%8C%E3%81%AE%E6%94%B9%E5%96%84%E7%82%B9%E3%81%AF%E3%80%81function%E3%81%A8%E3%81%84%E3%81%86%E5%8D%98%E8%AA%9E%E3%81%A8%E9%95%B7%E3%81%84%E9%80%A3%E6%8E%A5%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87%E5%AD%97%E3%81%AE%E5%89%8D%E3%81%AB%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E8%BF%94%E3%81%99%E6%96%B9%E6%B3%95%E3%81%8C%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%E3%81%9D%E3%81%AE%E3%81%9F%E3%82%81%E3%80%81%26lt%3B%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B9%E3%82%B3%E3%82%A2%E3%82%92%E5%90%AB%E3%82%80%3CWORD%3E%3C%2FWORD%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EColumn(cname)%20%26lt%3B%26lt%3B%20set%20name(%0A%20Word(1%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%7C%7C%20Word(2%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(3%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(4%2C%20cname%2C%20%22_%22)%20%7C%7C%22_ALL_%22%20%7C%7C%20Word(5%2Ccname%2C%22_%22)%0A%3CBR%20%2F%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-109870%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%EF%BC%9ARegex%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109870%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E7%A7%81%E3%81%8C%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E6%AC%B2%E3%81%97%E3%81%84%E3%82%82%E3%81%AE%E3%82%92%E7%90%86%E8%A7%A3%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AA%E3%82%89%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E6%AC%B2%E3%81%97%E3%81%84%E3%82%82%E3%81%AE%E3%82%92%E5%BE%97%E3%82%8B%E3%81%9F%E3%82%81%E3%81%ABOR%E5%8F%A5%E3%82%92%E4%BD%BF%E3%81%86%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EallColNames%20%3D%20dt%20%26lt%3B%26lt%3B%20getcolumnnames%3B%0ApulledCols%20%3D%20%7B%7D%3B%0A%0Afor(i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20items(allColNames)%2C%20i%2B%2B%2C%0A%20cname%20%3D%20Column(allColNames%5Bi%5D)%20%26lt%3B%26lt%3B%20get%20Name%3B%0A%20if(startswith(Word(5%2Ccname%20%2C%20%22_%22)%2C%22M%22)%20%7C%20startswith(Word(5%2Ccname%20%2C%20%22_%22)%2C%22P%22)%2C%0A%20%20Column(cname)%20%26lt%3B%26lt%3B%20set%20name(%0A%20%20%20Word(1%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%7C%7C%20Word(2%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(3%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(4%2C%20cname%2C%20%22_%22)%20%7C%7C%22_ALL_%22%20%7C%7C%20Word(5%2Ccname%2C%22_%22)%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-109855%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%EF%BC%9ARegex%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109855%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E7%A7%81%E3%81%8C%E6%AC%B2%E3%81%97%E3%81%84%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%EF%BC%81%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%82%92%E8%87%AA%E5%88%86%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AB%E5%85%A5%E3%82%8C%E3%82%88%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E7%A7%81%E3%81%AE%E4%BE%8B%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E5%80%A4%EF%BC%88TEST_BOUROUGH_GENDER%EF%BC%89%E3%81%AF%E3%80%81IP%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%82%88%E3%82%8A%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E4%BE%8B%E3%81%A8%E3%81%97%E3%81%A6%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%BE%E3%81%9F%E3%80%81%E6%9C%80%E5%BE%8C%E3%81%AE%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87%E5%AD%97%20%22_%22%E3%81%AE%E5%BE%8C%E3%81%AE%E5%88%97%E3%81%AF%E3%80%81M%E3%81%BE%E3%81%9F%E3%81%AFP%E3%81%AE%E3%81%84%E3%81%9A%E3%82%8C%E3%81%8B%E3%81%A7%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82startswith%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E5%85%88%E9%A0%AD%E3%81%AB2%E3%81%A4%E3%81%AE%E5%88%A5%E3%80%85%E3%81%AE%E6%96%87%E5%AD%97%E3%82%92%E5%90%AB%E3%82%81%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EallColNames%20%3D%20dt%20%26lt%3B%26lt%3B%20getcolumnnames%3B%0ApulledCols%20%3D%20%7B%7D%3B%0A%0ANcols%20%3D%20N%20items(allColNames)%3B%0Afor(i%20%3D%201%2C%20i%20%26lt%3B%3D%20Ncols%2C%20i%2B%2B%2C%0A%20cname%20%3D%20Column(allColNames%5Bi%5D)%20%26lt%3B%26lt%3B%20get%20Name%3B%0A%20if(startswith(Word(5%2Ccname%20%2C%20%22_%22)%2C%22M%22)%2C%0A%20%20Column(cname)%20%26lt%3B%26lt%3B%20set%20name(%0A%20%20%20Word(1%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%7C%7C%20Word(2%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(3%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(4%2C%20cname%2C%20%22_%22)%20%7C%7C%22_ALL_%22%20%7C%7C%20Word(5%2Ccname%2C%22_%22)%0A%20%20)%0A%20)%2C%0A%20if(startswith(Word(5%2Ccname%20%2C%20%22_%22)%2C%22P%22)%2C%0A%20%20Column(cname)%20%26lt%3B%26lt%3B%20set%20name(%0A%20%20%20Word(1%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%7C%7C%20Word(2%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(3%2C%20cname%2C%20%22_%22)%20%7C%7C%20%22_%22%20%7C%7C%20Word(4%2C%20cname%2C%20%22_%22)%20%7C%7C%22_ALL_%22%20%7C%7C%20Word(5%2Ccname%2C%22_%22)%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-109818%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%EF%BC%9ARegex%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109818%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EBourough%E3%81%8C%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B9%E3%82%B3%E3%82%A2%E3%82%92%E5%90%AB%E3%81%BE%E3%81%AA%E3%81%84%E9%99%90%E3%82%8A%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Edt%20%3D%20New%20Table(%22test%22%2C%0A%20%20%20%20Add%20Rows(3)%2C%0A%20%20%20%20New%20Column(%22Label%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Selected%2C%20Set%20Values(%7B%22CALC1_BROOKLYN_M%22%2C%20%22CALC2_QUEENS_F%22%2C%20%22CALC2_M%22%7D))%0A)%3B%0A%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22test%22%2C%20Formula(Left(%3ALabel%2C%205)))%3B%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22location%22%2C%20Formula(If(Is%20Missing(Regex(%3ALabel%2C%20%22_(.*)_%22))%2C%20%22NYC%22%2C%20Regex(%3ALabel%2C%20%22_(.*)_%22%2C%20%22%5C1%22))))%3B%0Adt%20%26lt%3B%26lt%3B%20New%20Column(%22gender%22%2C%20Formula(Right(%3ALabel%2C%201)))%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-109802%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%EF%BC%9ARegex%E3%81%A7%E5%88%97%E5%90%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-109802%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E5%90%8D%E5%89%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%93%E3%81%AE%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%AF%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E9%9D%9E%E5%B8%B8%E3%81%AB%E5%8D%98%E7%B4%94%E3%81%AA%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%202%20)%3B%0Adt%20%3D%20Current%20Data%20Table()%3B%0AcolNamesList%20%3D%20dt%20%26lt%3B%26lt%3B%20get%20column%20names(%20string%20)%3B%0A%0AFor(%20i%20%3D%201%2C%20i%20%26lt%3B%3D%20N%20Items(%20colNamesList%20)%2C%20i%2B%2B%2C%0A%20If(%20Word(%203%2C%20colNamesList%5Bi%5D%2C%20%22_%22%20)%20%3D%3D%20%22%22%2C%0A%20%20Column(%20colNamesList%5Bi%5D%20)%20%26lt%3B%26lt%3B%20set%20name(%0A%20%20%20Word(%201%2C%20colNamesList%5Bi%5D%2C%20%22_%22%20)%20%7C%7C%20%22_NYC_%22%20%7C%7C%20Word(%202%2C%20colNamesList%5Bi%5D%2C%20%22_%22%20)%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
tarkan_bih
Level III

Rename columns with Regex

Hi,

 

I have a list of a huge number of columns to stack that have column format name of TEST_BOUROUGH_GENDER, as shown below. Now the BOUROUGH can be missing from the column name and that imples the value from the column is from all the BOUROUGHs (ie NYC). I stacking all of the TEST_BOUROUGH_GENDER column names and then creating new columns called test, location and gender (see below). When I run into the case of a column that is missing a BOUROUGH name I would like to add NYC to that column name. I would also prefer if this is could be done with regular expressions. Any thoughts or input is greatly appreciated. 

 

column format name: CALC1_BROOKLYN_M, CALC2_QUEENS_F, CALC2_M, ..

 

 

ref = Current Data Table();

stat stack << ref stack(Source Label Column("Label"), Stacked Data Column("Data"));

stat stack << New Column("test", Formula(Right( :Label, 5 )));

stat stack << New Column("location", Formula(Regex( :Label, "_(.*)_", "\1" )));

stat stack << New Column("gender", Formula(Right( :Label, 1)))

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Rename columns with Regex

This solution on changing the names doesn't use regular expressions, but it is a very simple piece of code:

Names Default To Here( 2 );
dt = Current Data Table();
colNamesList = dt << get column names( string );

For( i = 1, i <= N Items( colNamesList ), i++,
	If( Word( 3, colNamesList[i], "_" ) == "",
		Column( colNamesList[i] ) << set name(
			Word( 1, colNamesList[i], "_" ) || "_NYC_" || Word( 2, colNamesList[i], "_" )
		)
	)
);
Jim

View solution in original post

5 REPLIES 5
txnelson
Super User

Re: Rename columns with Regex

This solution on changing the names doesn't use regular expressions, but it is a very simple piece of code:

Names Default To Here( 2 );
dt = Current Data Table();
colNamesList = dt << get column names( string );

For( i = 1, i <= N Items( colNamesList ), i++,
	If( Word( 3, colNamesList[i], "_" ) == "",
		Column( colNamesList[i] ) << set name(
			Word( 1, colNamesList[i], "_" ) || "_NYC_" || Word( 2, colNamesList[i], "_" )
		)
	)
);
Jim
tarkan_bih
Level III

Re: Rename columns with Regex

This is what I want! However when I try to put this in my script it is crashing. The values I used in my example (TEST_BOUROUGH_GENDER) are not real due to IP issues but mearly are used as an example. Also after the last delimiter "_" the column will either start M or P. Is there a way with startswith function to include two seperate characters it can start with?

 

allColNames = dt << getcolumnnames;
pulledCols = {};

Ncols = N items(allColNames);
for(i = 1, i <= Ncols, i++,
	cname = Column(allColNames[i]) << get Name;
	if(startswith(Word(5,cname , "_"),"M"),
		Column(cname) << set name(
			Word(1, cname, "_") || "_"|| Word(2, cname, "_") || "_" || Word(3, cname, "_") || "_" || Word(4, cname, "_") ||"_ALL_" || Word(5,cname,"_")
		)
	),
	if(startswith(Word(5,cname , "_"),"P"),
		Column(cname) << set name(
			Word(1, cname, "_") || "_"|| Word(2, cname, "_") || "_" || Word(3, cname, "_") || "_" || Word(4, cname, "_") ||"_ALL_" || Word(5,cname,"_")
		)
	)
);
txnelson
Super User

Re: Rename columns with Regex

If I am understanding what you want, you can use an OR clause to get what you want

allColNames = dt << getcolumnnames;
pulledCols = {};

for(i = 1, i <= N items(allColNames), i++,
	cname = Column(allColNames[i]) << get Name;
	if(startswith(Word(5,cname , "_"),"M") | startswith(Word(5,cname , "_"),"P"),
		Column(cname) << set name(
			Word(1, cname, "_") || "_"|| Word(2, cname, "_") || "_" || Word(3, cname, "_") || "_" || Word(4, cname, "_") ||"_ALL_" || Word(5,cname,"_")
		)
	)
);
Jim
tarkan_bih
Level III

Re: Rename columns with Regex

This fixes everything and now it works! Thanks for all the support. One final improvement I see is that instead of having a long string of concatentation with the word function is there a way to return everything before the delimiter? So for example is there a way to write it as <all values before Word(4, cname, "_")  including the underscores> || "_ALL_" || Word(5, cname, "_"). So basically I want column name string before the 4th delimiter.

 

Column(cname) << set name(
	Word(1, cname, "_") || "_"|| Word(2, cname, "_") || "_" || Word(3, cname, "_") || "_" || Word(4, cname, "_") ||"_ALL_" || Word(5,cname,"_")

ms
Super User (Alumni) ms
Super User (Alumni)

Re: Rename columns with Regex

This should work as long as Bourough don't contains an underscore.

dt = New Table("test",
    Add Rows(3),
    New Column("Label", Character, "Nominal", Set Selected, Set Values({"CALC1_BROOKLYN_M", "CALC2_QUEENS_F", "CALC2_M"}))
);

dt << New Column("test", Formula(Left(:Label, 5)));
dt << New Column("location", Formula(If(Is Missing(Regex(:Label, "_(.*)_")), "NYC", Regex(:Label, "_(.*)_", "\1"))));
dt << New Column("gender", Formula(Right(:Label, 1)));

Recommended Articles