提问人:zamceaser 提问时间:10/26/2023 最后编辑:zamceaser 更新时间:10/26/2023 访问量:41
在 UiPath 中使用 (VB.NET) LINQ 对多个列进行分组
Using (VB.NET) LINQ in UiPath to Group multiple columns
问:
我正在尝试使用 LINQ 进行 GroupBy。很简单,我可以用一列或多列来做到这一点。我面临的问题在于将可能包含相同数据的 5 列分组到不同的行 - 如果在这五列中,数据相同,它们会分组到该数据。
例如,我有 6 列和 2 行数据。它应该按“组名称”分组,然后按 5 列控制器名称
组名称 | 导演1姓名 | Director2姓名 | 导演3姓名 | Director4姓名 |
---|---|---|---|---|
A组 | 山姆· | 约翰· | 本· | 雷迪 P |
A组 | 马特· | 凯特 D | 山姆· | 斤 P |
列“Director1Name”和“Director3Name”具有与看到的相同的数据“Sam K”,我该怎么做才能在同一组中获取它,并在第 2 列中获取相同的名称(分组时)
我的分配活动中有这个半完成的查询,我意识到我正在检查同一行:
(
From row In dt_MasterListFiltered
Let dn1 = row("Director1Name").ToString().Trim()
Let dn2 = row("Director2Name").ToString().Trim()
Let dn3 = row("Director3Name").ToString().Trim()
Let dn4 = row("Director4Name").ToString().Trim()
Let dn5 = row("Director5Name").ToString().Trim()
Let Director = If(
(
(String.Equals(dn1, dn2)) Or
(String.Equals(dn1, dn3))
), dn1, dn2 )
Group row By k = row("GroupName").ToString().Trim(), DirectorName = Director
Into grp = Group
Select dt_GroupedMasterlist.Rows.Add({k, DirectorName, String.Join(", ", grp.Select(Function(gr) String.Join("-", gr.ItemArray)))})
).CopyToDataTable
注意:
- 还有其他列和数据,但这是需要分组的列和数据
- 我知道它会分组相同,因为组名称相同,但我还需要按导演姓名分组,如果我按 Director1Name 将其放入,这将取消分组
答: 暂无答案
评论