JMP 스크립팅 문제 (곱하기 함수)안녕하세요,
jmp에서 multiply 함수를 사용하는 데 문제가 있습니다. 테이블에 배치하기 전에 값을 평가하려고합니다. 디버그 스크립트를 사용했고 두 변수가 정확하게 계산되지만 함께 곱셈되지는 않습니다. 누구든지 도와 줄 수 있습니까?
fl = Files In Directory( cal_path, recursive );
fli = {};
for( y = 1, y<=nitems(fl), y++,
if(left(fl[y],1) == "~", remove from(fl, y));
insertinto(fli,left(substitute(substitute(fl[y],"-",""),"_",""),9));
);
grfactor1 = {};
adjgr1 = {};
agr1 = {};
For( i = 1, i <= N Items( fl ), i++,
currentfile = cal_path || fl[i];
dt = Open( currentfile );
Current Data Table( dt );
name_list = dt << get column names( string );
If( Contains( name_list, "Active Multi" ) == 0 ,
Insert Into( grfactor1, "" );
Insert Into( adjgr1, "" );
close(dt, nosave);
Continue()
);
grfa = :name( "Active Multi 2" )[8];
adjgra = :name( "Active Multi 2" )[20];
Insert Into( grfactor1, grfa );
Insert Into( adjgr1, adjgra );
Close( dt, nosave );
);
agr1=adjgr1;
Multiply to (agr1, grfactor1);
ct = New Table( "historical_data" );
ct << New Column( "GRF1", numeric, values( Eval( grfactor1 ) ) );
ct << New Column( "GRU1", numeric, values( Eval( adjgr1 ) ) );
ct << New Column( "GR1", numeric, formula( GRU1 * GRF1 ) );
ct << new column( "check 1", numeric, values(Eval ( agr1 )));미리 감사드립니다.
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)완벽 해, 고마워. 이제 예상대로 작동합니다.
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)이 예제에서는 숫자가 아닌 문자열처럼 보입니다. 데이터에도 해당되는 경우 문자열이 올바르게 곱하지 않으므로 숫자로 변환해야합니다. 변환은 루프에서 효율적으로 수행 될 수 있습니다.
//...
grfa = Num(:name("Active Multi 2")[8]);
adjgra = Num(:name("Active Multi 2")[20]);
//...
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)그게 내가하고 싶은 일이고, 쇼 기능 (훌륭한 아이디어)을 사용했고, 그것을 돌려 줬다.
adjgr = { "2.763",.}};
grfactor = { "0.291",.}};
agr = { "2.763",.};
adjgr = { "2.763",.}};
grfactor = { "0.291",.}};
나는 그 시점에서 2 개의 파일을 가지고 있고 1은 아무것도 포함하지 않고 다른 하나는 난수를 포함하고있다.
당신은 adjgr에 그것의 단지 평가를 볼 수 있고 grfactor에 의해 multilply하지 않는다.
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)열 계산을 제거하고 대신 스크립팅에서 계산하려고합니다. 새 열 스크립트의 수식이 올바르게 작동하고 올바르게 평가됩니다.
Multiply to (agr1, grfactor1);
그것은 나에게 같은 값을 주지만 agr1 값으로 만 변수를 평가하는 것으로 보인다.
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)나는 당신의 코드가 이런 식으로하려고 시도하고 있다고 생각한다. 이전에 값 목록을 시도하지 않았습니다.
a={1,2};
b={3,4};
show(a,b);
c=multiplyto(a,b);
show(a,b,c);
a = {1, 2}; // ()에 곱하기 위해 입력
b = {3, 4};
a = {3, 8}; // 이것은 ()에 곱하여 업데이트됩니다.
b = {3, 4};
c = {3, 8}; //이 값은 ()에 곱하여 반환됩니다.
JMP 로그에서 오류 메시지를 확인하고 show (a, b) 함수를 사용하여 로그에 값을 입력하여 현재 상황을 확인하십시오.
제목 : Re : JMP 스크립팅 문제 (곱하기 함수)범위 지정 ":"을 사용하여 GRU1 및 GRF1이 열 이름임을 나타냅니다. 테이블이 크면 수식을 계산하기 전에 입력 열을 완전히 채울 수 있도록 Wait () 명령을 삽입하는 것이 좋습니다.
//...
Wait(0);
ct << New Column("GR1", numeric, formula(:GRU1 * :GRF1));
//...