<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP 스크립트를 사용하여 다음을 수행하려고 합니다.
- 동일한 테이블(STNFAM 및 VIEW_STATE_ID)에 있는 두 범주형 열의 모든 다른 조합을 사용하여 테이블(dt1)에 있는 두 개의 서로 다른 연속 데이터 열(TBI 및 TTR)에 Weibull 분포를 맞춥니다.
- 모든 결과 분포에 대해 알파 및 베타 매개변수를 추출하여 테이블에 씁니다. 구문 분석 가능한 형식으로 로그에 인쇄해도 작동합니다.
다음은 보고서에서 생성된 첫 번째 노드에 대한 분포 매개변수를 가져오기 위한 스크립트의 현재 프로토타입입니다.
******************************************스크립트 시작
DT1 = 현재데이터테이블();
거리 = DT1 <<
분포(
기준( :STNFAM, :VIEW_STATE_ID ),
연속배포(
열( :TBI_HRS ),
적합 분포(임계값이 있는 Weibull)
),
연속배포(
열( :TTR_HRS ),
적합 분포(임계값이 있는 Weibull)
)
);
//dist가 나중에 스크립트에서 조작될 수 있는 합법적인 플랫폼인지 테스트합니다.
속성 표시(dist);
reportDist = dist<<보고서;
//reportDist가 나중에 스크립트에서 조작될 수 있는 합법적인 보고서인지 확인하기 위한 테스트
속성 표시(reportDist);
//reportDist의 첫 번째 노드에서만 Alpha 및 Beta 매개변수를 추출할 수 있는지 테스트합니다.
alphaParam = reportDist[Outline Box(1)][Table Box(3)][Number Col Box(1)] << Get(1);
betaParam = reportDist[Outline Box(1)][Table Box(3)][Number Col Box(1)] << Get(2);
//추출된 매개변수를 로그에 인쇄하여 원하는 값과 일치하는지 확인합니다.
인쇄(alphaParam);
인쇄(betaParam);
************************************************** ***************************스크립트 끝
이 스크립트는 dt1에 STNFAM과 VIEW_STATE_ID의 조합이 1개만 포함된 경우 예상대로 작동합니다. "dist" 및 "reportDist" 속성이 모두 로그에 표시되고 Weibull 매개변수도 원하는 대로 로그에 인쇄됩니다. 그러나 dt1에 STNFM과 VIEW_STATE_ID의 조합이 2개 이상 있으면 다음 오류가 발생하고 로그에 플랫폼 또는 보고서 속성이 표시되지 않습니다.
************************************************** **************************로그 시작
/*:
//:*/
DT1 = 현재데이터테이블();
거리 = DT1 <<
분포(
기준( :STNFAM, :VIEW_STATE_ID ),
연속배포(
열( :TBI_HRS ),
적합 분포(임계값이 있는 Weibull)
),
연속배포(
열( :TTR_HRS ),
적합 분포(임계값이 있는 Weibull)
)
);
//dist가 나중에 스크립트에서 조작될 수 있는 합법적인 플랫폼인지 테스트합니다.
속성 표시(dist);
ReportDist = dist<<보고서;
//reportDist가 나중에 스크립트에서 조작될 수 있는 합법적인 보고서인지 확인하기 위한 테스트
속성 표시(reportDist);
//reportDist의 첫 번째 노드에서만 Alpha 및 Beta 매개변수를 추출할 수 있는지 테스트합니다.
alphaParam = reportDist[Outline Box(1)][Table Box(3)][Number Col Box(1)] << Get(1);
betaParam = reportDist[Outline Box(1)][Table Box(3)][Number Col Box(1)] << Get(2);
//추출된 매개변수를 로그에 인쇄하여 원하는 값과 일치하는지 확인합니다.
인쇄(alphaParam);
인쇄(betaParam);
/*:
'Outline Box' , 개요 상자( 1 ) 'Subscript' 액세스 또는 평가 시 아래 첨자 문제, reportDist[Outline Box( 1 )]
다음 스크립트에서는 /*###*/로 표시된 오류가 있습니다.
DT1 = 현재 데이터 테이블();
dist = DT1 << 분포(
기준( :STNFAM, :VIEW_STATE_ID ),
연속배포(
열( :TBI_HRS ),
적합 분포(임계값이 있는 Weibull)
),
연속배포(
열( :TTR_HRS ),
적합 분포(임계값이 있는 Weibull)
)
);
속성 표시( dist );
ReportDist = dist << 보고서;
속성 표시(reportDist);
alphaParam = 보고서 거리[/*###*/개요 상자/*###*/(1)][테이블 상자( 3 )][
번호 열 상자( 1 )] << Get( 1 );
betaParam = 보고서 거리[개요 상자( 1 )][테이블 상자( 3 )][번호 열 상자( 1 )] <<
가져오기( 2 );
인쇄(alphaParam);
인쇄( betaParam );
************************************************** ******************************************로그 끝
JMP는 코드의 첫 번째 섹션에서 BY 인수에 의해 생성된 조합이 두 개 이상인 경우 "dist" 및 "reportDist"를 합법적인 플랫폼으로 인식하지 못하고 보고하는 것으로 보입니다. 누구든지 원하는 결과를 얻기 위해 올바른 방향을 알려줄 수 있습니까?
첨부 파일:
- Subset_Weibull_Fit_Script.jsl(위 메시지에 표시된 스크립트)
- 1_XSITE_Weibull_Fit_All_STNFAM_1-10-14.jmp의 Combo_Subset(스크립트가 예상대로 작동하는 테스트 테이블)
- 2_XSITE_Weibull_Fit_All_STNFAM_1-10-14.jmp의 Combo_Subset(스크립트가 예상대로 작동하지 않는 테스트 테이블)
감사합니다,
조합이 두 개 이상인 경우 dist와 reportDist는 다음과 같습니다. 기울기 조합만큼 많은 항목을 포함합니다. Is List() 함수를 사용하여 그러한 경우인지 확인할 수 있습니다. 목록이 있는 경우 N Items() 함수를 사용하여 항목 수를 가져와 그 안에 항목 수를 확인할 수 있습니다. 추가 처리를 루프에 넣거나 Make Combined Data Table 메시지 또는 Make Into Matrix 메시지를 사용하여 모든 매개변수를 추출하는 것이 적절할 수 있습니다.