안녕,
데이터 세트에 여러 열이 있고 유사한 설정으로 이러한 플롯을 생성할 수 있도록 스크립트를 사용하여 가변성 차트에 플롯하려고 했습니다. 그러나 오류가 있습니다. 누군가 올바른 구문이 무엇인지 밝힐 수 있습니까?
내 스크립트:
dt = 현재 데이터 테이블();
colnames = dt << 열 이름 가져오기( 숫자 );
show(colnames);
nw = 새 창("플롯");
for(i=5, i test = 열이름[i];
gb = 변동성 차트(
Y( 컬럼(테스트) ) ,
X( :그룹, :로트, :웨이퍼),
최대 Iter( 100 ),
전환 제한( 0.00000001 ),
숫자 통합 가로 좌표( 128 ),
숫자 함수 평가( 65536 ),
분석 유형( Name( "최상의 분석 선택(EMS REML Bayesian)" ) ),
표준 편차 차트( 0 ),
박스 플롯 보기(1),
)
);
nw<
로그 메시지:
colnames = {로트, 웨이퍼, X, Y, 이름("4V01PC03MHVN_BF00-LT-VL_HN_11.1X1.1-VALUE_F"), 이름("4V01PC03MHVN_BF00-LT-VL_HN_11.1X11.1-VALUE_F"), 이름("4V01PC03MHVN_BF00- LT-VL_MN_11.1X0.76-VALUE_F"), 이름("4V01PC03MHVN_BF00-LT-VL_MN_11.1X11.1-VALUE_F"), 이름("4V01PC03MHVN_BF00-LT-VL_MNT_11.1X0.76-VALUE_F"), 이름("4V01PC03MHV0 -LT-VL_MNT_11.1X11.1-VALUE_F"), 이름("4V01PC04MHVP_BF00-LT-VL_HP_0.4X1.1-VALUE_F"), 이름("4V01PC04MHVP_BF00-LT-VL_HP_11.1X1.1-VALUE_F"), 이름(" 4V01PC04MHVP_BF00-LT-VL_HP_11.1X11.1-VALUE_F"), 이름("4V01PC04MHVP_BF00-LT-VL_MP_11.1X1.1-VALUE_F"), 이름("4V01PC04MHVP_BF00-LT-VL_MP_11.1X11.1-VALUE_F"), 이름(" "4V01PC06TX5V_BF00-LT-VL_N5_11.1X11.1-VALUE_F"), 이름("4V01PC06TX5V_BF00-LT-VL_P5_11.1X11.1-VALUE_F"), EndTimestamp};
'변동성 차트'의 액세스 또는 평가에서 찾을 수 없음, 잘못된 인수( {., 역할에는 최소 1개의 열이 필요합니다.} ), 가변성 차트(/*###*/Y( As Column( test ) ),
X( :그룹, :로트, :웨이퍼),
최대 Iter( 100 ),
전환 제한( 0.00000001 ),
숫자 통합 가로 좌표( 128 ),
숫자 함수 평가( 65536 ),
분석 유형( Name( "최상의 분석 선택(EMS REML Bayesian)" ) ),
표준 편차 차트( 0 ),
박스 플롯 표시( 1 )
)
다음 스크립트에서 /*###*/로 표시된 오류
dt = 현재 데이터 테이블();
colnames = dt << 열 이름 가져오기( 숫자 );
표시( colnames );
nw = 새 창( "플롯" );
For( i = 5, i < N 항목( colnames ), i++,
test = 열이름[i];
gb = 가변성 차트(/*###*/Y( As Column( test ) ),
X( :그룹, :로트, :웨이퍼),
최대 Iter( 100 ),
전환 제한( 0.00000001 ),
숫자 통합 가로 좌표( 128 ),
숫자 함수 평가( 65536 ),
분석 유형( Name( "최상의 분석 선택(EMS REML Bayesian)" ) ),
표준 편차 차트( 0 ),
박스 플롯 표시( 1 )
);
);
nw << 추가( 보고서( gb ) );
안녕하세요, 변경해 주셔서 감사합니다. 내가 원하는 방식으로 작동했습니다.
안녕,
팁 주셔서 감사합니다. 하지만 5시에 시작하고 싶었기 때문에 tip#1은 해당되지 않습니다.
오류를 일으키는 몇 가지 사항이 있습니다. 하나는 For() 루프에서 colnames에 저장된 목록의 첫 번째 항목으로 시작하고 싶다고 가정할 때 i = 5로 초기화하는 것이므로 i = 1이어야 합니다. 두 번째는 As Column()을 사용할 필요가 없다는 것입니다. 각 반복 Y( test )를 통해 열 이름을 저장하는 변수 이름(test)을 간단히 사용할 수 있습니다.
또한 For() 루프 외부에 가변성 차트를 추가합니다. 즉, 마지막 플롯만 창에 추가됩니다. 루프 안에 코드의 마지막 줄을 포함하고 싶습니다. 도움이 되었기를 바랍니다!
귀하의 코드를 변경했으며 귀하가 원하는 방식으로 작동할 것이라고 생각합니다.
1. "새 창"에 V List Box()를 추가했습니다. 이렇게 하면 원하는 출력 순서를 더 잘 제어할 수 있습니다. 디스플레이를 왼쪽에서 오른쪽으로 이동하려면 H List Box()로 변경하십시오.
2. 가변성 차트에 "Invisible" 요소를 추가했습니다. 나는 당신이 원하는 것이 각 차트에 대해 별도의 창이없는 단일 창으로 끝나는 것이라고 가정합니다.
3. As Column()이 작동하지 않습니다. 왜 안되는지 모르겠습니다! 그러나 Column() 함수로 변경하면 작동했습니다. 또한 목록 참조인 ColNames[]를 가변성 차트 코드에 바로 포함하는 것이 더 깔끔하기 때문에 "Test" 변수에 대한 필요성을 없앴습니다.
4. 원하는 것은 모든 출력이 있는 단일 창이라고 가정합니다. 코드 끝에 추가하면 마지막 차트만 추가됩니다. "gb"에 대한 참조는 추가되지 않습니다. "gb"는 For() 루프에서 참조될 때마다 각 연속 차트로 변경됩니다. 따라서 추가는 루프 내에 있어야 합니다.
dt = Current Data Table();
colnames = dt << get column names( numeric );
Show( colnames );
nw = New Window( "Plots", myVLB = V List Box() );
For( i = 5, i < N Items( colnames ), i++,
gb = Variability Chart(
invisible,
Y( Column( colnames[i] ) ),
X( :Group, :Lot, :Wafer ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( Name( "Choose best analysis (EMS REML Bayesian)" ) ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
);
myVLB << append( Report( gb ) );
);