[The Next Gen Navy Ep.42/80] ยุทธการ Data Cleaning: สังคายนาข้อมูลขยะ…อย่าปล่อยให้ “สนิมเนื้อใน” กัดกินระบบใหม่ของเรา

Spread the love
5/5 - (3 votes)

รายงานตัวประจำวันพุธที่ 28 มกราคม 2569 ครับ เดินทางมาถึง ตอนที่ 42 แล้วนะครับ! ต่อเนื่องจากตอนที่แล้ว (Ep.41) ที่เราตกลงปลงใจกันแล้วว่า กองทัพเรือจะต้องมี “แหล่งความจริงเพียงหนึ่งเดียว” (Single Source of Truth)

แต่ช้าก่อนครับ… ก่อนที่เราจะย้ายข้อมูลทั้งหมดเข้าสู่บ้านหลังใหม่ (Odoo) เราต้องถามตัวเองก่อนว่า “เฟอร์นิเจอร์เก่า” ที่เราจะขนเข้าไปนั้น มันยังใช้งานได้ดี หรือเป็นแค่ “ขยะ” ที่รกบ้าน? ในวงการไอทีมีคำกล่าวอมตะว่า “Garbage In, Garbage Out” (ขยะเข้า = ขยะออก) ถ้าระบบเทพแค่ไหนแต่ข้อมูลข้างในเน่า ผลลัพธ์ที่ได้ก็คือความล้มเหลวครับ วันนี้ AdminTee จะพาท่านถือไม้กวาดและถุงดำ มาทำ Big Cleaning Day ให้กับข้อมูลของเรากันครับ!


ส่วนที่ 6: จาก Silo Data สู่ Single Data (Data Strategy)

จุดประสงค์: การจัดการข้อมูลเพื่อความเป็นเอกภาพ และเตรียมความพร้อมก่อนขึ้นระบบจริง

ตอนที่ 42/80: ยุทธวิธีการทำ Data Cleaning: ล้างข้อมูลขยะก่อนนำเข้าระบบใหม่

การทำ Data Cleaning ไม่ใช่แค่การลบไฟล์ทิ้งมั่วๆ นะครับ แต่ต้องทำอย่างมียุทธวิธี เหมือนการกู้ระเบิดที่ต้องระมัดระวัง โดยมีขั้นตอนหลักๆ 3 ขั้นตอน ดังนี้ครับ:

1. จัดระเบียบรูปแบบ (Standardization): ทำให้ “ภาษาเดียวกัน” เป็น “หน้าตาเดียวกัน”

  • จัดระเบียบรูปแบบ (Standardization): ทำให้ “ภาษาเดียวกัน” เป็น “หน้าตาเดียวกัน”
    • เบอร์โทรศัพท์: 081-1234567, 081 123 4567, (081)1234567
    • วันที่: 25/01/2569, 2026-01-25, 25 Jan 26
  • วิธีแก้ไข: กำหนด “มาตรฐานกลาง” และใช้โปรแกรมแปลงอัตโนมัติ (Script)
    • เบอร์โทรทุกเบอร์ต้องเขียนติดกันหมด (0811234567)
    • ปีเกิดต้องเป็น ค.ศ. (YYYY-MM-DD) เท่านั้น
    • ตัวอย่าง: แปลงคำว่า “กทม.”, “กรุงเทพฯ”, “BKK” ให้เป็น “กรุงเทพมหานคร” ทั้งหมด 100%

2. กำจัดตัวซ้ำ (Deduplication): รวมร่างแฝดคนละฝา

  • ปัญหา: มีชื่อ “น.ท.สมชาย ใจดี” ปรากฏในระบบ 3 ครั้ง เพราะสะกดผิดนิดหน่อย หรือมีการคีย์ซ้ำโดยไม่ตั้งใจ ทำให้เวลาเบิกของ ระบบตัดยอดผิดคน
  • วิธีแก้ไข: ใช้การจับคู่ (Matching) ด้วยเลขบัตรประชาชน หรือรหัสพัสดุ
    • ระบบจะสแกนหาข้อมูลที่ “หน้าตาคล้ายกัน” (เช่น สมชาย กับ สม ชาย) แล้วแจ้งเตือนให้ Admin ทำการ “รวมข้อมูล” (Merge) ให้เหลือเพียง Record เดียวที่มีประวัติครบถ้วนที่สุด

