그래프/데이터 테이블에서 데이터 추출<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />아래 내용을 나타내는 데이터 테이블이 있습니다.y=0에 가장 가까운 점에 해당하는 x 값을 찾아야 합니다.(가장 가까운) 0과 교차하는 처음 두 점(빨간색 선)이 필요하며, 세 번째 교차점은 관심이 없습니다.
스크립트를 사용하여 가장 가까운 값을 찾을 수 있습니다.
값 = 0;
d = Abs((:"col" << 값 가져오기) - 값);
행 = Loc(d == Min(d));
표시(행);
데이터 테이블( "DT" ) << 행(행) 선택;
언제 교차하는지에 관계없이 0선에 가장 가까운 값을 반환합니다.

이 두 x 값은 dt에 새 열로 들어가 추가 계산에 사용됩니다.위 스크립트를 사용하여 올바른 방향으로 가고 있습니까?
그런데 저는 JMP 스크립팅(그리고 일반적인 프로그래밍)이 처음입니다.
감사해요!
Re: 그래프/데이터 테이블에서 데이터 추출계산했다고 말한 요약 테이블에서 데이터를 가져와 테이블==>해당 데이터를 원래 데이터 테이블에 결합하면 스크립트에서 참조할 수 있습니다.또는 수동으로 데이터를 추가하면 작동합니다.따라서 "절반 값"이라는 열에 각 행에 대한 "절반 값" 값이 있는 경우 "0"을 다음으로 변경할 수 있습니다.
절반 가치 및 절반 값[I+1]
If( (dt:y >= dt:절반값 & dt:y[I+1]<=dt:반값[I+1].......................
Re: 그래프/데이터 테이블에서 데이터 추출최대 값의 절반을 사용하므로 데이터 테이블에 x 값을 일치시키고 얻을 수 있는 해당 데이터 값이 없습니다.최대값에 해당하는 x값을 얻기 위해 이렇게 했는데, 지금은 계산된 값이기 때문에 일치하는 값이 아닙니다.해당 x 값을 추출하기 위해 절반 값을 값으로 사용하려고합니다.0에서 교차하는 값을 가져오는 위 스크립트와 유사하게 계산된 절반 값에 가장 가까운 값을 가져와야 합니다.각 부품 ID에 대한 변수로 절반 값을 설정하고 각 부품 ID를 단계별로 진행하여 절반 값에 가장 가까운 값을 얻으려고 했습니다.
이는 각 부품 ID에 대해 계산된 절반 값에 가장 가까운 값을 얻는다는 점을 제외하면 0에 가장 가까운 값을 얻는 위의 스크립트와 유사하게 작동합니다.
Re: 그래프/데이터 테이블에서 데이터 추출귀하가 요청한 내용을 올바르게 해석했다면 요약 테이블을 사용하여 부품 ID에서 테이블==>조인 일치를 수행하는 가장 쉬운 방법이라고 생각합니다.해당 부품 ID의 각 행에 최대 값을 추가합니다.
Re: 그래프/데이터 테이블에서 데이터 추출다른 질문이 있습니다.내 데이터 세트에서 수집하는 또 다른 매개변수가 있고 해당 매개변수의 최대값을 찾는 요약 테이블을 만들었습니다.거기에서 해당 값의 절반을 가져와 새 열("절반 값")에 기록합니다.각 부품 ID에 해당하는 x 값을 얻기 위해 스크립트에서 절반 값을 사용하고 싶습니다.

각 부품 ID는 서로 다른 절반 값을 갖습니다.위는 해당 단계 값을 얻기 위해 절반 값을 삽입해야 하는 스크립트 섹션입니다.절반 값을 스크립트에 올바르게 가져오고 각 부품 ID를 통해 색인을 생성하는 데 문제가 있으며 관련 절반 값이 있습니다. 각 부품 ID의 스크립트에 올바른 절반 값을 삽입하는 가장 좋은 방법은 무엇입니까?
Re: 그래프/데이터 테이블에서 데이터 추출고마워요 짐!
이것은 훌륭하게 작동합니다.
Re: 그래프/데이터 테이블에서 데이터 추출다음은 부품 ID를 믹스에 통합하기 위한 코드 재작업입니다.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
dt = 현재 데이터 테이블 () ;
dtout = 새 테이블 ( "출력" ,
새 열 ( "부품 ID" , 성격 ) ,
새 열 ( "퍼스트민" ) ,
새 열 ( "두 번째 분" )
) ;
현재 데이터 테이블 (dt) ;
을 위한 ( 나 = 1 , 나 <= N 행 (dt) - 1 , 나 ++,
// 데이터 루프가 시작될 때와 부품 ID가
// 변경되면 FirstMin 및 SecondMin 값을 다음으로 설정해야 합니다.
// 누락된 값
만약에 ( 나 == 1 ,
FirstMin = . ;
SecondMin = . ;,
dt : 부품 ID != dt : 부품 ID[i - 1 ] ,
FirstMin = . ;
SecondMin = . ;
) ;
// 0을 넘는 값이 발견되면 데이터를 처리합니다.
만약에 ( ( (DT : 와이 >= 0 & DT : 너희[나는 + 1 ] <= 0 ) | (DT : 와이 <= 0 & DT : 너희[나는 + 1 ] >= 0 ) ,
만약에 ( 복근 ( DT : 와이 ) < 복근 ( DT : 너희[나는 + 1 ] ) ,
분 = DT : 와이 ;
미로우 = 나 ;
,
분 = DT : 너희[나는 + 1 ] ;
미로우 = 나 + 1 ;
) ;
// 이것이 첫 번째 교차점인 경우 firstMin 값을 설정합니다.
만약에 ( 누락 (첫 번째 분) ,
FirstMin = 분 ;
첫번째 줄 = 미로우 ;,
// 이것이 두 번째 교차인 경우 SecondMin 값을 설정합니다.
// 입력 데이터 테이블의 행도 선택합니다.
// 마지막으로 첫 번째와 두 번째 결과를 출력에 출력합니다.
// 데이터 테이블
// 처음 2번의 교차점에 대한 데이터만 수집하기 때문입니다.
// FirstMin 및 SecondMin 값을 사용하고 있습니다.
// 첫 번째와 두 번째 모두 스크립트에서 트리거로 누락되었습니다.
// 최소값은 실제 값으로 설정되며 이후의 모든 교차점은
// 부품 ID 변경이 감지될 때까지 무시됩니다.
누락 (두번째분) ,
SecondMin = 분 ;
두 번째 행 = 미로우 ;
// 행을 선택하기 위해 입력 데이터 테이블을 다시 가리킵니다.
현재 데이터 테이블 (dt) ;
선택된 ( 행 상태 ( 첫번째 줄 ) ) = 1 ;
선택된 ( 행 상태 ( 둘째줄 ) ) = 1 ;
dtout << 행 추가 ( 1 ) ;
dtout : 부품 ID[ N 행 (dtout)] = dt : 부품 ID[두 번째 행] ;
dtout : 첫 번째 분[ N 행 (dtout)] = FirstMin ;
dtout : 두 번째분[ N 행 (dtout)] = SecondMin ;
) ;
) ;
) ;
Re: 그래프/데이터 테이블에서 데이터 추출이 스크립트를 여러 부분으로 구성된 테이블을 단계별로 실행하는 방법에 대한 또 다른 질문입니다.데이터 테이블에 3개의 열이 있습니다. 부품 ID, 단계, 값.다양한 부품이 있으며 각 부품에는 수백 단계가 있습니다.위와 같이 테이블의 각 고유 부품 ID에 대해 두 개의 영점 교차점을 얻고 싶습니다.고유한 부품 ID를 얻고 위 스크립트에 삽입하여 각 부품 ID에 필요한 두 값을 얻는 방법에 대한 최선의 접근 방식을 모르시나요?
Re: 그래프/데이터 테이블에서 데이터 추출고마워요 짐!
이것이 바로 제가 필요로 했던 것이며 귀하의 게시물에 설명된 대로 작동합니다.저는 현재 수집된 데이터를 추가 분석 스크립팅에 통합하기 위해 노력하고 있습니다.
다시 한 번 감사드립니다.
Re: 그래프/데이터 테이블에서 데이터 추출이에 접근해야 하는 방법은 데이터를 통과한 다음 데이터가 0을 교차하는 첫 번째와 두 번째 시간을 찾는 것입니다.데이터가 0을 교차하면 어떤 값이 0에 가장 가까운지 찾아 그 값과 행을 기록합니다.그런 다음 두 번째 발생에 대해 반복한 다음 읽기를 중지합니다.마지막으로 발견된 행을 선택합니다.위에서 설명한 내용을 정확하게 수행하는 간단한 스크립트는 다음과 같습니다.
이름의 기본값은 여기에 있습니다. ( 1 ) ;
dt = 현재 데이터 테이블 () ;
FirstMin = . ;
SecondMin = . ;
을 위한 ( 나 = 1 , 나 <= N 행 (dt) - 1 , 나 ++,
만약에 ( ( ( : 와이 >= 0 & : 너희[나는 + 1 ] <= 0 ) | ( : 와이 <= 0 & : 너희[나는 + 1 ] >= 0 ) ,
만약에 ( 복근 ( : 와이 ) < 복근 ( : 너희[나는 + 1 ] ) ,
분 = : 와이 ;
미로우 = 나 ;
,
분 = : 너희[나는 + 1 ] ;
미로우 = 나 + 1 ;
) ;
만약에 ( 누락 (첫 번째 분) ,
FirstMin = 분 ;
첫번째 줄 = 미로우 ;
,
SecondMin = 분 ;
두 번째 행 = 미로우 ;
부서지다 () ;
) ;
) ;
선택된 ( 행 상태 (첫번째 줄)) = 1 ;
선택된 ( 행 상태 (두번째)) = 1 ;