ข้ามไปยังเนื้อหา
ETL คืออะไร? เข้าใจ Extract, Transform, Load พร้อมตัวอย่างใช้งาน

บทความโดย: 9Expert-Team

ETL คืออะไร? เข้าใจ Extract, Transform, Load พร้อมตัวอย่างใช้งาน

ETL คือกระบวนการดึง แปลง และโหลดข้อมูลให้พร้อมใช้งาน เรียนรู้ผ่านตัวอย่างยอดขาย พร้อมวิธีเลือกเครื่องมือและจุดตรวจคุณภาพก่อนนำไปใช้จริง

9Expert-Team 4 นาที

ETL ย่อมาจาก Extract, Transform, Load คือกระบวนการดึงข้อมูลจากแหล่งต้นทาง แปลงข้อมูลตามกติกาที่กำหนด แล้วโหลดผลลัพธ์ไปยังปลายทางเพื่อใช้งานต่อ เช่น ตารางใน Excel ฐานข้อมูล หรือคลังข้อมูลสำหรับวิเคราะห์ ETL เป็นกระบวนการ ไม่ใช่ชื่อโปรแกรมใดโปรแกรมหนึ่ง และไม่ได้จำกัดว่าปลายทางต้องเป็น Data Warehouse เสมอไป ตามแนวคิดที่อธิบายใน เอกสาร ETL ของ Microsoft

ถ้าต้องรวมยอดขายจากไฟล์ของหลายสาขาทุกเดือน คุณอาจเสียเวลากับวันที่คนละรูปแบบ ชื่อลูกค้าที่เขียนไม่เหมือนกัน และรายการที่ถูกส่งมาซ้ำ ก่อนจะได้เริ่มวิเคราะห์ยอดขายจริง งานเหล่านี้เป็นตัวอย่างของสิ่งที่กระบวนการ ETL ช่วยจัดระเบียบให้ทำซ้ำและตรวจสอบได้

ETL คืออะไร และมี 3 ขั้นตอนอะไรบ้าง

1. Extract — ดึงข้อมูลจากต้นทาง

เริ่มจากระบุว่าคำถามทางธุรกิจต้องใช้ข้อมูลอะไร แล้วดึงข้อมูลจากแหล่งที่ได้รับสิทธิ์ เช่น ไฟล์ Excel, CSV, ฐานข้อมูล หรือ API ตัวอย่างเช่น ดึงรายการขายจากแต่ละสาขา และข้อมูลรหัสลูกค้าจากระบบกลาง การ Extract ในความหมายของ ETL หมายถึงการนำข้อมูลออกจากแหล่งต้นทาง ส่วนการแยกข้อความในคอลัมน์ เช่น แยกชื่อกับนามสกุล เป็นงานแปลงข้อมูลในขั้น Transform

ก่อนดึงข้อมูลควรตกลงช่วงเวลา ชนิดข้อมูล และรหัสอ้างอิง เช่น จะดึงยอดขายตามวันที่ทำรายการหรือวันที่ชำระเงิน เพราะการเลือกคนละวันอาจทำให้รายงานของสองฝ่ายได้ยอดต่างกัน แม้ดึงจากระบบเดียวกัน

2. Transform — แปลงและตรวจคุณภาพข้อมูล

ขั้นนี้ทำให้ข้อมูลมีความหมายและรูปแบบสอดคล้องกัน เช่น แปลงวันที่เป็นชนิด Date แปลงจำนวนเงินจากข้อความเป็นตัวเลข ตัดช่องว่าง รวมข้อมูลลูกค้าด้วยรหัสเดียวกัน และแยกรายการที่ตรวจสอบไม่ผ่าน กฎต้องสะท้อนงานจริง ไม่ใช่เพียงทำให้หน้าตาของตารางเรียบร้อย

ตัวอย่างกฎที่ควรเขียนให้ชัดคือ “รายงานนี้นับเฉพาะรายการที่มีสถานะ Completed” และ “ตัดรายการซ้ำได้เมื่อรหัสรายการและข้อมูลทุกฟิลด์ตรงกัน” หากรหัสรายการเดียวกันแต่ยอดเงินต่างกัน ควรส่งให้ผู้รับผิดชอบตรวจ ไม่เลือกทิ้งเองโดยไม่มีหลักเกณฑ์

