데이터 테이블 : 메시지 열(colname)이 있나요? (:green_heart:)☐ 멋진 새로운 기능
☑ 많은 사용자에게 도움이 될 수 있습니다!
☑ "버그"를 제거합니다
☐ 있으면 좋다
☐ 아무도 필요하지 않아요
내 데이터 테이블에 열 이름이 있나요?
이는 커뮤니티에서 가장 자주 묻는 질문 중 하나입니다.
https://community.jmp.com/t5/Discussions/Check-column-name-if-existing/mp/312011/highlight/true#M56...
https://community.jmp.com/t5/Discussions/How-to-check-if-list-of-columns-exist-and-report-those-that...
https://community.jmp.com/t5/Discussions/If-column-exists/td-p/348
https://community.jmp.com/t5/Discussions/how-to-creat-new-column-if-same-name-column-does-not-exist/...
https://community.jmp.com/t5/Discussions/Create-a-new-Row-column-only-if-it-does-not-exist/td-p/3091...
https://community.jmp.com/t5/Discussions/Determining-if-a-column-exists/mp/6268#M6267
https://community.jmp.com/t5/Discussions/Validate-column-name-exists-before-graphing/mp/5088#M5087
그러니 현재로선 그것이 어떻게 구현되는지가 충분히 간단하지 않은 것 같습니다.
하지만 훨씬 더 흥미로운 것은 많은 위험을 안고 있다는 것입니다.
JSL 명명 규칙과 관련된 난제에 대해 모르는 사용자는 아마도 다음과 같이 쓸 것입니다.
Contains( dt << Get Column Names(String), "age" )
그의 코드에 넣어보세요. 꽤 쉽습니다...
하지만 매우 위험합니다. 다음을 참조하세요.
https://community.jmp.com/t5/Discussions/check-if-column-exists/mp/572468
일부 jsl 스크립팅 덕후들의 이상한 토론을 보면 위의 진술이 많은 경우에 효과가 있을 것이라는 걸 알 수 있지만,
열 이름에 공백, 대문자, 특수 문자가 포함되면 실패합니다.
사용자가 이러한 위험한 코드를 사용하지 못하도록 하려면 "실제화"하는 것이 가장 좋습니다.
- 즉, 모든 함정을 자동으로 고려하여 사용자에게 쉬운 솔루션을 제공합니다.
내 소원은:
데이터 테이블에 다음과 같은 질문을 할 수 있어야 합니다.
dt << contains column("colname")
이 기능은 모든 함정을 설명할 수 있습니다.
- compare with exact match - or check match for as name("colname")<FONT face="arial,helvetica,sans-serif">, 공백을 고려하여</FONT>
- 소문자/대문자를 구별하거나 구별하지 않음
- 특수문자 처리
이점:
- 커뮤니티 내 질문 감소
- 자동으로 더 나은 코드가 생성됩니다.
- 좌절감이 줄어듭니다.
더 많은 소원이 제출되었습니다 
자동화 및 스크립팅Re: 데이터 테이블: 메시지 열이 존재합니까(colname)?감사해요 
Re: 데이터 테이블: 메시지 열이 존재합니까(colname)? - 상태가 다음으로 변경되었습니다. 예, 계속 지켜봐 주시기 바랍니다!Development is exploring a solution: "직접 물어볼 수 있는 메시지를 테이블 위에 올려 놓으세요.dt << Has Column("age"), 정확한 일치 또는 이름(공백 및 대소문자 구분 안 함) 일치를 원하는 경우 다른 답변을 제공하는 옵션이 있을 수 있습니다."
예, 계속 지켜봐 주시기 바랍니다로 변경합니다.
Re: 데이터 테이블 << 열이 존재합니까("이름")? - 상태가 조사 중으로 변경되었습니다.Re: 데이터 테이블 << 열이 존재합니까("이름")?댓글을 남겨주신 @hogi 님 , @jthi 님 에게 감사드립니다. 상태를 조사로 변경합니다.
Re: 데이터 테이블 << 열이 존재합니까("이름")? - 상태가 다음으로 변경됨: 승인됨안녕하세요 @hogi 님 , 제안해 주셔서 감사합니다! 귀하의 요청을 포착했으며 이를 고려할 것입니다.
Re: 데이터 테이블 << 열이 존재합니까("이름")?JMP가 열 이름이 같거나 다르다는 것을 이해시키는 것이 더 나을 수 있을까요? 물론 이것은 문제를 일으킬 수 있으므로 구현하기가 쉽지 않을 수 있습니다.
여기서 약간 혼란스러운 점이 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:age << set name("a g e");
dt:age[1] = 999;
Show(Column(dt, "age")); //Column(dt, "age") = Column("a g e");
Show(dt:age[1]); //dt:age[1] = 999;
dt << New Column("age", Numeric, Ordinal);
Show(Column Name(2) == Column Name(6)); // Column Name(2) == Column Name(6) = 1; // Columns don't need unique names?
Show(Column(dt, "age")); //Column(dt, "age") = Column("age");
dt:age[1] = 9999;
Show(dt:age[1]); //dt:age[1] = 9999;
wait(1);
dt << Delete Column("age");
Show(Column(dt, "age")); //Column(dt, "age") = Column("a g e");
Show(dt:age[1]); //dt:age[1] = 999;
열이 특정 이름을 따르나요? 알파벳 문자 또는 밑줄로 시작하려면 다음 이름이 필요 하지만 열에서는 공백이 (때때로) 중요합니다. 어쩌면 문제가 있는 경우 열 참조가 작동하는 방식일 수도 있습니다.