c#DataTable枢纽

时间:2016-03-20 12:48:00

标签: c# datatable pivot

我有以下结构的数据表,我想在没有任何计算的情况下进行数据透视,如下面的任何想法

Category Week Resulton
cat1     w1   26
cat2     w1   50
cat3     w1   54
cat4     w1   19
cat1     w2   54
cat2     w2   31
cat3     w2   36
cat4     w2   25
cat1     w3   21
cat2     w3   44
cat3     w3   36
cat4     w3   38
cat1     w4   24
cat2     w4   39
cat3     w4   24
cat4     w4   28



week cat1 cat2 cat3 cat4
w1   26   50   54   19
w2   54   31   36   25
w3   21   44   36   38
w4   24   39   24   28

1 个答案:

答案 0 :(得分:0)

您可以使用免费的NR​​eco PivotData库轻松获得所需的结果:

DataTable t; // assume this is table with "Category","Wee","Resolution" columns
var pivotData = new PivotData(
    new string[] {"Category","Week"},
    new SumAggregatorFactory("Resolution"),
    new DataTableReader(t) );
var pivotTable = new PivotTable(
    new []{"Week"}, // row dimension(s)
    new []{"Category"}, // column dimension(s)
    pivotData );
// use pivotTable to access calculated values:
var rowLabels = pivotTable.RowKeys;
var colLabels = pivotTable.ColumKeys;
var cellValue = pivotTable[0, 0].Value; // w1 x cat1 => 26

我是这个图书馆的作者;如果有什么不清楚,请随时提出任何问题。