목록의 열 이름과 함께 "각 행에 대해" 사용<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요 여러분
사용자 생성 테이블을 정리하는 방법을 연구 중인데 문제가 발생했습니다. 코드는 올바르게 컴파일되지만 작동하지 않습니다.
숫자와 이름 모두 알 수 없는 열(읽기: 다중, 변수, 사용자가 직접 쓴)이 있는 테이블이 있습니다.
간단한 표준화를 수행하고 싶습니다. 원하지 않는 공백과 대문자 오류로부터 값을 다듬는다고 가정해 보겠습니다.
그래서 열 이름이 포함된 목록을 생성하고 순환을 설정한 다음 내부의 각 행에 대해 a를 배치합니다.
컴파일되지만 작동하지 않습니다. 어떠한 제안? 코드는 여기 있어요
user_page = open ("\user\page.csv", labels(1));
full_list = user_page <<열 이름 가져오기(string);
(i=1,i
sclmn = ":"||full_list ;
각 행에 대해 (sclmn = 트림(sclmn));
각 행에 대해(sclmn = 소문자(sclmn))
);
문자열 대신 열 참조를 사용하거나 Eval()을 사용하여 여러 가지 변형을 시도했지만 모두 컴파일에 실패했습니다. 이 레이아웃은 유일하게 컴파일되지만 여전히 작동하지 않습니다. 누군가 내가 이유를 이해하도록 도와줄 수 있습니까?
Re: 목록의 열 이름과 함께 "각 행에 대해" 사용JMP 스크립팅 가이드에 따르면 "열 셀의 값에 액세스하려면 항상 열 참조에 아래 첨자를 사용하십시오." 지적한 것처럼 대괄호 없이 작동하는 예외가 있지만 이것이 모범 사례인 것 같습니다.
Re: 목록의 열 이름과 함께 "각 행에 대해" 사용감사합니다. 두 번째 접근 방식이 효과가 있었습니다. (나는 다른 것에 대해 동일한 목록을 사용하기 때문에 그것을 선호합니다)
게시하기 전에 column() 방식을 시도했지만 [] 없이는 작동하지 않았습니다.
또한 디버거를 살펴보니 문자열이 아닌 열 참조로 올바르게 추적되었지만 여전히 []가 필요한 이유를 이해할 수 없습니다. 하드와이어 버전을 사용한다면
각 행에 대해 (:update_01 = 다듬기(:update_01));
[] 없이도 작동하는데, 도움말이나 책에 이에 대한 언급이 없는 것 같습니다.
어쨌든 이제 작동합니다. 감사합니다!
Re: 목록의 열 이름과 함께 "각 행에 대해" 사용비결은 JMP가 sclmn을 열로 인식하도록 만드는 것입니다. 현재 스크립트에서 sclmn은 단지 문자열입니다. 또한 ForEachRow()에서는 열 변수 뒤에 빈 인덱스 [ ]가 필요한 경우가 많습니다.
이를 수행하는 두 가지 방법은 다음과 같습니다.
열 이름 목록에서:
전체 목록 = user_page << 열 이름 가져오기 () ;
을 위한 ( 나 = 1 , 나 <= N개 품목 ( 전체 목록 ) , 나 ++,
sclmn = 전체 목록 [ 나 ] ;
각 행에 대해 ( sclmn [] = 손질 ( sclmn [] ) ) ;
각 행에 대해 ( sclmn [] = 소문자 ( sclmn [] ) ) ;
) ;
또는 열 이름 목록에서 문자열로:
전체 목록 = user_page << 열 이름 가져오기 ( 끈 ) ;
을 위한 ( 나 = 1 , 나 <= N개 품목 ( 전체 목록 ) , 나 ++,
sclmn = 열 ( 전체 목록 [ 나 ] ) ;
각 행에 대해 ( sclmn [] = 손질 ( sclmn [] ) ) ;
각 행에 대해 ( sclmn [] = 소문자 ( sclmn [] ) ) ;
) ;