【BluePrism】 컬렉션 중복 데이터 제외

6511 단어 RPAblueprism
이런 컬렉션이 있다고 가정합니다.


예를 들어, 필드 1-3에서 값이 중복되는 행을 삭제하려고 합니다.
현재 BluePrism의 표준 VBO에는 여러 열의 중복을 보고 행을 삭제하는 개체가 없었습니다. (있으면 죄송합니다)
그래서 자작했습니다.

예상되는 결과는 다음과 같습니다.
3, 4행이 값이 중복되어 있으므로 3행을 남기고 4행을 삭제하고 있습니다.
위와 같이, 남기는 행은 콜렉션 데이터의 위로부터 세어 최초의 행으로 합니다.


입력



최대 3개 필드를 보고 중복 판정할 수 있도록 하고 있습니다.


Output





코드


Try
    If Target_Field1 = "" Then
        Success = False
        Message = "Target_Field1は必須項目です。"
        Exit Sub
    End If

    Dim New_Collection As DataTable
    New_Collection = Collection_In.Clone

    Dim count As Long = 0
    For Each r As DataRow In Collection_In.Rows
        If count = 0 Then
            New_Collection.ImportRow(r)
        Else
            Dim find_rows As DataRow()
            find_rows = New_Collection.Select(Target_Field1 & " = '" & r(Target_Field1) & "'" & _
                    If(Target_Field2 <> "", " AND " & Target_Field2 & " = '" & r(Target_Field2) & "'", "") & _
                    If(Target_Field3 <> "", " AND " & Target_Field3 & " = '" & r(Target_Field3) & "'", ""))

            If find_rows.Length = 0 Then
                New_Collection.ImportRow(r)
            End If
        End If
        count = count + 1
    Next

    Deduplication_Collection = New_Collection.DefaultView.ToTable
    Success = True
    Message = ""
Catch e As Exception
    Success = False
    Message = e.Message
End Try

샘플



htps : // 기주 b. 코 m / 후 lcs b / b p sm / t ree / 코 c 치온
BPA 개체 - 컬렉션 중복 제거.xml

좋은 웹페이지 즐겨찾기