3. Load — โหลดผลลัพธ์ไปใช้งาน

นำข้อมูลที่ผ่านกฎไปยังปลายทาง เช่น ตารางรายงานใน Excel หรือตารางสำหรับการวิเคราะห์ในฐานข้อมูล พร้อมตรวจจำนวนแถว ยอดรวม และเวลาที่ข้อมูลล่าสุดถูกนำเข้า งานโหลดต้องออกแบบให้สอดคล้องกับการใช้งาน เช่น โหลดใหม่ทั้งชุด หรือเพิ่มและปรับปรุงเฉพาะรายการที่เปลี่ยนแปลง

หากใช้ Power Query ปลายทางและวิธี refresh จะขึ้นอยู่กับผลิตภัณฑ์ที่ใช้งาน เช่น Excel, Power BI หรือ Dataflow จึงไม่ควรสรุปว่า Power Query ทุกที่โหลดข้อมูลไปยังปลายทางได้เหมือนกันทั้งหมด รายละเอียดนี้อธิบายไว้ใน เอกสาร Power Query ของ Microsoft

ตัวอย่าง ETL: รวมยอดขายให้เหลือข้อมูลที่ตรวจสอบได้

สมมติว่าต้องการตอบคำถาม “ยอดขายที่สำเร็จรวมเป็นกี่บาท” จากข้อมูลตัวอย่างต่อไปนี้ ทุกยอดเป็นเงินบาทและใช้กฎเดียวกันในการนับยอด ตัวอย่างนี้สร้างขึ้นเพื่ออธิบายกระบวนการ ไม่ใช่ข้อมูลลูกค้าจริง

ข้อมูลต้นทาง 4 แถวก่อนทำ ETL

  1. รหัสรายการ: SO1001

    วันที่ในไฟล์: 01/10/2026

    รหัสลูกค้า: C001

    ยอดเงินที่อ่านมา: 1,200.00

    สถานะ: Completed

  2. รหัสรายการ: SO1002

    วันที่ในไฟล์: 2026-10-01

    รหัสลูกค้า: C002

    ยอดเงินที่อ่านมา: 700.00

    สถานะ: Completed

  3. รหัสรายการ: SO1002

    วันที่ในไฟล์: 2026-10-01

    รหัสลูกค้า: C002

    ยอดเงินที่อ่านมา: 700.00

    สถานะ: Completed

  4. รหัสรายการ: SO1003

    วันที่ในไฟล์: 02/10/2026

    รหัสลูกค้า: C001

    ยอดเงินที่อ่านมา: 500.00

    สถานะ: Cancelled

ในตัวอย่างนี้ ตกลงให้วันที่แบบมีเครื่องหมาย / ใช้รูปแบบวัน/เดือน/ปี ค.ศ. ดังนั้น 01/10/2026 คือ 1 ตุลาคม ไม่ใช่ 10 มกราคม ส่วนวันที่แบบ 2026-10-01 ใช้ปี-เดือน-วัน ต้องระบุกติกาและ locale ก่อนแปลง ไม่ให้เครื่องมือเดาจากการตั้งค่าของเครื่อง

  1. Extract: อ่านข้อมูลทั้ง 4 แถว พร้อมเก็บไฟล์ต้นทางและรอบที่นำเข้าไว้ตรวจย้อนหลัง

  2. Transform: แปลงวันที่และจำนวนเงิน ตรวจ SO1002 พบว่าซ้ำตรงกันทุกฟิลด์ จึงเก็บไว้ 1 แถว แล้วกรองเฉพาะ Completed สำหรับรายงานนี้ รายการ Cancelled ยังอยู่ในประวัติต้นทาง ไม่ได้ลบออกจากระบบขาย

  3. Load: โหลดผลลัพธ์ 2 แถวเข้าเป็นตารางรายงาน และตรวจว่ายอดรวมเท่ากับ 1,900.00 บาท

