라는 데이터 테이블에 대한 포인터가 있다고 가정합니다.
dt입력
하지만 한 명도 부르지 않았다
dtIn
비슷한 문제가 있습니다. 한 열에서 나눗셈 연산을 수행한 다음 테이블을 전치해야 합니다. 이 작업을 수행하는 동안 문제가 발생합니다.
dtIn << New Column("Max Size ",Character,format("best",8),Formula(
:Name("Max Size") = (2500/:Min Size))
);
//check for empty columns and delete if any
dt = Current Data Table();
names = dt << Get Column Names();
dt1 = dt << Missing Data Pattern(columns(Eval(names)), invisible);
n = N Row(dt1);
For(i = N Col(dt), i >= 1, i--,
If(Col Sum(Column(dt1, i + 3)) < n,
Remove From(names, i)
)
);
Try(dt << delete columns(names));
Close(dt1, nosave);
//Get all coulmn names
allcolnames = dt << get column names(string);
show(allcolnames);
for (i = 1, i <= nitems(allcolnames), i++,
column(dt, allcolnames[i]) << data type(Character,"Nominal");
);
그러나 수식 때문에 오류가 발생합니다.
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, 2500 / /*###*/:Min Size/*###*/
Formula evaluation errors have been ignored
귀하의 공식에는 나눗셈이 포함됩니다. 이 계산에는 숫자 데이터 열이 필요합니다. 결과는 문자 데이터 유형의 새 열에 대해 설정됩니다. 그것이 당신이 원하는 것이라면 데이터 유형을 만족시키기 위해 Char() 함수 내에서 나눗셈을 래핑하십시오.
먼저 요약 테이블을 만든 다음 수식 열을 추가하려면 테이블을 만들 때 테이블에 대한 참조를 저장합니다.
//Save reference to the newly created summary table.
dt = Data Table( "Thickness" ) << Summary( Group( :Bar ), N, Mean( :Thickness 01 ) );
//Send a message to the new table to create the new column.
dt << New Column( "New formula column",
Character,
Formula(
If( :Name( "Mean(Thickness 01)" ) > 0.04,
"normal",
"thin"
)
)
);