변수로 열 이름을 사용하는 방법.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />열에서 일부 행을 선택하고 싶습니다. (현재 데이터 테이블에 'RESOLUTION'이라는 열이 있습니다.)
이 두 줄은 작동합니다.
========================
dt = 현재 데이터 테이블 ();
dt << 위치 선택 (RESOLUTION> 0.);
========================
'RESOLUTION'을 다른 변수로 정의하면 작동하지 않습니다.
============================
dt = 현재 데이터 테이블 ();
colA = "해결 방법";
dt << 위치 선택 (열 (dt, colA)> 0);
============================
이것은 어떤 행도 선택하지 않습니다.
누군가 내가 친절하게 어떻게 할 수 있는지 말해 줄 수 있습니까?
감사.
Re : 열 이름을 변수로 사용하는 법.또는 AsColumn 함수를 사용하십시오.
colA = "해결 방법";
dt << Where (AsColumn (colA)> 0을 선택하십시오.)
Re : 열 이름을 변수로 사용하는 법.그것은 작동합니다!
많은 감사합니다!
Re : 열 이름을 변수로 사용하는 법.qt,
이것은 트릭을 할 것입니다.
dt = 현재 데이터 표 () ;
콜라 = "해결" ;
col_expr = "dt << 장소 선택 (: 이름 (\!" " || 콜라 || "\!")> 0.) " ;
평가 ( 해석하다 ( col_expr )) ;
기본적으로 동적 코드를 생성 한 다음 실행합니다.
Re : 열 이름을 변수로 사용하는 방법.As Column () 사용시주의해야 할 점은 대용량 데이터 테이블에 대해 eval (parse (..)) 구문을 사용하는 것보다 훨씬 느리다는 것입니다.
제 경우에는 390k 행과 17 열이있는 데이터 테이블이 있습니다.
Eval (Parse (....))을 사용하면 내가 찾고 있던 행을 선택하는 데 67msec가 걸렸고 As Column () 구문을 사용하는 동안 3,600msec가 걸렸습니다! (HPTime ()을 사용하여 측정)
따라서 As Column () 구문은 코드에서 훨씬 더 가독성이 높지만 속도가 중요하다면 최선의 선택이 아닐 수도 있습니다.
Re : 열 이름을 변수로 사용하는 방법.Column ()과 결합하면 AsColumn ()을 더 빠르게 만들 수 있습니다.
Re : 데이터 테이블을 반복하거나 Recode를 사용하거나 Get Rows Where를 사용하여 데이터 테이블의 값을 변경해야합니다.