ผลลัพธ์ที่ควรได้หลังแปลงตามกติกาตัวอย่าง

  1. รหัสรายการ: SO1001

    วันที่มาตรฐาน: 2026-10-01

    รหัสลูกค้า: C001

    ยอดเงิน (บาท): 1,200.00

  2. รหัสรายการ: SO1002

    วันที่มาตรฐาน: 2026-10-01

    รหัสลูกค้า: C002

    ยอดเงิน (บาท): 700.00

จุดตรวจรับคือ อ่านเข้า 4 แถว ตัดรายการซ้ำ 1 แถว ไม่นับรายการยกเลิกในรายงาน 1 แถว จึงเหลือ 2 แถว หาก refresh ข้อมูลเดิมอีกครั้ง ผลต้องไม่กลายเป็น 4 แถวหรือยอด 3,800 บาท การทดสอบรันซ้ำจึงเป็นส่วนหนึ่งของงาน ETL ไม่ใช่ตรวจแค่ว่ารันครั้งแรกสำเร็จ

ETL เกี่ยวข้องกับ Data Warehouse และ Dimensional Model อย่างไร

Data Warehouse ช่วยรวบรวมข้อมูลสำหรับการวิเคราะห์ข้ามแหล่งและข้ามช่วงเวลา ส่วน ETL เป็นกระบวนการหนึ่งที่ใช้เตรียมและนำข้อมูลเข้าสู่คลังนั้น การแยกข้อมูลวิเคราะห์ออกจากระบบทำรายการเป็นทางเลือกที่ควรพิจารณาเมื่อมีรายงานจำนวนมาก ต้องรักษาประวัติ หรือมีการรวมข้อมูลหลายระบบ ไม่ได้แปลว่าทุกองค์กรต้องสร้างคลังข้อมูลขนาดใหญ่ตั้งแต่เริ่มต้น

รูปแบบที่ใช้บ่อยในการวิเคราะห์คือ Dimensional Model เช่น ตาราง FactSales เก็บเหตุการณ์ขายและยอดเงิน ส่วน DimCustomer, DimProduct และ DimDate ใช้อธิบายลูกค้า สินค้า และวัน ก่อนสร้างควรกำหนดระดับรายละเอียดของแถวให้ชัด เช่น 1 แถวต่อรายการสินค้าในใบขาย แล้วออกแบบ ETL ให้ได้ระดับนั้นอย่างสม่ำเสมอ

ETL ใช้กับโครงสร้างอื่นได้ด้วย การเลือกโครงสร้างปลายทางควรเริ่มจากคำถามที่ต้องตอบ ความถี่ที่ต้องใช้ข้อมูล และผู้ดูแลระบบ ไม่จำเป็นต้องใช้ Star Schema กับข้อมูลทุกประเภท

ETL กับ ELT ต่างกันอย่างไร

ความต่างหลักของ ETL และ ELT

  1. ประเด็น: ลำดับหลัก

    ETL: ดึง → แปลง → โหลด

    ELT: ดึง → โหลด → แปลง

  2. ประเด็น: ที่ทำการแปลง

    ETL: ในกระบวนการเตรียมข้อมูลก่อนโหลดผลลัพธ์เข้าปลายทางที่ต้องการ

    ELT: ใช้ความสามารถประมวลผลของระบบปลายทางหลังโหลดข้อมูลเข้าไปแล้ว

  3. ประเด็น: คำถามที่ช่วยเลือก

    ETL: ต้องตรวจหรือปรับข้อมูลก่อนเข้าชั้นปลายทางหรือไม่

    ELT: ปลายทางมีเครื่องมือและกำลังประมวลผลสำหรับแปลงข้อมูลหรือไม่

ระบบเดียวอาจผสมสองแนวทางได้ เช่น เก็บข้อมูลดิบเพื่อย้อนตรวจ แล้วสร้างตารางที่ผ่านกฎสำหรับรายงานอีกชั้น การตัดสินใจจึงควรดูข้อกำหนดเรื่องคุณภาพข้อมูล สิทธิ์เข้าถึง ต้นทุน และเวลาที่ต้องการผลลัพธ์ ไม่ใช่เลือกจากชื่อ ETL หรือ ELT เพียงอย่างเดียว แนวคิดการผสมทั้งสองแบบมีอธิบายใน Data Factory ใน Microsoft Fabric

