Uipath datatable group by归类合并相加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uipath datatable group by归类合并相加相关的知识,希望对你有一定的参考价值。

参考技术A 查阅参考 :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归类合并相加的主要内容,如果未能解决你的问题,请参考以下文章

datatable GRoup by Lambda 统计

C#用DataTable实现Group by数据统计

inq to datatable group by 多列 实现

DataTable中Linq查询(where,group by)

20180519001 - DataTable Group by功能参考

Linq DataTable Group By 分组显示人员明细