> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: 초급 Part02: 데이터 변환 기능의 사용법(1)

> Integrate.io ETL에서 가장 많이 사용되는 Select 컴포넌트로 필드 선택, 이름 변경, 표현식 함수를 적용하여 JSON, 텍스트 등 다양한 형식의 원본 데이터를 분석용 형식으로 가공하는 기본 사용법을 소개합니다. Integrate.io 한국어 사용자 가이드 항목입니다.

Xplenty에는 다양한 변환 기능이 있습니다.
Part02에서는 변환용 컴포넌트 중 가장 많이 사용되는 Select 컴포넌트에 대해 소개하겠습니다.

<Frame>
  <img src="https://mintcdn.com/integrateio/IQlUL6V1DEOwV22h/images/korean-knowledge-base/novice-part02-ko/image-1.webp?fit=max&auto=format&n=IQlUL6V1DEOwV22h&q=85&s=cd6f81717b846515ba80a0a0eed37b23" alt="novice-part02-ko image 1" width="1055" height="786" data-path="images/korean-knowledge-base/novice-part02-ko/image-1.webp" />
</Frame>

## Select 컴포넌트

Select 컴포넌트는 만능입니다.
SQL에 비유하자면 Select에 해당하는 기능이며, Xplenty의 풍부한 변환함수들을 이용하여 JSON과 텍스트 등을 분석에 사용할 수 있는 다양한 데이터 형식으로 가공할 수 있습니다.
다음은 Rest API에서 얻은 JSON 데이터에서 필요한 필드를 개별적으로 가공하는 Select 컴포넌트의 예입니다.

<Frame>
  <img src="https://mintcdn.com/integrateio/IQlUL6V1DEOwV22h/images/korean-knowledge-base/novice-part02-ko/image-2.webp?fit=max&auto=format&n=IQlUL6V1DEOwV22h&q=85&s=d282529e145629431f121514970b73ae" alt="novice-part02-ko image 2" width="1099" height="829" data-path="images/korean-knowledge-base/novice-part02-ko/image-2.webp" />
</Frame>

표현식 편집기(expression editor)를 사용하면 함수를 사용할 수도 있습니다.

<Frame>
  <img src="https://mintcdn.com/integrateio/IQlUL6V1DEOwV22h/images/korean-knowledge-base/novice-part02-ko/image-3.webp?fit=max&auto=format&n=IQlUL6V1DEOwV22h&q=85&s=88d4ab3ea8e70659e63bb13ad4e2867c" alt="novice-part02-ko image 3" width="1099" height="829" data-path="images/korean-knowledge-base/novice-part02-ko/image-3.webp" />
</Frame>

아래에서는 Select 컴포넌트의 구체적인 이용 방법을 소개합니다.

### **1. SQL Select에 해당하는 기능**

* 필드 버리기(선택하지 않기)

* 필드 데이터의 형식 변경

* Datetime 형식의 Timezone 변경 등

*

**CASE 문은 반드시 ELSE 절을 포함해야합니다 (ELSE 절이 없으면 에러 발생!!)**

`CASE
	WHEN mail_address matches '.*xplenty.com.*' THEN true
	ELSE false
END`

`CASE
	WHEN ga_campaign=='jp_facebook' THEN 'JP_FB'
	WHEN ga_campaign=='jp_twitter' AND ga_date>='20200420' THEN 'JP_twitter_camp1'
	WHEN ga_campaign=='jp_twitter' AND ga_date&lt;'20200420' THEN 'JP_twitter_camp2'
ELSE  'Unknown'
END`

조건식에 사용할 수 있는 비교 연산자의 종류

<Frame>
  <img src="https://mintcdn.com/integrateio/IQlUL6V1DEOwV22h/images/korean-knowledge-base/novice-part02-ko/image-4.webp?fit=max&auto=format&n=IQlUL6V1DEOwV22h&q=85&s=11d83f66728b8d2dab26084fa933ce42" alt="novice-part02-ko image 4" width="1200" height="1009" data-path="images/korean-knowledge-base/novice-part02-ko/image-4.webp" />
</Frame>

주1) 같음의 경우는 「==」를 사용하는 점에 주의.
주2) 패턴 매칭의 경우는 정규 표현을 사용.

### **2.JSON 데이터나 로그 데이터의 조작**

JSON의 데이터 구조를 데이터베이스의 테이블 구조와 같이 플랫화하기 위한 함수 외에, 로그 데이터 등의 텍스트 데이터로부터 필요한 데이터만을 정규 표현을 사용해 추출하는 것이 가능합니다.

### **3.Curl 함수**

Xplenty에는 데이터베이스 또는 Rest API로 얻은 데이터에 대해 다른 Rest API로 데이터를 보낼 수 있습니다. 자세한 것은 [Curl Function을 사용한 데이타 업데이트](https://www.integrate.io/ko/docs/etl/restapi-part06-ko/)를 봐 주세요.
**마지막으로**

Xplenty에서는 현재 [무료 평가판](https://try.integrate.io/kr-demo/)을 신청할 수 있습니다.
이번 기회에 편리한 사용자 환경을 경험해 보는 것은 어떠신가요?
