▶ Data Table 중복값 제거 (모든 행이 정확히 같은 케이스일 때)

- dtData = dtData .AsEnumerable().Distinct(System.Data.DataRowComparer.Default)

 

 Data Table 중복값 제거 (Group By 후 첫번째 행 선택)

   중복 시 값 선택: First (특정 건이 선택되도록 유도해야 한다면 sort 선행)

   type 체크 필요(Of String 부분은 맞춰서 변경)

 

- dtData = dtData.AsEnumerable().GroupBy(Function(i) i.Field(Of String)("컬럼명")).Select(Function(g)         g.First).CopyToDataTable()

 

 DataTable의 차집합 , 교집합, 합집합

▷ 차집합
- dtData1 = dtData1.AsEnumerable().Except(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

▷ 교집합
- dtData1 = dtData1 .AsEnumerable().Intersect(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

▷ 합집합
- dtData1 = dtData1 .AsEnumerable().Union(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

 

Datatable내의 값과 비교할 때 타입이 맞지 않아 발생하는 이슈 방지(ex. 1 != "1")

dtOutput = (From p In dtInput.Select Where p(Column_Index).ToString.Equals("StringValue") Select p).ToArray.CopyToDataTable <==== 둘 다 타입을 String으로 맞춰버리기 때문에 엑셀 서식으로 인한 타입 차이 제거

+ Recent posts