เลือกเครื่องมือ ETL อย่างไรให้เหมาะกับงาน

Power Query สำหรับผู้ทำงานกับ Excel และ Power BI

Power Query เหมาะเป็นจุดเริ่มต้นเมื่อทีมต้องเตรียมข้อมูลด้วยขั้นตอนที่มองเห็นได้ เช่น รวมไฟล์รายเดือน จัดชนิดข้อมูล Merge และ Append โดยบันทึกเป็นขั้นตอนให้ refresh ซ้ำได้ หากทำงานบน Excel เป็นหลัก สามารถต่อยอดด้วยหลักสูตร Microsoft Excel Power Query ซึ่งมีหัวข้อเชื่อมข้อมูล แปลงข้อมูล และทำงานกับ Query หลายชุด

สำหรับผู้ที่มีพื้นฐาน Power BI แล้วและต้องเตรียมข้อมูลซับซ้อนขึ้น หลักสูตร Power BI Advanced Power Query มีเนื้อหาการแปลงข้อมูล ภาษา M และการตั้งค่า refresh ผ่าน gateway ให้พิจารณาพื้นฐานที่หลักสูตรกำหนดก่อนเลือกเรียน

SSIS สำหรับการเชื่อมและแปลงข้อมูลที่ต้องจัดการเป็นงานระบบ

SQL Server Integration Services (SSIS) ใช้สร้างงานเชื่อมข้อมูลและแปลงข้อมูลเป็น package โดยแยกการไหลของข้อมูลและลำดับงาน เหมาะให้ทีมที่ดูแลระบบ SQL Server พิจารณาเมื่อมีความต้องการเรื่องการตั้งค่า การจัดการข้อผิดพลาด และการนำงานขึ้นใช้งานร่วมกัน ทั้งนี้ความเหมาะสมต้องทดสอบกับข้อมูลและสภาพแวดล้อมจริง ดูขอบเขตผลิตภัณฑ์ใน เอกสาร SSIS

หลักสูตร ETL with SQL Server Integration Service (SSIS) เชื่อมกับงานกลุ่มนี้โดยตรง มีหัวข้อ Data Flow, Control Flow, การจัดการข้อผิดพลาด, Incremental ETL และการ Deploy โดยผู้เรียนควรมีพื้นฐาน Query ด้วย SQL ตามเงื่อนไขของหลักสูตร

Data Factory ใน Microsoft Fabric สำหรับงานข้อมูลบนแพลตฟอร์มร่วมกัน

เมื่อทีมใช้ Fabric อยู่แล้ว สามารถพิจารณา Dataflow Gen2 สำหรับการเตรียมข้อมูลและ pipeline สำหรับจัดลำดับงาน โดยตรวจ connector, destination, gateway และ capacity ที่ต้องใช้ก่อนออกแบบระบบ ผู้ที่ยังไม่คุ้นกับแพลตฟอร์มนี้อ่านภาพรวมได้จากบทความ Microsoft Fabric คืออะไร

หากต้องการเทียบวิธีคิดของเครื่องมือในบริบทงานเดิม อ่านต่อได้ที่ ETL ด้วย Power Query ใน Excel, Power BI vs SQL Server และใช้เอกสารผู้ผลิตของเวอร์ชันที่จะติดตั้งประกอบการตัดสินใจ ไม่ควรตัดสินประสิทธิภาพจากชื่อเครื่องมือเพียงอย่างเดียว

สำหรับผู้ดูแลระบบเก่า ควรทราบว่า Data Quality Services (DQS) ถูกนำออกจาก SQL Server 2025 แล้ว จึงไม่ควรนำขั้นตอนที่พึ่ง DQS ในบทความหรือระบบเก่ามาใช้กับรุ่นนี้โดยไม่วางแผนทดแทน

