This will do the trick:
dt = New Table("Untitled", Add Rows( 5 ),
New Column( "Albert", Numeric,
Continuous, Format( "Best", 12 ), Set Values( [1, 2, 3, 4, 5] ) ),
New Column( "Bert", Numeric, Continuous, Format( "Best", 12 ),
Set Values( [6, 7, 8, 9, 10] )),
New Column( "Cathy", Numeric, Continuous, Format( "Best", 12 ),
Set Values( [11, 12, 13, 14, 15] )),
New Column( "Daniel", Numeric, Continuous, Format( "Best", 12 ),
Set Values( [16, 17, 18, 19, 20] )),
New Column( "Total", Numeric, Continuous, Format( "Best", 12 ),
Set Values( [23, 43, 222, 32, 444] )),
);
stringlist = dt << get column names (string);
For( i = 1, i <= N Items( stringlist ), i++,
one_col = stringlist[i];
if (one_col != "Total",
new_col = one_col || " Total";
col_string = "dt << new column(new_col, formula(:" || one_col || " / :Total))";
eval(parse(col_string));
);
);