我正在使用C# winforms创建一个需要将数据表转换为透视表的应用程序。我让数据透视表在SQL端工作得很好,但从数据表创建它似乎更棘手。我似乎找不到任何内置于.NET的东西。
注意:我必须从.NET端执行此操作,因为我在创建透视表之前操作数据。
我读过一些类似的文章,但我很难将它们应用到我的问题中。
- 我有一个数据表,列为“StartDateTime”,“Tap”和“Data”。应将开始日期分组在一起,并对数据值取平均值(有时每个开始日期有多个数据值)。表格如下所示:
数据透视表的输出应该像下面的图像(虽然不是四舍五入的值)。列编号是不同的抽头编号(每个抽头编号对应一个唯一的抽头编号)。
如何从数据表创建这个透视表?
编辑:忘了说了,这些抽头值并不总是从1-4,它们确实在数量和值上有所不同。
5条答案
按热度按时间pes8fvy91#
学习hash-pivot tesuji:
ix0qys7i2#
像这样的数据透视表可以通过免费的NReco.PivotData聚合库轻松计算:
行键和列键由pvtTbl.RowKeys和pvtTbl.ColumnKeys集合表示;值/总计可由索引器访问(例如:
pvtTbl[0,0].Value
)或按行+列键(例如:pivotData[new Key(new DateTime(2012, 3, 30, 11, 42, 00)), new Key(4)].Value
)。rmbxnbpk3#
也许这个能帮到你在vb.net中。
zlhcx6iw4#
另一小段代码可以透视任何你想要的表:
bqf10yzr5#
你可以试试下面的函数(C#代码):
用途:
请注意,您可以在第二个参数中添加所需的列数。
功能: