새 열의 수식에 선택한 열 사용안녕,
열을 선택해야 하는 스크립트를 생성하려고 합니다. 이 선택 항목으로 수식(선택한 열 포함)이 포함된 새 열을 만듭니다. 내 접근 방식은 다음과 같습니다.
dt = Current Data Table ();
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box( all ), dt << New Table Variable( "Selected Column", lb <<get selected ),
Button Box( "Moving Average", dt <<New Column ("Movin Average", Numeric, Formula (:Range + "selected Column") )
));
두 가지 문제가 있습니다.
1. 선택에 의해 열 변수를 생성하려면 어떻게 해야 합니까?
2. 내 공식에서 이 변수를 어떻게 사용할 수 있습니까? "범위"(숫자)의 경우 가능하지만 선택한 열(문자)의 경우 불가능합니다.
Re: 새 열의 수식에 선택한 열 사용하이 짐, 이것은 훌륭한 대본입니다.추가 수식 버튼을 추가하여 추가 수식 열(Col Mean() ...)을 생성할 수 있습니까?
Re: 새 열의 수식에 선택한 열 사용고맙습니다!
Re: 새 열의 수식에 선택한 열 사용코드는 Range 값이 문자열이 아니라고 불평합니다.따라서 이를 수정하기 위해 아래 코드는 char() 함수를 사용하여 문자열임을 확인하여 range 값과 반환된 열 이름을 모두 문자열로 강제 설정합니다.
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box(
Data Table( dt << get name ),
all,
min col( 1 ),
max col( 1 ),
dt << New Table Variable( "Selected Column", (lb << get selected )[1])
),
Button Box( "Moving Average",
Eval(
Substitute(
Expr(
dt << New Column( "Movin Average", Numeric, Formula( __formula__ ) )
),
Expr( __formula__ ), Parse( char(dt << get table variable( "Range" )) || " + :" || char((lb << get selected)[1]) )
)
)
)
);Re: 새 열의 수식에 선택한 열 사용감사합니다!
코드를 보면 정확히 내가 찾고 있는 코드여야 합니다. 하지만 오류 메시지가 나타납니다.
인수는 'Concat' 액세스 또는 평가에서 문자여야 합니다. Bad Argument( (lb << get selected)[1] ), dt << get table variable( "Range" ) || /*###*/" + :" || /*###*/(lb << 선택
)[1] /*###*/
테이블 변수로 선택한 열이 있습니다. 그러나 새 열에 대한 공식 평가는 불가능합니다.
내 JMP 버전에서 기본 설정을 변경해야 합니까?
Re: 새 열의 수식에 선택한 열 사용다음은 원본 스크립트가 시도한 작업을 수행할 스크립트의 실제 예입니다.
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << New Table Variable( "Range", 2 );
New Window( "Select Column",
lb = Col List Box(
Data Table( dt << get name ),
all,
min col( 1 ),
max col( 1 ),
dt << New Table Variable( "Selected Column", (lb << get selected )[1])
),
Button Box( "Moving Average",
Eval(
Substitute(
Expr(
dt << New Column( "Movin Average", Numeric, Formula( __formula__ ) )
),
Expr( __formula__ ), Parse( dt << get table variable( "Range" ) || " + :" || (lb << get selected)[1] )
)
)
)
);
이제 내가 겪고 있는 문제는 몇 가지 항목을 이해하는 것입니다.
- 범위 값과 새 열 이름에 대해 테이블 변수를 만드는 이유는 무엇입니까?
- 지정한 공식이 실제로 원하는 것입니까?다른 열의 값에 숫자 2를 추가하면 이동 평균이 제공되지 않습니다.현재 행의 실제 이동 평균과 마지막 2개 행의 이전 값을 생성하기 위해 정말로 원하는 것이 무엇입니까?