저는 2주 전에 시작한 JSL을 처음 사용합니다.
많은 테스트에 대한 분석을 생성하려고 합니다. 매번 새 데이터 테이블에 한 번에 몇 개의 테스트가 함께 쌓입니다. 스크립트가 완료될 때까지 나는 많은 열린 데이터 테이블. 분석이 완료된 후에는 이 데이터 테이블을 닫을 수 없습니다. 원래 데이터 파일이나 실제 차트를 닫지 않고 열려 있는 파일을 닫는 방법이 있습니까?
이제 test, test1,...이라는 이름의 30개가 넘는 데이터 파일이 생성되기 때문입니다.
다음은 내 코드의 스냅입니다.
dt = Current Data Table();
NW = New Window( "TRIM_CHARTS",
dt << Stack(
columns(
:TRIM_TARGET,
:Emulate_0000__,
:Emulate_0001__,
:Emulate_0010___,
:Emulate_0011__,
:Emulate_0100__,
:Emulate_0101__,
:Emulate_0110__,
:Emulate_0111__,
:Emulate_1000__,
:Emulate_1001__,
:Emulate_1010__,
:Emulate_1011__,
:Emulate_1100___,
:Emulate_1101__,
:Emulate_1110___,
:Emulate_1111__,
: _BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);
Oneway(
Y( :Data ),
X( :Label ),
Name( "Means/Anova" )(1),
Means and Std Dev( 1 ),
Mean Diamonds( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Connect Means( 1 ),
X Axis Proportional( 0 ),
Points Spread( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Row Legend(
Temp,
Color( 1 ),
Color Theme( "Blue to Green to Red" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
dt << Stack(
columns(
:Ilim__TRIM_TARGET,
:Emulate_0000_Ilim_,
:Emulate_0001_Ilim_,
:Emulate_0010_Ilim_,
:_iLIM_BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);
Oneway(
Y( :Data ),
X( :Label ),
Name( "Means/Anova" )(1),
Means and Std Dev( 1 ),
Mean Diamonds( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Connect Means( 1 ),
X Axis Proportional( 0 ),
Points Spread( 1 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Row Legend(
Temp,
Color( 1 ),
Color Theme( "Blue to Green to Red" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
);
nw << Set page setup(
margins( 0.5, 0.5, 0.5, 0.5 ),
scale( 0.8 ),
portrait( 0 ),
paper size( "A3" )
);
jrn = NW << Journal;
NW << save PDF( "C:\My Documents\Trim_CHARTS.pdf" );
감사해요
샘
Uday의 코드는 훌륭하게 작동할 것입니다. 아래 코드는 동일한 코드를 단순화합니다.
Names Default To Here( 1 );
DontClose = {"Test1", "Result"}; // Example names of tables you want to leave
// Loop backwards through the list, so the table numbers do not change
For( i = N Table(), i >= 0, i--,
If( Contains( DontClose, Data Table( i ) << get name ),
Continue(),
Close( Data Table( i ), "No Save" )
)
);이 방법은 원하는 작업을 수행하는 가장 효율적인 방법이 아닐 수 있지만 작동합니다.
openDTs = List(); // Define an empty list to collect names of all open data tables
TableNames = List();
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) );
Insert Into(TableNames,Data Table(i) << get name);
);
// By now openDTs contains references of all tables that you have open
DontClose = {"Test1","Result"}; // Example names of tables you want to leave open
For( i = 1, i <= N Items(openDTs) , i++,
TabName = openDTs[i] << Get Name ;
If(Contains(DontClose,TabName),
Continue();
,
Close(openDTs[i],"No Save");
);
);그것들을 숨기는 것은 귀찮지만 이름을 지정하지 않고 최종 출력을 닫지 않고 모든 테이블을 닫을 수 있는 방법이 있습니까(예: 일종의 생각을 제외하고 모두 닫기).
감사해요
누적 데이터 테이블을 만들 때 단순히 보이지 않게 만드십시오. JMP 홈 창에 표시되지만 보이는 창은 생성되지 않습니다.
dt << Stack(invisible,
columns(
:Ilim__TRIM_TARGET,
:Emulate_0000_Ilim_,
:Emulate_0001_Ilim_,
:Emulate_0010_Ilim_,
:_iLIM_BEST_VALUE
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Output Table( "test" )
);이것이 최종 보고서/jrn이 완료되었을 때 내가 끝내는 것입니다!
