> ## 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/_vK8uOUIVr8vjE07/images/creating-packages/novice-part02-ko/image-1.webp?fit=max&auto=format&n=_vK8uOUIVr8vjE07&q=85&s=7d82a7cded63dbe34e7b82de5597a358" alt="novice-part02-ko image 1" width="1055" height="786" data-path="images/creating-packages/novice-part02-ko/image-1.webp" />
</Frame>

]\([https://cdn.filestackcontent.com/auto\_image//compress/cache=expiry:max/KOz49QER96oHxBt4pJ0a](https://cdn.filestackcontent.com/auto_image//compress/cache=expiry:max/KOz49QER96oHxBt4pJ0a))

## Select 컴포넌트

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

\[

<Frame>
  <img src="https://mintcdn.com/integrateio/_vK8uOUIVr8vjE07/images/creating-packages/novice-part02-ko/image-2.webp?fit=max&auto=format&n=_vK8uOUIVr8vjE07&q=85&s=0396a47d90491fa62c25a5493de4fe62" alt="novice-part02-ko image 2" width="1099" height="829" data-path="images/creating-packages/novice-part02-ko/image-2.webp" />
</Frame>

]\([https://cdn.filestackcontent.com/auto\_image//compress/cache=expiry:max/1mbIZNGRiJsdT1Qbs6QA](https://cdn.filestackcontent.com/auto_image//compress/cache=expiry:max/1mbIZNGRiJsdT1Qbs6QA))

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

\[

<Frame>
  <img src="https://mintcdn.com/integrateio/_vK8uOUIVr8vjE07/images/creating-packages/novice-part02-ko/image-3.webp?fit=max&auto=format&n=_vK8uOUIVr8vjE07&q=85&s=b057a17ed9e8d6208fc898e20c19f055" alt="novice-part02-ko image 3" width="1099" height="829" data-path="images/creating-packages/novice-part02-ko/image-3.webp" />
</Frame>

]\([https://cdn.filestackcontent.com/auto\_image//compress/cache=expiry:max/anlOgb4UTN6dVIhZo20B](https://cdn.filestackcontent.com/auto_image//compress/cache=expiry:max/anlOgb4UTN6dVIhZo20B))

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

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

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

* 필드 이름 변경\<!-- notionvc: 4122af4f-76b5-4c9c-b8da-47607ed23b8d -->

* 계산식\<!-- notionvc: 554119a1-70e1-4f3a-a4f2-213334f9e14f -->

* 필드 데이터의 형식 변경

* Datetime 형식의 Timezone 변경 등

* CASE 문에 의한 조건 분기 처리(Case When ...)\<!-- notionvc: d39e77b9-df8d-4a00-a007-6ad1027d42df -->

*

**CASE 문은 반드시 ELSE 절을 포함해야합니다 (ELSE 절이 없으면 에러 발생!!)**
\<!-- notionvc: b0a218ca-9746-4466-be6c-627cc5de2836 -->

\<!-- notionvc: 2c348fbc-e05a-4914-bc69-3f6bbef846de -->

예 1) 이메일 주소에 'xplenty.com'이 포함된 경우 True를 반환\<!-- notionvc: 32e183ff-8220-4db5-8e00-76dadb465102 -->

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

예 2) 캠페인 이름이 다음과 일치하는 경우(컬럼 값이 숫자일지라도 데이터 형이 문자열인 경우, 홑따옴표 - 싱글 쿼테이션 - 로 감싸야 함)\<!-- notionvc: 0f0dd3d6-9751-4048-b04c-15ddf0cac6b3 -->

`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/_vK8uOUIVr8vjE07/images/creating-packages/novice-part02-ko/image-4.webp?fit=max&auto=format&n=_vK8uOUIVr8vjE07&q=85&s=081e56564319ae13e29f3f97bc1582b0" alt="novice-part02-ko image 4" width="1200" height="1009" data-path="images/creating-packages/novice-part02-ko/image-4.webp" />
</Frame>

]\([https://cdn.filestackcontent.com/auto\_image//compress/cache=expiry:max/eBKL7Xs3T7mH699m5dZu](https://cdn.filestackcontent.com/auto_image//compress/cache=expiry:max/eBKL7Xs3T7mH699m5dZu))

주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/)을 신청할 수 있습니다.
이번 기회에 편리한 사용자 환경을 경험해 보는 것은 어떠신가요?

\<!-- notionvc: 12ef43ba-3be8-4d24-8f0c-6ff133a05365 -->

\<!-- notionvc: 05cd5aea-3b6e-4fe1-a9d0-3d10eaa43adf -->

##

\<!-- Google Tag Manager hidden fields -->

\<!-- End Google Tag Manager hidden fields -->

\<!-- Text input-->

Get Started

Free 7-day trial. Easy setup. Cancel any time
