Uipath 에서 Datatable 형식의 변수에서 원하는 row(행)들만 추출하고 싶을 때가 많습니다.
그럴때는 Activity 중에서 "Filter Data Table" 을 보통 사용하는데...
단점은 데이터 가공이 단계적으로 많을 때는 output으로 받아야 하는 변수들을 너무 많이 생성해야 되는 단점이 있습니다.
예를 들어 어떤 개발자는 dtTemp1, dtTemp2, dtTemp3 ... 계속해서 변수를 만들어놔서 나중에 유지보수 할 때 가독성이 떨어져서 힘들었을 때가 많더군요.
그럴 때 Datatable.Select 함수를 사용하는것도 하나의 방법이 될 수 있다. 실제로 프로잭트 할 때 나는 편하게 많이 썼다.
if 문에 바로 사용한다던지
아래 예제를 가지고 기본 문법을 환인해보자.
1. "dtExample" 안에 "컬럼1"에서 "데이타" 인 값들을 추출후 데이터 테이블에 담기
dtExample.Select("[컬럼1] = '데이타' ").CopyToDataTable
2. "dtExample" 안에 "컬럼1"에서 5 보다 큰 값들을 추출후 데이터 테이블에 담기
dtExample.Select("[컬럼] > 5 ").CopyToDataTable
3. "dtExample" 안에 "컬럼1"에서 "데" 가 맨 앞에 포함된 값들을 추출 후 데이터 테이블에 담기
dtExample.Select("[컬럼1] like '데%' ").CopyToDataTable
4. "dtExample" 안에 "컬럼1"에서 "타" 가 맨 뒤에 포함된 값들을 추출 후 데이터 테이블에 담기
dtExample.Select("[컬럼1] like '%타' ").CopyToDataTable
5. "dtExample" 안에 "컬럼1"에서 "이" 가 중간에 포함된 값들을 추출 후 데이터 테이블에 담기
dtExample.Select("[컬럼1] like '%이%' ").CopyToDataTable
여기까지가 기본적인 사용법이고 이제 and 나 or 조건등을 사용하는것도 가능하다
6. "dtExample" 안에 "컬럼1"에서 "데이타" and "컬럼2"에서 "3" 인 추출후 데이터 테이블에 담기
dtExample.Select("[컬럼1] = '데이터' And [컬럼2] = '3' ").CopyToDataTable
7. "dtExample" 안에 "컬럼1"에서 "데이타" or "컬럼1"에서 "data" 인 추출후 데이터 테이블에 담기
dtExample.Select("[컬럼1] = '데이터' Or [컬럼1] = 'data' ").CopyToDataTable
8. "dtExample" 안에 "컬럼1"에서 1 보다 크고, 5 이하인 데이터(1< data <=5) 추출후 데이터 테이블에 담기
dtExample.Select("[컬럼1] > 1 And [컬럼1] <= 5 ").CopyToDataTable
이 경우는 같은 컬럼 이름을 2번을 써서 해주는 식으로 해야한다. ( 1<[컬럼1] <=5 하면 안 된다.)
여기까지가 Datatable Select 기본문법 구조입니다.
다음 포스팅에는 실제 활용방법에 대해서 적어보겠습니다.
'[Uipath]' 카테고리의 다른 글
[Uipath] 이전에 배포한(Publish) 프로잭트 버전 소스 찾기(백업 소스) (0) | 2023.08.04 |
---|---|
[Uipath][데이터 가공]Datatable Select(유의사항)The source contains no DataRows. (0) | 2023.08.04 |
[Uipath] 이미지(jpg,png...) 삽입해서 SMTP 메일 전송 (0) | 2023.08.03 |
[Uipath] 구글 SMTP 메일 보내기 (0) | 2023.08.03 |
[Uipath] Orchestrator 만료된 SSL인증서 갱신 (0) | 2023.01.23 |