스크립팅 : 데이터 테이블의 특정 이름 열 검색<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
일부 열 이름에 날짜 형식 (예 : 9 월 14 일)이있는 데이터 테이블 (Excel에서 가져옴)이 있습니다. 그러나 다른 열도 있습니다. 첨부하면 jmp 데이터 테이블 Example1을 찾을 수 있습니다. 두 가지 문제가 있습니다.
첫 번째 문제:
그래프 빌더 분석에서 X로 표시하기 위해 날짜 열을 쌓아야합니다. 이는 그리 어렵지 않습니다 (예제 1의 스크립트이지만 테이블은 살아있는 문서가되고 새 열이 몇 달 진행됨에 따라 추가 될 것이므로 불가능합니다.) 하드 코딩 된 열과 함께 자동화 된 스크립트를 사용합니다.
이러한 날짜 구조 (월 YY)로 해당 열 이름을 추출하여 쌓아야합니다. 열 목록을 추출하는 Get Column Name을 사용하려고했습니다.
colNames = 데이터 테이블 ( "예제 1" ) << 열 이름 가져 오기 ;
보여 주다 (colN 에임스 ) ;
하지만 스택에 관심이있는 것만 추출 할 수 없었습니다. Regex ()에 대해 생각했지만 원하는 방식으로 실행할 수 없었습니다.
두 번째 문제 :
그런 다음 다음 문제가 나타납니다. 데이터 유형은 문자 및 명목입니다. 숫자와 서수 (또는 최소한 문자와 서수이지만 올바른 시리즈)를 원합니다. 속성을 숫자로 변경할 때 많은 누락 된 값이 있지만 전부는 아닙니다.
내가 여기서 뭘 잘못했는지 모르겠다.
당신의 도움을 주셔서 감사합니다,
남자 이름
Re : 스크립팅 : 데이터 테이블의 특정 이름 열 검색안녕 돈,
이제 정규식을 더 잘 이해했습니다. "Month YY", "DD Month YY", "DD.MM.YY"등과 같은 변수 이름이 섞여있는 경우와 같이 조건을 추가하여 범용으로 조정할 수 있다고 생각합니다. 최종 형식.
가장 좋은 방법은 JMP가 알고있는 변수 이름에 대해 일관된 입력 형식을 사용하는 것입니다.
도와 주셔서 감사합니다. 당신의 모범으로 저를 올바른 길로 인도했습니다. 감사!
남자 이름
Re : 스크립팅 : 데이터 테이블의 특정 이름 열 검색안녕 돈,
나는 Count라는 단어가 선행 숫자가 있는지 여부에 따라 달라 지므로 if 구문을 사용하여 날짜 전송을 둘러 보았습니다.
현재 데이터 테이블 () << 새 열 ( "새 날짜" ,
숫자 ,
서수 ,
체재 ( "ddMonYYYY" ) ,
공식(
만약 ( 누락 ( Num ( 워드 ( 1 , : 자료 ) ) ) ,
날짜 DMY (
1 ,
시합 ( 워드 ( 1 , : 자료 ) ,
"1 월" , 1 ,
"2 월" , 2 ,
"März" , 삼 ,
"4 월" , 4 ,
"마이" , 5 ,
"주니" , 6 ,
"줄리" , 7 ,
"팔월" , 8 ,
"구월" , 9 ,
"옥토버" , 10 ,
"십일월" , 11 ,
"12 월" , 12 ,
13
) ,
2000 년 + Num ( 워드 ( 2 , : 자료 ) )
) ,
날짜 DMY (
Num ( 워드 ( 1 , : 자료 ) ) ,
시합 ( 워드 ( 2 , : 자료 ) ,
"1 월" , 1 ,
"2 월" , 2 ,
"März" , 삼 ,
"4 월" , 4 ,
"마이" , 5 ,
"주니" , 6 ,
"줄리" , 7 ,
"팔월" , 8 ,
"구월" , 9 ,
"옥토버" , 10 ,
"십일월" , 11 ,
"12 월" , 12 ,
13
) ,
2000 년 + Num ( 워드 ( 삼 , : 자료 ) )
)
)
)
) ;
그러나 regNames 목록을 만드는 정규식 수식에 대해서는 여전히 문제가 있습니다.
남자 이름
Re : 스크립팅 : 데이터 테이블의 특정 이름 열 검색안녕 돈,
나는 당신의 모범을 통해 일하려고 노력했습니다. 그러나 빈 regNames 목록이 표시되므로 스택 스크립트는 이전과 같이 모두 입력하라는 메시지를 표시합니다. 이 결과 목록이 누락되어 새 열에 대한 스크립트가 작동하지 않는 데이터 테이블이 생성됩니다. 또한 날짜 변환도 나를 위해 작동하지 않습니다.
시도해 보았고 효과가 있었습니까? 어떤 언어 설정을 사용하셨습니까?
감사,
남자 이름
Re : 스크립팅 : 데이터 테이블의 특정 이름 열 검색남자 이름,
나는 당신이 겪고있는 문제를 해결할 스크립트를 첨부하고 있습니다. Regex는 JSL에서 사용하기가 특히 까다 롭고 표준 정규식과 다소 다릅니다 (비록 거의 비슷하지만 일부 기능이 누락 됨). 날짜 문제는 JMP가 날짜를 사용 가능한 정보로 인식하지 않았기 때문에 발생합니다. 적어도 내 버전에서는 볼 수 없었습니다. 내 솔루션은 이름을 구문 분석하고 숫자 날짜로 새 열을 만들었습니다. 비록 이것이 가장 쉬울지라도 대체 솔루션이 있습니다. !