gpt4 book ai didi

c# - 在 C# 中创建数据透视表

转载 作者:行者123 更新时间:2023-12-04 03:24:43 28 4
gpt4 key购买 nike

在我的 C# 程序中,有人输入了一整天的产量,我计算机器使用率 (MU),如下所示:

Date      | Part Number | Mold Num | Machine Num |  MU  
2/12/2016 | 1185-5B8 | 6580 | 12 | .428
2/12/2016 | 2249300 | 7797 | 36 | .271
2/12/2016 | 146865 | 5096789 | 12 | .260
2/16/2016 | 123456 | 7787 | 56 | .354
2/16/2016 | 123456 | 787 | 54 | .45
2/16/2016 | 123456 | 777 | 56 | .799
2/16/2016 | 123456 | 87 | 54 | .611

所有这些数据都在我的 SQL 服务器中,我想做的是制作一个类似于数据透视表的东西,它采用所有相似的日期/模具编号/机器编号,然后对 MU 进行平均并以任何方式显示它用户想要的。示例:

Date      |  MU
2/12/2016 | 32.0%
2/16/2016 | 55.4%

Machine Num. | MU 
12 | 34.4%
36 | 27.1%
54 | 53.0%
56 | 57.6%

等基本上我希望它是可变的并显示正在查看它的人需要的任何内容。我想将它保留在我的 c# 程序中,但我可以使用 LINQ to SQL。请记住,我是 c# 和 LINQ to SQL 的新手。

我确实尝试过 this,但这并不是我想做的。我也不知道如何在 Windows 窗体上显示它,也不知道如何更改每一列中的内容。

最佳答案

看来您需要构建具有行维度(日期、机器编号)、没有列维度且按 MU 进行平均的数据透视表。

借助 NReco PivotData 库,您可以轻松做到这一点:

var pivotData = new PivotData(
new string[] {"Date","Machine Num"},
new AverageAggregatorFactory("MU"),
new DataTableReader(t) ); // just a sample - you can use DB data reader
var pivotTable = new PivotTable(
new []{"Date"}, // row dimension(s)
new [0], // column dimension(s)
pivotData );
// use pivotTable.RowKeys and indexer for accessing pivot table values

PivotData 库可以免费使用(我是作者),您可以在组件页面上下载示例包。您还可以检查高级 PivotData 工具包组件(用于将数据透视表呈现为 HTML/CSV/Excel/PDF,使用 GROUP BY 和许多其他工具在数据库级别聚合数据),但它们不是免费的。

关于c# - 在 C# 中创建数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37922458/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com