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