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

你可能感兴趣的:(Uipath datatable group by归类合并相加)