포함된 구문 분석 사용안녕,
목록을 반복하고 목록 1,2,3,4에 포함된 경우 summary_tb의 값을 목록 L1, L2, L3으로 가져오려고 합니다. 나는 Prase(lists[j])에 갇혀 있습니다. 어떤 충고? 감사해요
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
summary_tb = (Data Table( "Semiconductor Capability" ) << Tabulate(
Add Table(
Column Table( Statistics( N, Mean, Std Dev ) ),
Row Table(
Analysis Columns(
:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1, :INM1, :INM2, :VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1,
:NPN5, :EP2, :ZD6, :PBA, :PLG, :CAP, :PBA3, :PLG2, :PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8, :IVP3, :IVP4, :IVP5, :IVP6, :PNP9, :NPN8,
:NPN9, :IVP7, :NPN10, :N_1, :PBA1, :WPR1, :B10, :PLY10, :VBE210, :VTN210, :VTP210, :SIT2, :SIT3, :INV2, :INV3, :INV4, :INV5, :FST1,
:FST2, :RES1, :RES2, :PNM1, :PPM1, :FNM1, :FPM1, :FST3, :FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8, :IVP9, :DE_H1,
:NF_H1, :ESM1, :ESM2, :ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1, :DEM1, :DEP1, :NFM1, :PLY1, :VDP1, :VDP2, :SNW1, :RSP2, :PLY2,
:RSP1, :VDP3, :PBL1, :PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6, :INM4, :VPM7, :M1_M1, :M2_M2, :P1_P1, :E2A1, :E2B1, :NPN11,
:IVP10, :PNP10, :INM5, :VPM8, :VPM9, :INM6, :VPM10, :N2A1, :N2B1, :NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1
)
)
)
)) << Make Into Data Table;
lists = {"List1", "List2", "List3", "List4"};<BR />
///Get values from the below loop into these lists
L1 = {};
L2 = {};
L3 = {};<BR /><BR />// Loop to iterate rows and lists to find the column values from the tabulate table
For( i = 1, i <= N Rows( summary_tb ), i++,
For( j = 1, j <= N Items( lists ), j++,
//// Something is not correct in the below code
If( Contains( Parse (lists[j]) ,Column( summary_tb, 1 )[i]),
Insert Into( L1, Column( summary_tb, 1 )[i] );
Insert Into( L2, Column( summary_tb, 2 )[i] );
Insert Into( L3, Column( summary_tb, 3 )[i] );
)
)
);자동화 및 스크립팅답: 포함된 구문 분석을 사용하여Substitute 기능을 사용하여 지정한 결과를 얻을 수 있었습니다.
lists = {"List1", "List2", "List3", "List4"};
///Get values from the below loop into these lists
L1 = {};
L2 = {};
L3 = {};// Loop to iterate rows and lists to find the column values from the tabulate table
For( i = 1, i <= N Rows( summary_tb ), i++,
For( j = 1, j <= N Items( lists ), j++,
//// Something is not correct in the below code
Eval(
Substitute(
Expr(
If( Contains( __lists__, Column( summary_tb, 1 )[i] ),
Insert Into( L1, Column( summary_tb, 1 )[i] );
Insert Into( L2, Column( summary_tb, 2 )[i] );
Insert Into( L3, Column( summary_tb, 3 )[i] );
)
),
Expr( __lists__ ), Parse( lists[j] )
)
)
)
);답: 포함된 구문 분석을 사용하여고마워요 짐!
답: 포함된 구문 분석을 사용하여@txnelson
빠른 질문 - 각 목록의 탭 상자 테이블 상자에 값을 가져오고 싶습니다.
예를 들어,
첫 번째 탭 상자에는 다음과 같은 요약 통계가 있어야 합니다.
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
두 번째 탭 상자에는 다음과 같은 요약 통계가 있어야 합니다.
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
3, 4도 마찬가지
설정 기능을 사용해 보았지만 한 탭의 모든 열이 복사됩니다. 어떤 제안이 있으십니까?
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
summary_tb = (Data Table( "Semiconductor Capability" ) << Tabulate(
Add Table(
Column Table( Statistics( N, Mean, Std Dev ) ),
Row Table(
Analysis Columns(
:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1, :INM1, :INM2, :VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1,
:NPN5, :EP2, :ZD6, :PBA, :PLG, :CAP, :PBA3, :PLG2, :PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8, :IVP3, :IVP4, :IVP5, :IVP6, :PNP9, :NPN8,
:NPN9, :IVP7, :NPN10, :N_1, :PBA1, :WPR1, :B10, :PLY10, :VBE210, :VTN210, :VTP210, :SIT2, :SIT3, :INV2, :INV3, :INV4, :INV5, :FST1,
:FST2, :RES1, :RES2, :PNM1, :PPM1, :FNM1, :FPM1, :FST3, :FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8, :IVP9, :DE_H1,
:NF_H1, :ESM1, :ESM2, :ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1, :DEM1, :DEP1, :NFM1, :PLY1, :VDP1, :VDP2, :SNW1, :RSP2, :PLY2,
:RSP1, :VDP3, :PBL1, :PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6, :INM4, :VPM7, :M1_M1, :M2_M2, :P1_P1, :E2A1, :E2B1, :NPN11,
:IVP10, :PNP10, :INM5, :VPM8, :VPM9, :INM6, :VPM10, :N2A1, :N2B1, :NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1
)
)
)
)) << Make Into Data Table;
lists = {"List1", "List2", "List3", "List4"};
L1 = {};
L2 = {};
L3 = {};
For( i = 1, i <= N Rows( summary_tb ), i++,
For( j = 1, j <= N Items( lists ), j++,
//// Something is not correct in the below code
Eval(
Substitute(
Expr(
If( Contains( __lists__, Column( summary_tb, 1 )[i] ),
Insert Into( L1, Column( summary_tb, 1 )[i] ); // Test
Insert Into( L2, Column( summary_tb, 2 )[i] ); // N<BR />
Insert Into( L3, Column( summary_tb, 3 )[i] );// Mean
Insert Into( L4, Column( summary_tb, 3 )[i] ); // Std
)
),
Expr( __lists__ ), Parse( lists[j] )
)
)
)
);
Nw = New Window( "",
Tab Box(
"1",
V List Box(
tbb = Table Box(
tests = String Col Edit Box( "Tests", {} ),
num = Number Col Edit Box( "N", {}, <<SET format=""></SET>num<< set(L2);<BR />mean1<< set(L3);<BR />std<< set(L4);<BR />
답: 포함된 구문 분석을 사용하여테스트, num, 평균 1 및 std 변수는 탭 1의 표시 개체에서 탭 2......탭 4로 계속 변경됩니다. <
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
summary_tb = (Data Table( "Semiconductor Capability" ) << Tabulate(
Add Table(
Column Table( Statistics( N, Mean, Std Dev ) ),
Row Table(
Analysis Columns(
:NPN1, :PNP1, :PNP2, :NPN2, :PNP3, :IVP1, :PNP4, :NPN3, :IVP2, :NPN4, :SIT1, :INM1, :INM2,
:VPM1, :VPM2, :VPM3, :PMS1, :SNM1, :SPM1, :NPN5, :EP2, :ZD6, :PBA, :PLG, :CAP, :PBA3, :PLG2,
:PNP5, :NPN6, :PNP6, :PNP7, :NPN7, :PNP8, :IVP3, :IVP4, :IVP5, :IVP6, :PNP9, :NPN8, :NPN9,
:IVP7, :NPN10, :N_1, :PBA1, :WPR1, :B10, :PLY10, :VBE210, :VTN210, :VTP210, :SIT2, :SIT3,
:INV2, :INV3, :INV4, :INV5, :FST1, :FST2, :RES1, :RES2, :PNM1, :PPM1, :FNM1, :FPM1, :FST3,
:FST4, :RES3, :RES4, :A1, :B1, :A2N, :A2P, :A2P1, :IVP8, :IVP9, :DE_H1, :NF_H1, :ESM1, :ESM2,
:ESP1, :YFU1, :VPM4, :PBA2, :PBB1, :LYA1, :LYB1, :DEM1, :DEP1, :NFM1, :PLY1, :VDP1, :VDP2,
:SNW1, :RSP2, :PLY2, :RSP1, :VDP3, :PBL1, :PLG1, :VDP4, :SPW1, :VIA1, :INM3, :VPM5, :VPM6,
:INM4, :VPM7, :M1_M1, :M2_M2, :P1_P1, :E2A1, :E2B1, :NPN11, :IVP10, :PNP10, :INM5, :VPM8,
:VPM9, :INM6, :VPM10, :N2A1, :N2B1, :NM_L1, :P2A1, :P2B1, :PM_L1, :P1, :M1
)
)
)
)) << Make Into Data Table;
lists = {"List1", "List2", "List3", "List4"};
L1 = {};
L2 = {};
L3 = {};
L4 = {};
For( i = 1, i <= N Rows( summary_tb ), i++,
For( j = 1, j <= N Items( lists ), j++,
//// Something is not correct in the below code
Eval(
Substitute(
Expr(
If( Contains( __lists__, Column( summary_tb, 1 )[i] ),
Insert Into( L1, Column( summary_tb, 1 )[i] ); // Test
Insert Into( L2, Column( summary_tb, 2 )[i] ); // N
Insert Into( L3, Column( summary_tb, 3 )[i] );// Mean
Insert Into( L4, Column( summary_tb, 3 )[i] ); // Std
)
),
Expr( __lists__ ), Parse( lists[j] )
)
)
)
);
Nw = New Window( "",
Tab Box(
"1",
V List Box(
tbb1 = Table Box(
tests1 = String Col Edit Box( "Tests", {} ),
num1 = Number Col Edit Box( "N", {}, <<SET format=""></SET>