저는 여러 항목에 걸쳐 연결된 선택 기능을 구축하고 있습니다.에 의해-그룹 이변량 플롯. 이 플롯은 긴 형식의 테이블(모드별 ID당 한 행)에서 가져옵니다.</CODE></P>
<BR />
<BR />
<BR />
<PRE><CODE class=" language-jsl">dt << Bivariate(
Y( dt:Y ),
X( dt:X ),
By( :MODE )
);
제가 원하는 것은 다음과 같습니다. 해당 지점 중 하나를 클릭하면에 의해- 그래프들을 그룹화할 때, 다른 그래프들에서 동일한 공통 요소를 가진 모든 점을 찾고 싶습니다.:ID또한 선택되도록 하고 싶습니다. 테이블 형식을 와이드 형식(ID당 한 행)으로 변경 하지 않고 이 작업을 수행하고 싶습니다.
제가 시도한 방법: 행 상태 핸들러를 사용하여 일치하는 ID를 가진 모든 행을 다시 선택할 수 있다는 것을 발견했습니다. 현재 구현 방식:
f = Function( {row},
rows = dt << Get Selected Rows;
units = Associative Array( dt:ID[rows] ) << Get Keys;
dt << Select Where( Contains( units, :ID ) );
);
rs = dt << Make Row State Handler( f );
문제는 이 방법이 데이터 테이블에서 첫 번째 선택 항목에만 제대로 작동한다는 것입니다. 그 이후에는 핸들러가 마치 존재하지 않는 것처럼 동작합니다.
제 질문은 다음과 같습니다.
1. 행 상태 핸들러가 첫 번째 선택 후 더 이상 실행되지 않는 이유는 무엇인가요? (핸들러 내부에서 행 상태를 변경하는 것이 핸들러를 종료시키는 원인인지 궁금합니다.)
2. 반복적인 선택에도 핸들러가 계속 활성화된 상태를 유지하도록 이 문제를 해결할 방법이 있습니까?
3. ID 연계 선발에 있어 더 나은 접근 방식이 있을까요?에 의해대신 고려해야 할 그룹 플롯은 무엇인가요?
미리 감사드립니다.
아마도 로그를 남기라는 메시지가 표시될 텐데, 그 메시지는 현재 상황을 알려주는 내용입니다.
Loop detected earlier
그리고 때로는 더 도움이 되는 것
Row State Handler is in a loop
Row States should not be changed by Row State Handler.
네, 메시지 잘 받았습니다.
Loop detected earlier
이 문제를 해결하는 더 나은 방법이 있을까요?
이변량 + by + 스택형 데이터 테이블을 사용할 때 좋은 아이디어가 바로 떠오르지 않습니다.
분할(넓은) 형식 테이블을 사용하는 것이 가장 좋은 방법입니다. 그래프 작성 도구를 사용하여 그래프를 그릴 수 있다면, 오버레이/색상 기능을 이용해 이와 같은 결과를 얻기 위해 수식을 사용할 수 있습니다(단, 행은 선택되지 않습니다).