ก่อนนำ ETL ไปใช้งานจริง ควรตรวจอะไร

  • กฎธุรกิจ: ใครเป็นผู้ยืนยันนิยามยอดขาย สถานะรายการ เขตเวลา และวิธีจัดการข้อมูลซ้ำ

  • คุณภาพ: จำนวนแถวและยอดรวมเทียบต้นทางได้หรือไม่ มีรายการที่แปลงไม่สำเร็จกี่รายการ และใครรับผิดชอบแก้

  • การเปลี่ยนแปลง: ถ้าต้นทางเปลี่ยนชื่อคอลัมน์หรือส่งข้อมูลย้อนหลัง ระบบแจ้งเตือนและจัดการอย่างไร

  • การรันซ้ำ: เมื่อรอบงานล้มเหลว การรันใหม่ทำให้ข้อมูลซ้ำหรือขาดหรือไม่

  • การปฏิบัติงาน: มีบันทึกรอบงาน เวลาข้อมูลล่าสุด สิทธิ์เข้าถึง และผู้รับแจ้งเมื่อรันไม่สำเร็จหรือไม่

คำถามที่พบบ่อยเกี่ยวกับ ETL

ETL ต้องเขียนโปรแกรมหรือไม่

ไม่จำเป็นต้องเริ่มด้วยโค้ดเสมอไป Power Query และ SSIS มีส่วนที่ทำผ่านหน้าจอได้ ส่วนงานที่มีกฎซับซ้อนอาจต้องใช้ภาษา M, SQL หรือโค้ดเพิ่มเติมตามเครื่องมือและความต้องการ

การใช้ Power Query ถือเป็น ETL หรือไม่

ถือเป็นการทำ ETL ได้เมื่อเชื่อมข้อมูล แปลงข้อมูล แล้วนำผลไปใช้ในปลายทางของผลิตภัณฑ์นั้น แต่รายละเอียด connector การโหลดและการ refresh ต่างกันได้ระหว่าง Excel, Power BI และบริการบนคลาวด์

ETL จำเป็นต้องใช้กับข้อมูลขนาดใหญ่หรือไม่

ไม่จำเป็น หากมีงานเตรียมข้อมูลซ้ำและต้องใช้กฎเดิมทุกเดือน ก็มีเหตุผลให้จัดกระบวนการ ETL แม้ข้อมูลยังไม่มาก ขนาดงานช่วยกำหนดเครื่องมือและทรัพยากรที่เหมาะสม

ทำ ETL แล้วได้ Dashboard ทันทีหรือไม่

ยังต้องออกแบบตัวชี้วัด ความสัมพันธ์ของข้อมูล และการนำเสนอให้ตอบคำถามทางธุรกิจ ETL ช่วยให้ข้อมูลพร้อมขึ้น แต่ไม่ได้ตัดสินแทนผู้ใช้งานว่าควรวิเคราะห์อะไร

หลักสูตรที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

เครื่องมือสำหรับการ ETL Power Query, Power BI Dataflow และ SSIS

เครื่องมือสำหรับการ ETL Power Query, Power BI Dataflow และ SSIS

สำรวจโลกแห่งการจัดการข้อมูลด้วยเครื่องมือต่าง ๆ ทั้ง Power Query, Dataflow ของ Power BI และ SQL Server Integration Service (SSIS) โดย ทั้ง 3 เครื่องมือ เป็นเครื่องมือ ETL (Extract Transform Load) ช่วยในงาน Data Engineering ช่วยจัดการข้อมูล สร้างขั้นตอน บันทึกกระบวนการต่าง ๆ ในการทำ Data Cleansing, Data Shaping สร้างการคำนวณ สืบค้นข้อมูลได้ ซึ่ง Power Query ที่ทำให้การเข้าถึงและเตรียมข้อมูลที่ขี้เหร่ให้พร้อมใช้งาน Dataflow ช่วยในการจัดการข้อมูลบนคลาวด์ให้เป็นเรื่องง่าย และ SSIS ที่จะช่วยแปลงข้อมูลขนาดใหญ่ได้อย่างมืออาชีพ มาเรียนรู้กันว่าทำไมเครื่องมือเหล่านี้ถึงเป็นสิ่งจำเป็นในโลกธุรกิจยุคดิจิทัลและเลือกใช้ได้อย่างเหมาะสม

อ่านเพิ่มเติม