Uipath datatable group by归类合并相加

查阅参考 :https://zhidao.baidu.com/question/373715544347612924.html

我们有一个表:


图一


问题:我们想把同一Date 而且 同一 Code的Hour相加合并,例如这里我们需要把 Date为2021-09-27 Code为aa的Hour合并相加,所以Date 为 2021-09-27 Code 为 aa 的Hour 相加后为 6,合并后相当于以下效果:


图二


分析思路:利用group by可以合并 以Date和Code作为字典的唯一关键字,Hour相当于Value

操作:

首先读取表:


然后我们输出一下通过 Date 和 Code 合并同类项总共有多少个:

dt.Rows.Cast(Of System.Data.DataRow).

GroupBy(Function(r) r("Date").ToString + r("Code").ToString).Count.ToString

这边的输出是8个唯一的项,跟图二是一样的个数

然后我们看一下所有符合第一个(0)项的Hour是多少:

dt.Rows.Cast(Of System.Data.DataRow).

GroupBy(Function(r) r("Date").ToString + r("Code").ToString)(0).

Sum(Function(y) CDbl(y("Hour").ToString)).tostring

这边是6个hour, 跟图二相符

我们可以写一个循环去拿到左右的唯一项相加后的Hour:



最后结果:


如果想最后输出的DataTable像图二一样可以参考我以前的帖子,创建一个新的DataTable,每新增一行加入Date Code Hour

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容