3. ตรวจสอบตรรกะ (Validation): หา “สิ่งที่เป็นไปไม่ได้” ให้เจอ

  • ปัญหา: ข้อมูลที่ผิดเพี้ยนจากความจริง (Human Error)
    • วันเกิด: ระบุว่าเกิดปี 2568 (อายุ -1 ปี?) หรือเกิดปี 2400 (อายุ 126 ปี?)
    • อีเมล: ไม่มีเครื่องหมาย @ หรือพิมพ์ .con แทน .com
  • วิธีแก้ไข: สร้าง “ตะแกรงร่อน” (Validation Rules)
    • ตั้งค่าให้ระบบฟ้อง Error ทันทีที่เจอข้อมูลประหลาด เช่น “อายุต้องอยู่ระหว่าง 18-60 ปี” หรือ “วันที่สมัคร ต้องไม่มาก่อนวันเกิด” ข้อมูลเหล่านี้ต้องถูกส่งกลับไปให้ต้นสังกัดแก้ไขให้ถูกต้องก่อนนำเข้าระบบ

4. ข้อจำกัดและอุปสรรค (The Constraints)

  1. งานที่น่าเบื่อและมองไม่เห็น (Invisible Work): การนั่งแก้ข้อมูลทีละบรรทัดเป็นงานที่ใช้ความอดทนสูงมาก และมักไม่ได้รับคำชม เพราะผู้บริหารจะเห็นแค่ตอนเสร็จแล้ว
  2. ขาดเจ้าภาพ (Lack of Ownership): พอเจอข้อมูลผิด (เช่น เบอร์โทรผิด) หน่วยงานมักเกี่ยงกันว่า “ไม่ใช่หน้าที่ฉันแก้” ทำให้ข้อมูลขยะถูกกวาดไปซุกไว้ใต้พรม

5. ข้อแนะนำและข้อเสนอแนะ (Recommendations)

  1. ใช้เครื่องมือทุ่นแรง: อย่าใช้ตาเปล่าตรวจ Excel แสนบรรทัด! ให้ใช้เครื่องมืออย่าง OpenRefine หรือฟีเจอร์ Data Cleansing ใน Odoo ช่วยกรองข้อมูลผิดปกติออกมาเป็นกลุ่มก้อน
  2. Data Stewards (ผู้ดูแลข้อมูล): แต่งตั้ง “นายทหารข้อมูล” ประจำแต่ละกรม ทำหน้าที่เป็นผู้รับผิดชอบโดยตรงในการเซ็นรับรองความถูกต้องของข้อมูล (Sign-off) ก่อนส่งเข้าถังกลาง หากมีข้อมูลขยะหลุดมา คนนี้ต้องรับผิดชอบ

บทสรุป

การทำ Data Cleaning เปรียบเสมือนการ “ขัดสนิมออกจากเหล็ก” ก่อนทาสีทับครับ

ถ้าเราเร่งรีบนำข้อมูลขยะเข้าสู่ระบบ Odoo โดยไม่คัดกรอง ระบบใหม่ที่ลงทุนไปมหาศาลก็จะกลายเป็นแค่ “ถังขยะไฮเทค” เท่านั้น แต่ถ้าเรายอมเหนื่อยในวันนี้ ข้อมูลที่สะอาดบริสุทธิ์ (Clean Data) จะกลายเป็นขุมทรัพย์ล้ำค่าที่ AI สามารถนำไปวิเคราะห์ได้อย่างแม่นยำ นำพากองทัพเรือสู่ยุคปัญญาประดิษฐ์ได้อย่างภาคภูมิครับ

(อ้างอิง: หลักการ Data Quality Management และ คู่มือการใช้งาน OpenRefine เบื้องต้น)


คำถามชวนคิด (เพื่อการมีส่วนร่วม)

  1. ท่านเคยหงุดหงิดเวลาค้นหาชื่อเพื่อนในระบบแล้วไม่เจอ เพราะเขาพิมพ์ชื่อเว้นวรรคผิดที่ไหมครับ?
  2. ในฐานข้อมูลหน่วยท่าน มีคนที่ “เกษียณไปแล้ว 10 ปี” แต่ชื่อยังค้างอยู่ในระบบบ้างหรือไม่?
  3. ท่านพร้อมไหมที่จะช่วยกัน “สละเวลาคนละ 1 ชั่วโมง” มาตรวจสอบข้อมูลส่วนตัวของตัวเองให้ถูกต้อง เพื่อลดภาระส่วนกลาง?

ติดตามตอนต่อไป

มื่อข้อมูลสะอาดแล้ว เราต้องสร้าง “พจนานุกรมกลาง” ให้ทุกคนเรียกชื่อสิ่งของเหมือนกัน! ในตอนหน้า Ep.43/80 “Master Data Management (MDM): การสร้างและบริหารข้อมูลหลักให้เป็นมาตรฐานเดียวกัน” เราจะมาดูวิธีทำให้ “น็อตตัวเมีย” ที่กรมช่าง เรียกเหมือนกับที่กรมพลาธิการ ห้ามพลาดครับ!

Facebook Comments Box
Visited 14 times, 1 visit(s) today

Leave a Comment