หลายทีมทำรายงานประจำด้วยการส่งออกข้อมูลจากสองระบบเป็น Excel แล้วใช้ VLOOKUP จับคู่แถว ใช้ได้จนกระทั่งใช้ไม่ได้ ไฟล์ช้าลง คอลัมน์ขยับแล้วสูตรพัง และไม่มีใครมั่นใจว่าตัวเลขเป็นปัจจุบัน บทความนี้อธิบายว่าทำไมวิธีนี้เปราะบาง และควรทำอย่างไรแทน
ขั้นตอนที่พบบ่อย
- ส่งออกออเดอร์จากระบบขายเป็นไฟล์
- ส่งออกลูกค้า (หรือใบแจ้งหนี้ หรือสต็อก) จากอีกระบบ
- วางทั้งสองลงในสมุดงาน แล้วใช้ VLOOKUP หรือ XLOOKUP ดึงคอลัมน์จากชีตหนึ่งมาไว้อีกชีต
- แก้แถวที่ขึ้น #N/A แล้วคัดลอกค่าไปใส่รายงาน
- ทำซ้ำสัปดาห์หน้า หรือเดือนหน้า
ทำไมถึงพัง
- เป็นภาพถ่าย: ตัวเลขหยุดอยู่ที่เวลาส่งออก พอมีคนอ่านรายงานก็อาจผิดไปแล้ว
- จับคู่ผิดโดยไม่แจ้ง: คีย์ที่มีช่องว่างท้ายหรือชนิดต่างกัน (ตัวเลขกับข้อความ) ทำให้ได้ #N/A และโหมดจับคู่โดยประมาณอาจคืนแถวที่ผิดโดยไม่มีคำเตือน
- คีย์ซ้ำ: VLOOKUP คืนเฉพาะรายการแรก ลูกค้าที่มีสองแถวจึงถูกนับขาด
- อ้างอิงเปราะบาง: การแทรกคอลัมน์ทำให้เลขลำดับในสูตรเลื่อน
- ความเสี่ยงเชิงกระบวนการ: ขั้นตอนอยู่ในหัวของคนคนเดียว และไฟล์ใหญ่จนเปิดนานเป็นนาที
แนวทางที่ดีกว่า: join ที่ต้นทาง
แทนที่จะคัดลอกข้อมูลออกมาแล้วจับคู่ด้วยมือ ให้เชื่อมต่อกับระบบโดยตรง เลือกสองตาราง กำหนดคอลัมน์ที่ใช้จับคู่ครั้งเดียว แล้วให้เครื่องมือ join ให้ คำนิยามเดิมรันซ้ำได้ทุกครั้งที่ต้องการรายงาน งานจึงทำซ้ำได้ ไม่ต้องทำซ้ำด้วยมือ
เลือกชนิด join
VLOOKUP ทำงานเหมือน left join คือเก็บทุกแถวฝั่งซ้ายและเติมค่าที่ตรงกัน ควรเลือกอย่างตั้งใจ:
- Inner join: เก็บเฉพาะแถวที่มีทั้งสองฝั่ง ใช้เมื่อไม่พบคู่แปลว่าแถวนั้นไม่ควรปรากฏ
- Left join: เก็บทุกแถวฝั่งซ้าย และแสดงค่าว่างเมื่อไม่พบคู่ ใช้หาช่องว่าง เช่น ออเดอร์ที่ไม่มีข้อมูลลูกค้า
SELECT o.order_id, o.total, c.name, c.segment
FROM orders o
LEFT JOIN customers c ON c.customer_id = o.customer_id;สิ่งที่ต้องตรวจทุกครั้งที่สร้าง join ใหม่
- คอลัมน์คีย์มีชนิดและรูปแบบเดียวกันทั้งสองฝั่ง
- จำนวนแถวหลัง join ตรงกับที่คาด: มากขึ้นแปลว่ามีคีย์ซ้ำ น้อยลงแปลว่าใช้ inner join และแถวหาย
- สุ่มตรวจห้าแถวเทียบกับระบบต้นทาง
- กรองแถวที่ไม่พบคู่ แล้วดูก่อนส่งรายงาน
ทำใน Ruamhub
บน Join Canvas คุณวางตารางจากแต่ละการเชื่อมต่อ ลากเส้นระหว่างคอลัมน์คีย์ เลือกชนิด join และดูตัวอย่างผลลัพธ์ก่อนบันทึกเป็น pipeline ไม่ต้องเขียน SQL และเพิ่ม filter, group by และคอลัมน์สูตรได้ ขั้นตอนทีละขั้นอยู่ในคู่มือการเลิกทำรายงานรายสัปดาห์ด้วย VLOOKUP