본문 바로가기

n8n 자동화/n8n 기초지식

n8n 데이터 변환 노드 가이드 2편: 실무에서 써먹는 고급 변환 기법

반응형

"이 보고서를 매주 손으로 만들어야 하나요?"

과거 직장인이라면 물어봤을 법한 말이다. 수백 개의 데이터를 정리해서 차트 만들고, PDF로 디자인하고, 압축해서 이메일로 보내는 작업을 매주 반복하고 있었다니! 😱

1편에서 기본적인 n8n 데이터 변환 노드들을 다뤘다면, 오늘은 한 단계 더 나아가 실무에서 정말 유용한 고급 노드 활용법을 소개하려고 한다. 이 내용을 참고해서 여러분도 복잡한 데이터 처리 실제 사례들을 척척 해결할 수 있으면 좋겠다!

💡 1편을 안 읽어보셨다면? n8n 초보자를 위한 데이터 변환 노드 가이드 1편을 먼저 확인해보시길! 핵심을 알아야 고급 기법도 쉽게 따라할 수 있다.

🎯 오늘 배울 7가지 실무 필수 노드들

1. Aggregate 노드 - 데이터 집계의 신 📊

"매출 데이터가 너무 많아서 어떻게 요약해야 할지 모르겠어요!"

바로 이럴 때 Aggregate 노드가 빛을 발한다! 엑셀의 피벗테이블처럼 데이터를 그룹별로 집계해주는 마법 같은 노드다.

실제 사용 사례: 지역별 매출 집계 자동화

우리 회사에서 전국 25개 지점의 일일 매출 데이터를 매일 집계해야 했다. 예전엔 엑셀로 일일이 계산했는데, 이제는 Aggregate 노드 하나로 끝!

// 원본 데이터 예시
[
  { region: "서울", sales: 1500000, orders: 45 },
  { region: "서울", sales: 2300000, orders: 67 },
  { region: "부산", sales: 980000, orders: 32 },
  { region: "부산", sales: 1200000, orders: 38 }
]

// Aggregate 노드 설정
- Group by: region
- Aggregations:
  * sales: SUM
  * orders: SUM
  * averageOrderValue: AVERAGE(sales/orders)

// 결과
[
  { region: "서울", totalSales: 3800000, totalOrders: 112, averageOrderValue: 33929 },
  { region: "부산", totalSales: 2180000, totalOrders: 70, averageOrderValue: 31143 }
]

이제 매일 아침 9시에 지역별 매출 요약이 자동으로 Slack에 전송된다! 🎉

2. Summarize 노드 - 데이터 요약의 달인 📋

Aggregate가 숫자 집계라면, Summarize는 전체 데이터의 통계적 요약을 한 번에!

실제 사용 사례: 고객 만족도 조사 분석

매월 수백 개의 고객 리뷰를 분석해야 하는데, Summarize 노드로 한 방에 해결했다.

  • Count: 총 리뷰 수
  • Average: 평균 별점
  • Min/Max: 최저/최고 점수
  • Standard Deviation: 평가 편차

결과적으로 "이번 달 리뷰 총 847개, 평균 4.2점, 편차 0.8로 전반적으로 만족도가 높고 안정적" 같은 한 줄 요약이 자동으로 생성된다!

3. Compression 노드 - 파일 압축의 마법사 🗜️

"매주 보내는 보고서 파일들이 너무 커서 이메일 첨부가 안 돼요!"

딱 이런 상황에 Compression 노드가 구원자다!

실제 사용 사례: 주간 리포트 자동 압축 배포

매주 금요일마다 다음 파일들을 압축해서 경영진에게 보내야 했다:

  • 매출 분석 PDF (5MB)
  • 고객 데이터 CSV (12MB)
  • 제품별 통계 Excel (8MB)
// Compression 노드 설정
- Format: ZIP
- Compression Level: 6 (최적 압축률)
- Password: 보안을 위한 비밀번호 설정 가능

// 결과: 25MB → 7MB로 압축! (72% 절약)

이제 파일 용량 걱정 없이 자동으로 배포된다. 게다가 비밀번호까지 설정해서 보안도 완벽! 🔒

4. Convert to File 노드 - 데이터 변환의 챔피언 📄

API에서 받은 JSON 데이터를 Excel이나 CSV로 변환해야 할 때가 많지 않나? Convert to File 노드면 클릭 한 번으로 끝!

실제 사용 사례: API 데이터를 Excel 보고서로 자동 변환

외부 CRM 시스템에서 고객 데이터를 API로 받아와서 매일 Excel 파일로 저장해야 했다.

// API 응답 (JSON)
{
  "customers": [
    { "name": "김철수", "email": "kim@example.com", "lastOrder": "2024-01-15" },
    { "name": "이영희", "email": "lee@example.com", "lastOrder": "2024-01-14" }
  ]
}

// Convert to File 노드로 변환
- File Type: Excel (.xlsx)
- Include Headers: true
- Sheet Name: "Daily_Customers"

// 결과: 바로 사용 가능한 Excel 파일!

프로 팁: CSV는 호환성이 좋고, Excel은 서식 적용이 가능하니 용도에 맞게 선택하자!

5. Edit Image 노드 - 이미지 편집의 신기술 🎨

"제품 이미지마다 로고를 일일이 추가해야 하나요?"

Edit Image 노드가 있다면 NO! 이미지 크기 조정, 워터마크 추가, 포맷 변환까지 자동화 가능하다.

실제 사용 사례: 상품 이미지 일괄 처리

온라인 쇼핑몰을 운영하는 친구가 매일 수십 개의 상품 이미지를 업로드하는데, 각각에 로고와 가격표를 추가해야 했다.

