선택한 행 가져 오기는 행을 사용할 때 오류를 발생시킵니다.이봐 요,
알아낼 수 없는데 왜 다음과 같은 결과가 발생합니다 :
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);
오류 :
"행 번호 (-1)가 유효하지 않으므로 'bar'열에 값을 설정할 수 없습니다. {941}"
아무도 나에게 계몽 수 있습니까?
고맙습니다!
Re : 행을 사용할 때 선택된 행을 가져 오면 오류가 발생합니다.이 오류는 현재 데이터 테이블로 인해 발생할 수 있다고 생각합니다. 아래 스크립트는 오류가 발생하지만 현재 데이터 테이블 (dt) 행을 주석 처리하면 예상대로 작동합니다. 이것이 왜 이렇게 작동하는지 잘 모르겠습니다. 우리는 Current Data Table ()을 변경할 필요가 없도록 변화를 조사 할 것입니다.
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<SELECT where=""></SELECT>Re : 행을 사용할 때 선택된 행을 가져 오면 오류가 발생합니다.귀하의 추측은 정확합니다. "dt"는 실제로 원래 데이터 테이블입니다. 거기에서 다른 표를 파생시킨 다음 내가 선택한 항목을 식별합니다.
아이템을 얻는 동안, 나는 "dt"로 돌아가서 "행을 가져와 (아이템을 얻고 싶습니다)"행 번호를 얻습니다. 그렇다면 "dt : colum [행 i have] = ..."를 설정하고 싶습니다.
미안하지만 더 잘 설명하거나 데이터를 제공 할 수 없습니다.
Re : 행을 사용할 때 선택된 행을 가져 오면 오류가 발생합니다.'dt'테이블이 다른 테이블에서 파생 되었습니까? 하나의 테이블에서 다른 테이블로 행 번호를 매핑하려고 할 수도 있지만 데이터에 대해 더 알지 못해도 말하기는 어렵습니다.
Re : 행을 사용할 때 선택된 행을 가져 오면 오류가 발생합니다.빠른 anwser 주셔서 감사합니다!
열이 올바르게 정의되어 있고 많은 변형을 시도했습니다. 행렬을리스트로 변환하고 반복한다. -> 작동하지 않습니다.
나는 그것이 잘 작동해야한다는 것을 안다. 나는 실제로 "<< Get Get Where Where"를 같은 스크립트에서 사용합니다.
그러나 이제 트릭을하기 위해 좋은 옛 For Each Row 루프로 전환했습니다. 문제는 없습니다.
Re : 행을 사용할 때 선택된 행을 가져 오면 오류가 발생합니다.다음은 JMP 12 또는 JMP 14를 실행할 때 문제가없는 예제 데이터로 실행되는 스크립트입니다. 귀하의 데이터를 확인하는 것은 칼럼 "바"가 문자 열로 정의된다는 것입니다.
names default to here(1);
dt=New Table( "Example",
Add Rows( 3 ),
New Column( "foo", Character, "Nominal", Set Values( {"a", "", "a"} ) ),
New Column( "bar", Character, "Nominal", Set Values( {"", "", ""} ) )
);
list = {"a","b"};
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);