열 이름과 수식이 있는 for 루프로 새 열 만들기기존 테이블에서 분할 테이블을 만들고 분할된 열을 기반으로 하는 수식을 사용하여 분할 테이블에 새 열을 추가하려고 합니다. 그러나 코드는 새 열을 생성하지만 "수식 평가 오류"를 표시합니다.
dt2 = Current Data Table();
// Create the split data table
dt2 = dt << Split(
Split By( :S ),
Split(
:Name( "Median(data)" )
),
Group( :L, :m, :C, :P, :z, :x ),
Remaining Columns( Drop All ),
Sort by Column Property
);
colname = {"B","C"};
colby = {"A","B"};
// Add new columns to the split data table
For( i = 1, i <= N Items( colname ), i++,
dt2 << New Column( colname[i]||"/"||colby[i],
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( column(colname[i]) / column(colby[i]) )
););자동화 및 스크립팅Re: 열 이름과 수식이 있는 for 루프로 새 열 만들기JMP 수식 정의는 정의될 때 평가되지 않고 실행될 때만 평가됩니다.따라서 수식을 완전히 정의된 형식으로 JMP에 표시해야 합니다.
Column( colname[i] ) / Column( colby[i] )
다음과 같이 JMP에 제시해야 합니다.
Column( "B" ) / Column( "A" )
대체 기능을 사용하면 필요에 따라 코드를 확장할 수 있습니다.
// Add new columns to the split data table
For( i = 1, i <= N Items( colname ), i++,
Eval(
Substitute(
Expr(
dt2 << New Column( colname[i] || "/" || colby[i],
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Column( __colname__ ) / Column( __colby__ ) )
)
),
Expr( __colname__ ), colname[i],
Expr( __colby__ ), colby[i]
)
)
);Re: 열 이름과 수식이 있는 for 루프로 새 열 만들기아래와 같이 여전히 같은 오류가 발생합니다.
Column B/A Formula Interrupted
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, Column( "B" ) / /*###*/Column( "A" ) /*###*/
Formula evaluation errors have been ignored
Column C/B Formula Interrupted
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, Column( "C" ) / /*###*/Column( "B" ) /*###*/
Formula evaluation errors have been ignored
Re: 열 이름과 수식이 있는 for 루프로 새 열 만들기Column() 함수를 As Column() 함수로 변경해 보십시오.
Re: 열 이름과 수식이 있는 for 루프로 새 열 만들기감사합니다!