목록에 열을 할당하는 방법은 무엇입니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JSL에는 ColList 함수를 이용하여 테이블의 컬럼을 목록으로 할당하는 컬럼 진단 기능이 있습니다. 스크립트가 실행되면 사용자는 할당이 발생하도록 버튼을 클릭해야 합니다. 대화형 사용자 입력이 필요합니다.
Col_dlg = 열대화상자(
Title("변수 할당"),
::x = ColList("실행 ID", MinCol(1), MaxCol(1), 열(:LOT)),
.....
);
사용자가 대화 상자 창의 버튼을 클릭하지 않고도 목록에 열을 할당할 수 있도록 스크립트를 작성하는 방법이 있습니까(실행 시 대화 상자 창이 표시되지 않음)?
나는 시도했다:
::x = ColList("실행 ID(필수)", MinCol(1), MaxCol(1), Columns(:LOT));
::x = :LOT << 값 가져오기;
::x = 열(dt,"LOT");
모두 실패했습니다. 어떤 단서가 있나요?
Re: 목록에 열을 할당하는 방법은 무엇입니까?미안, 내 잘못이야. 내 설명이 명확하지 않았습니다. 내가 하고 싶은 일은 일부 열에 강력한 전역 변수 할당을 사용하여 Column Diag 기능을 대체하여 사용자 대화형 응답이 필요하지 않도록 하는 것입니다. 상황은 다음과 같습니다.
내 메인 루틴에는 일부 열이 일부 전역 변수에 할당되는 Column Diag가 있는데, 이는 라이브러리의 많은 기존 함수에서 호출됩니다. 해당 lib 함수에 사용되는 몇 가지 명령이 있습니다.
N_x = NItems(x);
Column(dt, Eval(x2)) << Set Property("행 순서 수준", (1));
변동성 차트(...)
이변량(..)
....
해당 lib 함수는 변경할 수 없습니다. 현재 Column Diag 기능을 이용하여 할당한 전역 변수는 기존 lib 기능에 문제 없이 잘 작동하고 있습니다. 그러나 위에서 제안한 모든 시도는 일부 명령에서는 작동하지만 다른 명령에서는 오류가 발생할 수 있습니다.
이번에는 내 설명이 명확해지기를 바랍니다. :-). 아니면 더 많은 혼란을 추가할 수도 있습니다. :-(.
남자
Re: 목록에 열을 할당하는 방법은 무엇입니까?여기에서는 ColList 출력을 모방해야 하는 특별한 이유가 없지만 다음과 같은 열이 있는 목록을 만들 수 있습니다.
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
안부 = { 열 ( dt , "이름" )} ;
열 ( dt , 안부 ) << 속성 설정 ( "행 순서 수준" , ( 1 )) ;
그러나 귀하의 예에서는 일반 열 변수가 더 간단합니다.
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
안부 = 열 ( dt , "이름" ) ;
안부 << 속성 설정 ( "행 순서 수준" , ( 1 )) ;
열 목록을 기반으로 하는 또 다른 방법은 다음과 같습니다.
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
:: 엑스 = ( dt << 열 이름 가져오기 ())[ 1 ] ;
:: 엑스 << 속성 설정 ( "행 순서 수준" , ( 1 ) ) ;
Re: 목록에 열을 할당하는 방법은 무엇입니까?예, 다음을 사용하여
::x2 = Column(dt, "LOT") << 값 가져오기;
Column LOT 아래의 모든 값이 포함된 목록을 제공하지만 이 ::x2는 Column Diag의 ColList 함수를 사용하여 할당된 ::x와 정확하게 "작동"하지 않습니다. 예를 들어, 다음 명령은
Column(dt, Eval(x)) << Set Property("행 순서 수준", (1));
ColList 함수를 사용하여 ::x를 할당했지만 호출하면 오류가 발생합니다.
Column(dt, Eval(x2)) << Set Property("행 순서 수준", (1));
오류 메시지는 다음과 같습니다.
"'Column', Column( dt, Eval( x ) )의 액세스 또는 평가에서 열을 찾을 수 없습니다."
ColList 함수에 의해 할당된 ::x의 경우 Eval(x)는 "LOT"를 제공합니다.
이런 방식으로 할당된 ::x2의 경우 Eval(x)는 LOT 열 아래의 모든 값이 포함된 목록을 제공합니다.
내가 하고 싶은 일은 목록에 열을 할당하는 방법을 찾는 것입니다. 정확히 ColList 함수처럼 작동하지만 대화 상자 창이나 사용자 대화형 응답이 있는 사용자 인터페이스는 없습니다. 누구든지 ColList 함수에 대한 코드를 제공할 수 있다면 좋을 것입니다!
Re: 목록에 열을 할당하는 방법은 무엇입니까?마지막 시도에서 두 번째 시도는 성공했어야 했지만 LOT 열이 포함된 테이블이 현재 테이블이 아닐 수도 있습니다.다음 구문은 모두 작동합니다.
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
x1 = : 이름 << 가치를 얻다 ;
x2 = 열 ( dt , "이름" ) << 가치를 얻다 ;
데이터 테이블을 가리키는 변수가 설정되어 있는지 확인하세요.예를 들어:
dt = 데이터 테이블 ( "마이랏" ) ; // LOT 컬럼이 포함된 테이블
:: 엑스 = 열 ( dt , "많은" ) << 가치 얻기 ;