결과값 변환
결과값 변환은 스텝에서 반환된 데이터를 JavaScript를 사용하여 원하는 형태로 가공하는 기능입니다.
data
변수를 통해 워크플로우 결과값에 접근하고, 이를 변환하여 필요한 형태로 반환할 수 있습니다.
결과값 변환 기능을 사용하면 다음과 같은 작업이 가능합니다:
- 필요한 데이터만 필터링하기
- JSON 객체 구조 변경하기
- 다양한 조건에 따라 데이터 가공하기

결과값 변환 사용하기
결과값 변환을 사용 하려면 다음 단계를 따라주세요:
- 스텝에 있는 결과값 변환 항목을 찾습니다. JavaScript 같은 일부 스텝은 결과값 변환 기능을 제공하지 않습니다.
- 코드 편집기에서 JavaScript 코드를 작성합니다.
- 버튼을 통해 필요한 코드를 바로 생성할 수 있습니다.

기본 JavaScript 문법 활용하기
결과값 변환에서는 JavaScript의 모든 기본 기능을 사용할 수 있습니다.
여기서 data
변수는 이전 스텝에서 반환된 결과값을 담고 있습니다.
기본 반환 예시
// 결과값을 그대로 반환
return data;
// 배열의 첫 번째 항목만 반환
return data[0];
// 특정 속성만 추출하여 반환
return data.map(item => item.name);
// 조건에 맞는 항목만 필터링하여 반환
return data.filter(item => item.status === 'active');
데이터 가공 예시
// 데이터 가공 후 반환
return data.map(item => {
return {
id: item.id,
fullName: `${item.first_name} ${item.last_name}`,
isActive: item.status === 'active'
};
});
// 결과값 집계
return {
total: data.length,
activeCount: data.filter(item => item.status === 'active').length,
inactiveCount: data.filter(item => item.status !== 'active').length
};
스텝 결과 데이터 구조 이해하기
결과값 변환을 효과적으로 사용하기 위해서는 스텝에서 반환되는 데이터 구조를 이해하는 것이 중요합니다.
기본 데이터 구조
워크플로우 스텝(예: MySQL, API 등)의 결과는 일반적으로 다음 구조를 가집니다:
// MySQL 쿼리 결과 구조
{
data: [
{ id: 1, name: "홍길동", status: "active" },
{ id: 2, name: "김철수", status: "inactive" }
// ... 추가 레코드
]
}
// API 호출 결과 구조 (API에 따라 다를 수 있음)
{
results: [
{ id: "a1", title: "상품 1", price: 10000 },
{ id: "a2", title: "상품 2", price: 20000 }
],
pagination: {
total: 100,
page: 1,
limit: 10
}
}
데이터 접근 방법
결과값 변환에서 이러한 데이터에 접근하는 방법은 다음과 같습니다:
// MySQL 결과의 모든 레코드 접근
return data.data;
// API 결과에서 results 배열만 접근
return data.results;
// 중첩된 데이터 구조에 접근
if (data.pagination && data.pagination.total > 0) {
return data.results.filter(item => item.price > 15000);
} else {
return [];
}
결과값 변환 사례 및 예제
다양한 스텝 시나리오별 결과값 변환 예제입니다.
예제 1: 사용자 데이터 가공
MySQL 스텝에서 사용자 목록을 가져온 후, 필요한 정보만 추출하는 예제입니다.
-- MySQL 스텝 (step1):
SELECT id, first_name, last_name, email, created_at
FROM users
WHERE status = 'active';
// 결과값 변환:
return data.data.map(user => {
return {
id: user.id,
name: `${user.first_name} ${user.last_name}`,
email: user.email,
memberSince: new Date(user.created_at).toLocaleDateString('ko-KR')
};
});