Concatenate values in a columnSeems like this should be simple, but I cannot find a clear example. I would like to concatinate the values in columns of a specific name("ROW" and "COL") and create a new column with the result in it. Example below.
ROW COL CELL
5 1 5_1
3 2 3_2
12 -1 12_-1
best shot at code so far:
column("ROW") << Data type(Character);
column("COL") << Data type(Character);
//a = {column("ROW"), column("COL")};
ConExpr = concat items({column("ROW"), column("COL")} , "_");
//Add "CELL" column = concat col(ROW) "_" col(COL)
dt << new column("CELL",Character, "Nominal", Format("Best", 12), formula(eval(Expr(ConExpr))));my results:
CELL
_
_
Any help in understanding why my code evaluates to that and the correct implementation would be greatly appreciated.
Data TableRe: Concatenate values in a columnsure, simply wanted to stay near to the given example. Eventually there is a more complex environment, that for expr was needed.
Re: Concatenate values in a columnJim's solution is the easiest - no need to overcomplicate things with expr, eval etc.
Re: Concatenate values in a columnThe New Column syntax can be simplified.
Names Default To Here( 1 );
dt = New Table( "Concatenate",
Add Rows( 3 ),
New Column( "ROW", Character, "Nominal", Set Values( {"5", "3", "12"} ) ),
New Column( "COL", Character, "Nominal", Set Values( {"1", "2", "-1"} ) )
);
// Creae new column
dt << New Column( "CELL1", Character,formula(:ROW || "_" || :COL) );
//or
dt << New Column( "CELL2", Character,formula( Concat( :ROW, "_", :COL) ) );Re: Concatenate values in a columnThere are several issues in your script,
e.g. you need to put expressions in an "expr()" etc., please see scripting index for further documentation,
and try out.
BR
Names Default To Here( 1 );
dt = New Table( "Concatenate",
Add Rows( 3 ),
New Column( "ROW", Character, "Nominal", Set Values( {"5", "3", "12"} ) ),
New Column( "COL", Character, "Nominal", Set Values( {"1", "2", "-1"} ) )
);
// ConExpr = expr(Concat Items( {Column( "ROW" )[Row()], Column( "COL" )[Row()]}, "_" ));
ConExpr = expr(Concat Items( {:ROW, :COL}, "_" ); );
//Add "CELL" column = concat col(ROW) "_" col(COL)
dt << New Column( "CELL", Character, "Nominal", formula( Name Expr( ConExpr ) ) );Re: Concatenate values in a columnI concatenated it the following way. Is this your Goal? Does it help?
