열 이름을 선택하는 대화 상자 팝업<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요. 사용자가 대화 상자 팝업에 열 이름을 입력하는 스크립트와 스크립트를 만들려고 합니다.
1. 열 이름 아래의 데이터가 있는 행의 부분 집합을 만들고
2. 입력된 열 이름으로 간단한 수식을 수행하는 새 열을 생성합니다.
어떻게 해야할지 몰라서 아래 컬럼명을 하드코딩했습니다. 사용자가 대화 상자 팝업에 무엇을 입력하더라도 작동하도록 :XX01을 어떻게 바꿀 수 있습니까? XX01, XX02, XX03 등의 열이 있습니다.
팝업 = 대화상자(
제목( "요약 표" ),
" ",
" Softbin XX 입력:",
라인업( 6,
"소프트빈아이디",
Soft_Bin = 편집번호( 01 )
),
버튼( "확인" ),
버튼( "취소" )
);
masterdt << select where (Is Missing(:XX01));
masterdt << 행 선택 반전;
sbdt = masterdt << Subset(( 선택한 행 ), 출력 테이블 이름("선택한 Softbin 데이터"));
sbdt << 새 열( "Bin%", 숫자, 연속형, 형식("백분율",12,2), 공식( :XX01 / :LOT_SORTED_DIES ) );
Re: 열 이름을 선택하는 대화 상자 팝업맞아요 당신은 MS입니다. 수정해 주셔서 감사합니다.
Re: 열 이름을 선택하는 대화 상자 팝업고마워요 MS! 이제 작동합니다 
Re: 열 이름을 선택하는 대화 상자 팝업평가하기 전에 구문 분석하면 표현식이 작동할 것이라고 생각합니다.
평가 ( 구문 분석 (공식_표현식) );
Re: 열 이름을 선택하는 대화 상자 팝업PMroz에게 감사드립니다. 이 창이 정말 유용합니다. New Column 부분을 제외하고는 모든 것이 부드럽습니다.
내가 무엇을 잘못했는지 잘 모르겠지만 로그의 표현식은 괜찮아 보이지만 평가 삽입 문장은 여전히 작동하지 않습니다.
masterdt = 새 테이블( "마스터 DT", 행 추가( 5 ),
새 열( "XX01", 숫자, 연속, 형식( "최고", 12 ),
값 설정( [1, 2, ., 3, 4] )
),
새 열( "XX02", 숫자, 연속, 형식( "최고", 12 ),
값 설정( [., 1, 2, ., .] )
),
새 열( "XX03", 숫자, 연속, 형식( "최고", 12 ),
값 설정( [., ., 1, 2, 3] )
),
새 열( "LOT_SORTED_DIES", 숫자, 연속, 형식( "최고", 12 ),
값 설정( [10, 10, 10, 20, 30] )
)
);
popup = 새 창("요약 테이블", <
텍스트 상자("Softbin XX 입력:"),
H 목록 상자(
텍스트 상자( "Softbin ID: " ),
Soft_Bin = 숫자 편집 상자( 01 ),
),
hlistbox(
버튼 상자( "확인",
ok_flag = 1;
ncol = Soft_bin << get;
if (ncol < 9,
selected_col = "XX0" || char(ncol);
,
selected_col = "XX" || char(ncol);
)
),
버튼 상자( "취소", ok_flag = 0 ),
)
);
만약( ok_flag,
missing_rows = masterdt << 행 가져오기 where( !Is Missing( as Column( masterdt, selected_col ) ) );
If( N 행( 누락_행 ) > 0,
masterdt << 행 선택(missing_rows);
sbdt = masterdt << Subset( (선택한 행), 출력 테이블 이름( "선택한 Softbin 데이터" ) );
Formula_expr = 평가 삽입(
"\[sbdt << 새 열( "Bin%", 숫자, 연속형, 형식( "퍼센트", 12, 2 ), 공식( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
);
Parse( Eval( 공식_expr ) );
);
);
Re: 열 이름을 선택하는 대화 상자 팝업이것은 당신이 원하는 것을 할 것입니다.대화 상자 대신 새 창을 사용하도록 코드를 변환했습니다.열 수식에 대해 구문 분석(eval())을 수행해야 했습니다.
마스터 = 새 테이블 ( "마스터 DT" , 행 추가 ( 5 ) ,
새 열 ( "XX01" , 숫자 , 마디 없는 , 체재 ( "최상의" , 12 ) ,
값 설정 ( [ 1 , 2 , . , 삼 , 4 ] )
) ,
새 열 ( "XX02" , 숫자 , 마디 없는 , 체재 ( "최상의" , 12 ) ,
값 설정 ( [ . , 1 , 2 , . , . ] )
) ,
새 열 ( "XX03" , 숫자 , 마디 없는 , 체재 ( "최상의" , 12 ) ,
값 설정 ( [ . , . , 1 , 2 , 삼 ] )
)
) ;
팝업 = 새창 ( "요약표" , << 모달 () ,
텍스트 상자 ( "소프트빈 XX를 입력하세요:" ) ,
H 목록 상자 (
텍스트 상자 ( "소프트빈 ID: " ) ,
Soft_Bin = 번호 편집 상자 ( 01 ) ,
) ,
hlistbox (
버튼 상자 ( "좋아요" ,
ok_flag = 1 ;
ncol = 소프트빈 << 얻다 ;
만약에 ( ncol < 9 ,
selected_col = "XX0" || 숯 ( ncol ) ;
,
selected_col = "더블 엑스" || 숯 ( ncol ) ;
)
) ,
버튼 상자 ( "취소" , ok_flag = 0 ) ,
)
) ;
만약에 ( ok_flag ,
누락_행 = 마스터 << 어디에서 행을 가져오나요? ( ! 누락 ( 열로 ( 마스터 , selected_col ) ) ) ;
만약에 ( N 행 ( 누락_행 ) > 0 ,
마스터 << 행 선택 ( 누락_행 ) ;
sbdt = 마스터 << 하위 집합 ( ( 선택한 행 ) , 출력 테이블 이름 ( "선택된 소프트빈 데이터" ) ) ;
공식_표현식 = 평가 삽입 (
"\[sbdt << 새 열( "Bin%", 숫자, 연속형, 형식( "퍼센트", 12, 2 ), 공식( :^selected_col^ / :LOT_SORTED_DIES ) )]\"
) ;
구문 분석 ( 평가 ( 공식_표현식 ) ) ;
) ;
) ;