← 노드 한 장 전체#31 · Compare Datasets
Compare Datasets
어제 목록 vs 오늘 목록, 뭐가 바뀌었지?
이 글은 이런 분께어제 목록과 오늘 목록을 비교해 새로 생긴 것·빠진 것을 알고 싶은 분

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요
어제 할인 목록과 오늘 목록, 뭐가 바뀌었는지 하나하나 대조하고 계신가요?
Compare Datasets 노드는 두 목록을 짝 맞춰 비교하고 결과를 네 출구로 나눠요.
먼저 결과부터
Compare Datasets는 두 목록을 비교해 새로 생긴 것·빠진 것·같은 것·바뀐 것으로 나눈다. 10/24 할인 목록 vs 오늘: 빠짐 1, 같음 9, 바뀜 0, 새로 1.
우리가 실제로 돌린 기록 · 실행 #71669 · 2026-10-25
우리가 실제로 돌린 기록 · 실행 #71669 · 2026-10-25
- 설정: 짝 맞출 칸(A·B 모두 id) + 값이 다를 때 처리 방법
- 결과: 빠짐 1 · 같음 9 · 달라짐 0 · 새로 1
- 빠진 게임: Space Marine 2 (어제 75% 할인)
- 새로 들어온 게임: Moon Sweepers (15% 할인)
- 꿀팁: Schedule + 시트에 어제 목록 저장해 두면 매일 자동 비교 (조합 팁)


따라 하기
아래 설정값은 이 영상에 나온 워크플로우 JSON에서 그대로 가져왔어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 실제로 넣은 값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.
Step 1. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 2. Code 노드 추가이름: Yesterday (10/24 record)
| JavaScript | // 10/24 22:37 KST 실행 #71379 에서 가져온 Steam 할인 목록 (저장된 기록)
const yesterday = [{"id": 1091500, "name": "Cyberpunk 2077", "final_price": 1799, "discount_percent": 70}, {"id": 2138330, "name": "Cyberpunk 2077: Phantom Liberty", "final_price": 1799, "discount_percent": 40}, {"id": 1203620, "name": "Enshrouded", "final_price": 3599, "discount_percent": 10}, {"id": 4954910, "name": "Scam With Your Friends", "final_price": 899, "discount_percent": 10}, {"id": 1449690, "name": "The Walking Dead: The Telltale Definitive Series", "final_price": 499, "discount_percent": 90}, {"id": 2929250, "name": "over the hill", "final_price": 1999, "discount_percent": 20}, {"id": 3764200, "name": "Resident Evil Requiem", "final_price": 4899, "discount_percent": 30}, {"id": 1566200, "name": "Tape to Tape", "final_price": 1799, "discount_percent": 10}, {"id": 2183900, "name": "Warhammer 40,000: Space Marine 2", "final_price": 1499, "discount_percent": 75}, {"id": 3240220, "name": "Grand Theft Auto V Enhanced", "final_price": 1499, "discount_percent": 50}];
return yesterday.map(g => ({ json: g })); |
Step 3. HTTP Request 노드 추가이름: Today: Steam specials
| URL | https://store.steampowered.com/api/featuredcategories?cc=us&l=english |
Step 4. Compare Datasets 노드 추가이름: Compare by id
| Fields to Match › Values › Input A Field | id |
| Fields to Match › Values › Input B Field | id |
Step 5. Split Out 노드 추가이름: Split into games
| Fields To Split Out | specials.items |
Step 6. No Operation 노드 추가이름: Gone today
설정 없이 그대로 추가해요.
Step 7. No Operation 노드 추가이름: Same
설정 없이 그대로 추가해요.
Step 8. No Operation 노드 추가이름: Changed
설정 없이 그대로 추가해요.
Step 9. No Operation 노드 추가이름: New today
설정 없이 그대로 추가해요.
Step 10. Edit Fields (Set) 노드 추가이름: Keep 4 fields
| 필드 1 | id · number · {{ $json.id }} |
| 필드 2 | name · string · {{ $json.name }} |
| 필드 3 | final_price · number · {{ $json.final_price }} |
| 필드 4 | discount_percent · number · {{ $json.discount_percent }} |
가져와서 쓸 때 확인할 것
- YOUR_… 표시를 내 값으로 바꾸고, 계정이 필요한 서비스 노드만 자격 증명을 연결하세요. 그런 칸이나 노드가 없는 예제는 추가 계정 없이 실행할 수 있어요.
노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.