JMP가 값을 인식하고 새 값을 채우도록 할 수 있습니까?누군가가 이것에 대한 JMP 스크립트 또는 자동화 된 방법을 알아낼 수 있는지 궁금합니다.
JMP에서 인식하고 해당하는 카운티 수준 코드로 새 열을 채우려는 우편 번호 세트가 있습니다. 나는 이것을 어떻게 가장 잘 설명해야하는지 또는 이것에 대한 용어가 있는지 잘 모르겠습니다. JMP가 우편 번호를 "횡단 보도"하여 카운티 수준 코드로 변환하기를 원합니다.
예를 들어, 한 파일에 다음 우편 번호가 데이터로 있습니다.
| 08106 |
| 08107 |
| 08108 |
| 08109 |
| 08110 |
| 08110 |
| 08201 |
| 08202 |
| 08203 |
| 08213 |
| 08214 |
| 08215 |
| 08215 |
| 08217 |
| 08218 |
| 08219 |
JMP가 각 우편 번호를 살펴보고 해당 카운티 코드의 새 열에서 생성하기를 원합니다. 별도의 파일에 해당 우편 번호-> 카운티 코드가 있습니다.
| 08110 | 34007 |
| 08201 | 34001 |
| 08202 | 34009 |
| 08203 | 34001 |
| 08204 | 34009 |
| 08205 | 34001 |
| 08210 | 34009 |
수동으로 수동으로 수행하는 것 외에 각 우편 번호를 검색하여 카운티 코드가 무엇인지 알아내는 것 외에 자동화 된 방법이 있습니까?
당신의 도움을 주셔서 감사합니다!
Re : JMP가 값을 인식하고 새 값을 입력하도록 할 수 있습니까?연관 배열을 사용하여 조회 테이블을 만드십시오. (예상되지 않은 코드는 다음과 같습니다. dtZtoC는 카운티 정보에 대한 zip 테이블입니다)
lookup = associativearray();
for( i = 1, i <= nrows(dtZtoC), i += 1,
lookup[ dtZtoC:zip[i] ] = dtZtoC:county[i];
);
그런 다음 루프 또는 열 공식을 사용하여 새 열을 만듭니다 (미정 ... 이것은 카운티의 열 공식이 어떻게 보일 수 있는지).
lookup[zip]
열 수식은 나중에 사용할 수없는 조회 테이블에 따라 다르므로 완료되면 열에서 수식을 제거하세요. 또는 열 수식없이 이와 같은 루프를 사용합니다 (미정 ...).
for( i = 1, i <= nrows(dtData), i += 1,
dtData:county[i] = lookup[dtData:zip[i]];
);
편집하다: Lat-Lon을 Zip으로 역 지오 코드 가상 조인을 사용합니다. 여기서도 가상 조인이 좋은 선택 일 수 있습니다. 가상 조인은 유연성을 얻기 위해 복잡성을 추가합니다. zip-to-county 매핑이 변경된 경우 dtZtoC 테이블을 업데이트하면 dtData 테이블이 자동으로 변경 사항을 가져옵니다. 그러나 이제 필요한 두 개의 테이블이 있습니다.
Re : JMP가 값을 인식하고 새 값을 입력하도록 할 수 있습니까?다음은 가상 조인의 모습입니다 (포인트 앤 클릭, jsl 필요 없음).
골드 키 값은 열에서 고유해야합니다.
county [zip] 열은 기본적으로 숨겨져 있으며 사진에서 숨김을 해제했습니다. 이미 저장된 테이블에서 가장 잘 작동하며 파란색 키 테이블 이전에 열린 골드 키 테이블이 필요할 수 있습니다 (키가 회색으로 표시되는지 알 수 있음).
편집-코드를 문자 데이터로 유지하고 싶을 수 있습니다. 방금 앞의 0이 사라진 것을 알았습니다!
Re : JMP가 값을 인식하고 새 값을 입력하도록 할 수 있습니까?안녕 헉헉 ,
다른 테이블에 두 개의 일치하는 열이 있는지 이해하지 못했습니다. 그렇다면 테이블 조인 또는 업데이트를 한 번 사용하고 스크립트를 작성합니다.
지도에 데이터가있는 경우 (키 일치 테이블 없음) 이에 대한 솔루션도 있습니다. 과거에는 테이블의 위치 기반 업데이트에 대해 논의했습니다.
https://community.jmp.com/t5/Discussions/join-tables-based-on-location/mp/14827/highlight/true#M13786
도움이되는지 알려주세요.
Ron