Your formula involves division. It requires numeric data columns for this compuation. Your result is set up for a new column with the character data type. If that is what you want, then wrap the division inside the Char() function to satisfy the data type.
To create the summary table first and then add a formula column to it, save a reference to the table when you create it:
//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"
)
)
);
Your formula involves division. It requires numeric data columns for this compuation. Your result is set up for a new column with the character data type. If that is what you want, then wrap the division inside the Char() function to satisfy the data type.
I am stuck with a simialr issue. I perform division operation in one column and then need to transpose the table.Running into issue while I try to do this.
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");
);
But getting an error becuase of the formula -
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, 2500 / /*###*/:Min Size/*###*/
Formula evaluation errors have been ignored
I am assuming that you have a pointer to your data table called
dtInput
but not one called
dtIn