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));
    );
);