본문 바로가기

RPA

[UiPath] 내가 자주 쓰는 거..

자주 안 쓰면 까먹어서 백업용으로 작성합니다....

- DataTable Column을 Array로 만들기
dtData.AsEnumerable().Select(Function (a) a.Field(Of String)("컬럼명").ToString).ToArray()

 

- Enumerable에서 다른 Enumerable에 들어 있는 항목 찾기
// enumMaster에 들어있는 모든 항목이 포함된 데이터를 찾음
enumData.Where(Function(a) enumMaster.All(Function(b) a.ToString.Contains(b)))  

// enumMaster에 들어있는 항목 중 한 개라도 포함된 데이터를 찾음
enumData.Where(Function(a) enumMaster.Any(Function(b) a.ToString.Contains(b)))

 

- DataTable에서 특정 Column 값 모두 더하기
dtData.AsEnumerable().Sum(Function(a) CInt(a("컬럼명" 또는 인덱스)))

 

- DataTable의 교집합, 합집합, 차집합
//차집합
dtData1.AsEnumerable().Except(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

//교집합
dtData1.AsEnumerable().Intersect(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

//합집합
dtData1.AsEnumerable().Union(dtData2.AsEnumerable(), System.Data.DataRowComparer.Default)

 

- DataTable 중복된 행 제거
dtRawData.AsEnumerable().Distinct(System.Data.DataRowComparer.Default)

 

- 반올림하는 방법
// 소수점 2번째 자리까지 남겨줌
// 3번 방법의 경우에는 0.5를 반올림 하지 않고 버림하는 경우가 발생해서 2번을 주로 사용하고 있음
// 근데 종종 테스트할 때 2번도 반올림 안 해주고 버림하는 경우가 있기는 함.. 왜 그런지는 모르겠음
1. CDbl(dblNum).ToString("F2")
2. Math.Round(dblNum,2, MidpointRounding.AwayFromZero)
3. Math.Round(dblNum,2)

 

- DataTable To Dictionary
dtData.AsEnumerable().ToDictionary(Of String, Object)(Function (r) r("Key").toString, Function (r) r("Value").toString)

 

 

생각나는 대로 계속 추가 예정.....