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归类合并相加的主要内容,如果未能解决你的问题,请参考以下文章
inq to datatable group by 多列 实现
DataTable中Linq查询(where,group by)