Group By with Aggregation
In FusionCharts.Net, you can apply GroupBy and Aggregation operations to a DataModel at the same time.
Let's apply both operations on the tabular data of a DataModel.
Grouping to the Country column.
SUM Aggregation function to the Sales column.
Order Date | Country | Sales | Quantity | Shipping Cost |
---|---|---|---|---|
1/22/2011 | Australia | 59.724 | 6 | 27.43 |
1/22/2011 | United States | 125.248 | 3 | 3.64 |
1/22/2011 | Australia | 6.318 | 1 | 1.77 |
1/24/2011 | Australia | 110.808 | 3 | 9.92 |
1/24/2011 | United States | 40.08 | 6 | 4.31 |
1/24/2011 | India | 59.25 | 5 | 4.27 |
1/24/2011 | United States | 5.94 | 3 | 0.95 |
1/26/2011 | India | 79.38 | 3 | 13.82 |
1/26/2011 | India | 342.51 | 7 | 13.22 |
The code to apply grouping and aggregation function is shown below:
GroupColumn columnData = new GroupColumn {
"Country"
};
Aggregation aggregateSum = new Aggregation {
"Sales", Aggregation.Function.SUM
};
DataModel totalSales = model.GroupingWithAggregation(columnData, aggregateSum);
In the above code:
GroupColumn is a class.
columnData is an object which holds information of the data to be grouped.
Country is the column name from the above tabular data.
Aggregation is a class.
aggregateSum is the class object which holds information of the data to be aggregated.
Sales is the column name on which the aggregation function will be applied.
In
Aggregation.Function.SUM
, Function is an enum of Aggregation class which specifies the function to be applied on the data.DataModel is a class.
totalSales is the object which holds the resultant data.
The output after running the above code looks like:
Country | Sales |
---|---|
Australia | 176.85 |
United States | 171.268 |
India | 481.14 |