PivotData: multidimensional data aggregation library (C#/.NET) implements in-memory data cube, OLAP operations, can be used for creating pivot table reports.

  • pure C# aggregation library for working with multidimensional datasets (in-memory data cubes).
  • can calculate data for pivot table (cross-tab, summary table) and pivot chart reports from any enumerable data source.
  • supports incremental data processing (suitable for handling event streams)
  • can merge calculation results (for parallel/distributed aggregation), perform OLAP operations, calculate totals/sub-totals
  • built-in aggregation functions: count, sum, average, min, max, variance, standard deviation, count unique values, list unique values, list values. Several aggregators may be used at once. Custom summary functions are supported.
  • pivot table 2D/n-Dimensional data model: several dimensions per axis, sort by axis values.
  • PivotData Toolkit (NReco.PivotData.Extensions.dll) provides a lot of advanced components: render pivot table to HTML, exports to JSON/CSV/Excel/PDF and many others.

how to use
Install NReco.PivotData nuget package
var pivotData = new PivotData(
	new string[] {"name","age"},
	new AverageAggregatorFactory("salary"),
	new DataTableReader(t) );

var grandTotal = pivotData[Key.Empty,Key.Empty].Value;
var subTotalFor29 = pivotData[Key.Empty,29].Value;
var allDimensionKeys = pivotData.GetDimensionKeys();


Last edited Dec 22, 2016 at 11:41 AM by fedorchenko, version 7