Finding possible misconceptions in ColumnChart
It looks as if this can be solved using Linq.

If your datasource consists an IEnumerable of records each containing a MonthNumber, GroupName and ValueRevenue

Say,

public class DataRecord {

    public int MonthNbr { get; set; }
    public string GroupName { get; set; }
    public double ValueRevenue { get; set; }

}


then a GroupBy() should populate your ChartColumn

e.g.

private static ColumnChart GroupAndSort(IEnumerable&lt;DataRecord&gt; input) {

    return input.GroupBy(n =&gt; n.GroupName).Select(g =&gt; new ColumnChart {
            Type = "column",
            Name = g.Key,
            Data = g.OrderBy(d =&gt; d.MonthNbr).Select(d =&gt; d.ValueRevenue).ToList()
        }).First();

}


Note: 

This was set up to deal with one set of records and only one ChartColumn being generated. If you have many groups in the input then remove the 'First()' and return an 'IEnumerable'