데이터 테이블의 서브 세트<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕 모두,
나는 JMP 코딩에 초보자이고 이것을 알아 내는데 당신의 도움이 필요하다.
기본적으로 내가하려는 것은 Excel 파일을 가져 와서 데이터 테이블로 저장하는 것입니다.이 명령을 사용하여 달성하고 있습니다.
"SELECT * FROM" 'CPASU by queue $'` ","CPASU by queue $ ( "DSN = Excel 파일, DBQ ="xyz ".xlsm, DriverId = 1046, MaxBufferSize = 2048, PageTimeout = 5; ");
여태까지는 그런대로 잘됐다.
그런 다음 생성 된 큐 데이터 테이블별로 CPASU에서 다음 명령을 사용하여 해당 데이터 테이블의 하위 집합을 만들려고합니다.
(데이터 테이블 ( "대기열 별 CPASU $") << SELECT WHERE AND FWEEK> 201201, 예측 정확도> 0)
<< 부분 집합 (
연결됨,
출력 테이블 이름 ( "예측 정확도 $의 서브 세트"))));
이제 이러한 명령을 실행하면 대기열별로 데이터 테이블 CPASU를 작성할 수 있고 하위 정확도의 하위 세트 테이블 하위 세트도 완벽하게 생성 할 수 있습니다. 그러나 부분 집합 테이블에서 반환 된 행은 select 절에서 지정한 조건에 따라 반환되지 않습니다. 그것은 주 데이터 테이블 (큐에 의해 CPASU)에서 모든 행을 반환합니다 ...
이 누군가를 알아내는 누군가 나를 도울 수 있습니까?
또한 내가 JMP JSL을 이해할 수있는 책이 있다면 ... 나는 JMP GUI에 의해 자동으로 만들어진 스크립트를 따르려고했지만 지금까지는 악몽이었다.
모든 도움을 미리 감사드립니다.
제목 : Re : 데이터 테이블의 서브 세트IF 문은 너무 빨리 괄호를 닫았으며 쉼표가 누락되었습니다.
만약 ( found_rows > 0,
DP << 부분 집합 ( 출력 테이블 이름 ( "예측 정확도 $의 하위 집합" )) ;
);
제목 : Re : 데이터 테이블의 서브 세트그래, 문제가 다시 떠올랐다 ... 코드에 어떤 일이 일어 났는지는 잘 모르겠다.
DP = 데이터 표 ( "대기열 별 CPASU $" ) << 어디에서 선택 하시겠습니까? ( 과 ( FWEEK > 201201 , 마스크 없음 ! = 0 )) ;
found_rows = 안주 ( DP << 선택한 행 가져 오기 ) ;
만약 ( found_rows > 0 )
DP << 부분 집합 ( 출력 테이블 이름 ( "예측 정확도 $의 하위 집합" )) ;
대기열 별 CPASU는 코드의 앞부분에 Excel 파일로 만든 데이터 테이블입니다. 도와주세요.
감사,
제목 : Re : 데이터 테이블의 서브 세트좋은 조언을 통해 해결 된 답을 표시하고 옳은 답과 도움이되는 답을 표시하는 것을 잊지 마십시오 (= 포럼 사용을보다 효율적으로 만듭니다)!
제목 : Re : 데이터 테이블의 서브 세트네, 문제는 괄호 넣기에 있다고 생각합니다 ... 지금은 작동했습니다 ... 고맙습니다.
제목 : Re : 데이터 테이블의 서브 세트두 번째 하위 집합에서 일부 괄호를 잘못 배치 한 것처럼 보입니다. Select ()를 Select Where ()에 넣어야합니다.
이렇게 :
DP = 데이터 표 ( "대기열 별 CPASU $" ) << 어디에서 선택 하시겠습니까? ( 과 ( FWEEK > 201201 , 마스킹 금지 ! = 0 ) ) ;
제목 : Re : 데이터 테이블의 서브 세트나는 그 일을 시도했지만 여전히 새로운 결과를 반환하지 않습니다. 전체 코드는 다음과 같습니다.
// - 파일을 열고 JMP에서 연결을 설정합니다.
열기 데이터베이스 ( "DSN = Excel 파일, DBQ = C : \ Users \\ Documents \\ JMP 분석 \ XXX.xlsm, DriverId = 1046, MaxBufferSize = 2048, PageTimeout = 5", "SELECT * FROM" $ '` ","대기열에 의한 CPASU $ ");
// 첫 번째 하위 집합 만들기
(2012 년, 2012 년, FWEEK! = 201247, FWEEK! = 201243, 실제 CPASU> 0)) << 하위 집합 ;
현재 데이터 테이블 (데이터 테이블 ( "대기열 별 CPASU 하위 집합 $")));
// 예측 정확도를 위해 두 번째 하위 집합을 만듭니다.
dp = (데이터 테이블 ( "대기열 별 CPASU $") << SELECT WHERE AND FWEEK> 201201, No Masking! = 0));
found_rows = nrows (dp << 선택된 행 가져 오기);
if (found_rows> 0,
// //
dp << subset (출력 테이블 이름 ( "Forecast Accuracy $의 서브 세트"))
// else
쓰기 ( "선택한 행이 없습니다")
);
문제는 두 번째 하위 집합에 있습니다. 그것은 두 번째 부분 집합을 생성하지만 그것은 첫 번째 하위 집합의 쿼리와 동일한 결과 집합을 반환하고 나는 데이터 테이블에서 꽤 확신 큐에 의해 SELECT WHERE AND (FWEEK> 201201의 SQL 조건과 일치하는 여러 행이 있습니다. 마스킹 없음! = 0));
도와주세요 .... 고마워요.
제목 : Re : 데이터 테이블의 서브 세트검색을 위해 행이 발견 된 경우에만 하위 집합을 만들어야합니다. 행이 발견되지 않으면 서브 세트는 원래 테이블과 동일합니다. 이런 것이 필요합니다. 가독성을 위해 몇 가지 코드 개선 사항을 포함 시켰습니다.
dt = 데이터베이스 열기 ( "DSN = Excel 파일, DBQ =" xyz ".xlsm; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5;" ,
"대기열 별 CPASU에서 SELECT * FROM $ '`" , "대기열 별 CPASU $" ) ;
// 조건에 따라 행 선택
dt << 선택 장소 ( : FWEEK > 201201 & : 예측 정확도 > 0 ) ;
// 어떤 행이 선택되었는지 확인
found_rows = 안주 ( dt << 선택한 행 가져 오기 ) ;
만약 ( found_rows > 0 ,
// //
dt << 부분 집합 ( 출력 테이블 이름 ( "예측 정확도 $의 하위 집합" )) ,
// else
인쇄 ( "선택한 행이 없습니다" )
) ;
저기 몇 가지 우수한 JMP 스크립트 책이 있습니다. JMP 스크립트 PDF 설명서는 JMP에 포함되어 있지만 책도 있습니다. JMP (r) 스크립팅으로 이동 Wendy Murphrey와 Rosemary Lucas, ISBN 978-1-59994-658-0