在 UiPath 中使用 (VB.NET) LINQ 对多个列进行分组

Using (VB.NET) LINQ in UiPath to Group multiple columns

提问人:zamceaser 提问时间:10/26/2023 最后编辑:zamceaser 更新时间:10/26/2023 访问量:41

问:

我正在尝试使用 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

注意:

  1. 还有其他列和数据,但这是需要分组的列和数据
  2. 我知道它会分组相同,因为组名称相同,但我还需要按导演姓名分组,如果我按 Director1Name 将其放入,这将取消分组
vb.net Linq UIPypath

评论


答: 暂无答案