열 이름의 일부로 "="를 어떻게 이스케이프 처리할 수 있습니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />열 이름의 일부로 "="를 어떻게 이스케이프 처리할 수 있습니까?
"select where" 문을 구현해야 하며 여러 열 이름을 포함하는 문자열로 작성하고 있습니다. 그러나 평가할 때 "="를 할당으로 해석하려고 시도합니다. 내 열 이름은 "COND=TEMP"와 같습니다.
내가 사용하는 스크립트 섹션 아래:
select_string = ":테스트 이름 == benchNameToCompare" ;
//맵 테이블의 각 열에 대해 열 이름이 COND인 경우 선택 기준에 추가합니다.
을 위한 ( 제이 = 1 , 제이 <= numOfColumns , 제이 ++,
현재 데이터 테이블 ( 상관관계 맵 테이블 ) ;
현재 열 이름 = 상관관계 맵 테이블 << 열 이름 가져오기 () ;
만약에 ( 포함 ( 현재 열 이름 [ 제이 ] , "COND_" ) > 0 ,
가치 = 현재 열 이름 [ 제이 ][ 나 ] ;
colName = 현재 열 이름 [ 제이 ] ;
select_string = select_string || " & As Column(correlationMapTable," || 숯 ( 현재 열 이름 [ 제이 ]) || ") == " || 숯 ( 현재 열 이름 [ 제이 ][ 나 ]) ;
) ;
) ;
select_string = "benchDataTable << 선택 위치(" || select_string || ")" ;
평가 ( 분석하다 ( select_string )) ; // 열 이름의 일부로 "="가 있는 경우 불만 사항이 있습니다.
벤치 데이터 테이블 << 부분집합 (( 선택한 행 ) , 출력 테이블 이름 ( "필터링된 벤치 테이블" )) ;
미리 감사드립니다!
Re: 열 이름의 일부로 "="를 어떻게 이스케이프합니까?예, 따옴표.잡아주셔서 감사합니다.
이스케이프 문자와 JSL의 뉘앙스에 대해 자세히 알아보려면 잘 정리된 Scripting Guide를 참조하십시오.도움말>>도서>>스크립팅 가이드.(이스케이프 문자는 87페이지에 있습니다).구문이 궁금하다면 Scripting Index가 더 도움이 됩니다.도움말>>스크립팅 색인.
몇 가지 짚고 넘어가야 할 점,
If() 문의 숫자의 경우 JSL은 0이 아닌 다른 값에 대해 truthy로 응답합니다. 따라서 만약에 ( 포함 ( 현재 열 이름 [ 제이 ] , "COND_" ) > 0은 다음과 같습니다. 만약에 ( 포함 ( 현재 열 이름 [ 제이 ] , "COND_" ) ,
이것:
//맵 테이블의 각 열에 대해 열 이름이 COND인 경우 선택 기준에 추가합니다.
을 위한 ( 제이 = 1 , 제이 <= numOfColumns , 제이 ++,
현재 데이터 테이블 ( 상관관계 맵 테이블 ) ;
현재 열 이름 = 상관관계 맵 테이블 << 열 이름 가져오기 () ;
만약에 ( 포함 ( 현재 열 이름 [ 제이 ] , "COND_" ) > 0 ,
가치 = 현재 열 이름 [ 제이 ][ 나 ] ;
colName = 현재 열 이름 [ 제이 ] ;
더 잘 쓰여질 것입니다 :
//맵 테이블의 각 열에 대해 열 이름이 COND인 경우 선택 기준에 추가합니다.
을 위한 ( 제이 = 1 , 제이 <= numOfColumns , 제이 ++,
colName = 열( 상관 관계 맵 테이블, j) << 이름 가져오기 ;
만약에 ( 포함 ( colName , "COND_" ) ,
Re: 열 이름의 일부로 "="를 어떻게 이스케이프합니까?이봐, 브레이노소,
예, JSL에서 이스케이프 문자의 기원을 알 만큼 오래 있지는 않았지만 실제로 "\!"로 시작합니다.문자열에 개행을 삽입하려면 "\!n"입니다.JMP에서 따옴표를 문자열의 끝으로 보지 않도록 하려면 \!"로 만드십시오.(그리고 msharp는 "이스케이프해야 하는 것은 인용 부호 ").
그리고 예, 다른 언어에서 JSL로 오는 것은 약간 불쾌할 수 있습니다 ;-).
HTH,
에릭
Re: 열 이름의 일부로 "="를 어떻게 이스케이프합니까?안녕하세요 msharp님.
시간을 내어 응답해 주셔서 감사합니다. 따라서 필요한 이스케이프 시퀀스가 \! <열 이름이 여기에 표시됩니다.> \! ?
C# 프로그래머로서 JSL을 배우는 것만으로도 머리가 많이 아픕니다 
문안 인사,
비
Re: 열 이름의 일부로 "="를 어떻게 이스케이프합니까?솔직히 말해서 이 대본에는 많은 문제가 있습니다.디버깅 생각만 해도 머리가 아프다.
그래서 저는 하지 않겠지만 본질적으로 귀하의 문제는 다음과 같습니다.
= 탈출할 필요가 없습니다 탈출해야 하는 것은 괄호 인용 부호.일명:
평가 ( 분석하다 ( "dt << 선택 위치(열(" 조건 = 온도 ") == 2)" )) ;
다음이 되어야 합니다.
평가 ( 분석하다 ( "dt << 위치 선택(Column(\!"Cond=Temp\!") == 2)" )) ;