// Edit Image 노드 설정
- Resize: 800x600 (통일된 크기)
- Add Watermark: 회사 로고 (우하단)
- Add Text: 가격 정보 (좌상단)
- Format: WebP (용량 최적화)

// 결과: 처리 시간 90% 단축!

이제 상품 등록할 때마다 이미지는 자동으로 완성된다! 📸

6. HTML 노드 - 웹 콘텐츠 생성 마스터 🌐

데이터를 이쁜 HTML 리포트로 만들고 싶다면? HTML 노드가 답이다!

실제 사용 사례: 동적 HTML 이메일 리포트

매주 팀원들에게 보내는 성과 리포트를 HTML로 예쁘게 만들어 보자.

<html>
<body style="font-family: Arial;">
  <h2>📊 주간 성과 리포트</h2>
  <table style="border-collapse: collapse; width: 100%;">
    <tr style="background-color: #f2f2f2;">
      <th style="border: 1px solid #ddd; padding: 12px;">지역</th>
      <th style="border: 1px solid #ddd; padding: 12px;">매출</th>
      <th style="border: 1px solid #ddd; padding: 12px;">성장률</th>
    </tr>
    {{#each regions}}
    <tr>
      <td style="border: 1px solid #ddd; padding: 12px;">{{name}}</td>
      <td style="border: 1px solid #ddd; padding: 12px;">{{sales}}</td>
      <td style="border: 1px solid #ddd; padding: 12px; color: {{#if positive}}green{{else}}red{{/if}};">
        {{growth}}%
      </td>
    </tr>
    {{/each}}
  </table>
</body>
</html>

결과? 전문적인 HTML 이메일이 자동으로 생성되어 발송된다! 📧

7. Markdown 노드 - 문서 작성의 효율성 왕 ✍️

개발자들이 사랑하는 Markdown으로 문서를 자동 생성하고 싶다면?

실제 사용 사례: 기술 문서 자동 생성

API 업데이트할 때마다 변경사항 문서를 만들어야 했는데, Markdown 노드로 자동화했다!

# API 변경사항 리포트
**생성일**: {{currentDate}}

## 🔄 변경된 엔드포인트
{{#each changes}}
### {{endpoint}}
- **변경 유형**: {{type}}
- **설명**: {{description}}  
- **영향도**: {{impact}}

{{/each}}

## 📋 체크리스트
- [ ] 개발팀 공유
- [ ] QA 테스트 요청
- [ ] 문서 업데이트

이렇게 생성된 Markdown은 Git에 자동 커밋되고, 팀 전체가 항상 최신 문서를 볼 수 있다! 🚀

💡 실전 프로젝트: 월간 비즈니스 리포트 완전 자동화

이제 배운 노드들을 조합해서 진짜 실무에서 사용할 수 있는 워크플로우를 만들어보면 어떨까?

시나리오: 매월 1일 오전 9시에 전월 비즈니스 리포트를 자동 생성해서 책임자에게 이메일로 발송

예시로 워크플로우를 작성해 봄

워크플로우 구성:

  1. 다양한 소스에서 데이터 수집 (HTTP Request, Database 노드들)
  2. Aggregate 노드로 월별 매출/주문 집계
  3. Summarize 노드로 전체 통계 요약
  4. Edit Image 노드로 차트 이미지에 회사 로고 추가
  5. HTML 노드로 예쁜 리포트 레이아웃 생성
  6. Convert to File 노드로 PDF 변환
  7. Compression 노드로 첨부파일들을 ZIP으로 압축
  8. Email 노드로 자동 발송

실제 결과:

  • 시간 절약: 8시간 → 10분으로 단축 (96% 절약!)
  • 정확성: 인간의 실수 제로
  • 일관성: 매번 동일한 품질의 리포트
  • 확장성: 새로운 데이터 소스 추가도 쉬움

🎯 프로 팁: 노드 조합의 황금 패턴

실무에서 자주 사용하는 노드 조합 패턴들을 공유한다:

패턴 1: 데이터 분석 → 시각화 → 배포

HTTP Request → Aggregate → HTML → Convert to File → Email

패턴 2: 파일 처리 → 보안 → 배포

Read Binary Files → Edit Image → Compression → Slack/Teams

패턴 3: API 데이터 → 문서화 → 버전 관리

API Call → Summarize → Markdown → Git Commit

🚨 주의사항과 최적화 팁

성능 최적화:

  • 대용량 데이터: Limit 노드로 배치 처리하기
  • 이미지 처리: 해상도는 필요한 만큼만 설정
  • 압축: 용량과 속도의 밸런스 고려

에러 처리:

  • Stop on Fail: 꺼두면 일부 에러에도 워크플로우 계속 진행
  • Retry: 네트워크 이슈 대비 재시도 설정
  • Error Workflow: 에러 발생 시 알림 워크플로우 연결

🎉 마무리: 이제 여러분 차례!

n8n 데이터 변환 2편도 생각보다 쉽지 않다고 생각할 수 있다. 하지만, 실제 사용할때는 어려움이 있을 수 있다. 그땐 AI의 바이브코딩 도움을 받으면 쉽게 해결할 수 있다는 팁 아닌 팁!
위 노드 활용법을 익히고 나면 정말 무궁무진한 데이터 처리 실제 사례들을 해결할 수 있다는 것을 기억하자!

오늘 당장 시작할 수 있는 것들:

  1. Aggregate 노드로 여러분의 매출 데이터 집계해보기
  2. HTML 노드로 이쁜 리포트 템플릿 만들어보기
  3. Compression 노드로 파일 공유 효율성 높이기

나도 처음엔 "이 많은 노드들을 언제 다 배우지?" 했는데, 하나씩 내 업무에 적용해보니 어느새 고수가 되어있더라는! 😊

반응형