ปัญหาทั่วไปเป็นพื้นที่ย่อยทั้งหมดของการเขียนโปรแกรมที่เรียกว่าล้างข้อมูลซึ่งเป็นส่วนหนึ่งของพื้นที่ย่อยที่เรียกว่าขนาดใหญ่รวมข้อมูล การหลีกเลี่ยงปัญหาประเภทเหล่านี้น่าจะเป็นสาเหตุส่วนใหญ่ของการโยกย้ายจากแผ่นงาน Excel และสาเหตุที่นักพัฒนาอาวุโสไม่ต้องการให้เขตข้อมูลกลายเป็นโมฆะ ฉันไม่คิดว่ามันไม่มีเหตุผลที่จะบอกว่านี่เป็นหนึ่งในแหล่งความซับซ้อนที่ใหญ่กว่าในการย้ายข้อมูล
เพียงแค่เลือกที่จะใช้ NULL เมื่อใดก็ตามที่คุณทำสิ่งที่ผิดพลาดมาก ๆให้เปลี่ยนรูปแบบข้อมูลเพียงอย่างเดียวเพื่อทำให้เขตข้อมูลมีค่ามากขึ้น Excel อ่อนหรือไม่มีการตรวจสอบความสมบูรณ์ซึ่งน่าจะเป็นสาเหตุของปัญหาเหล่านี้ สิ่งที่ต้องทำคือลบการตรวจสอบความสมบูรณ์ในฐานข้อมูลใหม่และทิ้งขยะลงไป นี่เป็นการขยายเวลาของปัญหาและเพิ่มความซับซ้อนที่สำคัญให้กับการรวมระบบในอนาคตซึ่งจะต้องจัดการกับข้อมูลไร้สาระอย่างใด
ความแตกต่างบางอย่างมีแนวโน้มเนื่องจากรูปแบบข้อมูลไม่ตรงกัน การจัดการกับสิ่งนี้ส่วนใหญ่เป็นเรื่องของการคุ้นเคย (อย่างใกล้ชิด) กับทั้งตัวแบบข้อมูลและการรู้วิธีแมปตัวเก่ากับตัวใหม่ ตราบใดที่หนึ่งใหม่คือความสามารถในการจับภาพคนเก่า (ถ้าไม่ใช่ทีมของคุณอาจมีปัญหาใหญ่มาก) สิ่งนี้อาจต้องการการทำงานมากกว่าการคัดลอกคอลัมน์ Darkwing ให้ตัวอย่างที่ยอดเยี่ยมเกี่ยวกับเรื่องนี้ (เช่นเดียวกับสาเหตุที่การใส่ NULL แบบสุ่มสี่สุ่มห้าเป็นสิ่งผิดปกติที่ต้องทำ) Elaborating เมื่อมันถ้ารุ่นเก่ามีReceivedDate
และInProgress
บิตและรุ่นใหม่มีStartDate
และคุณจะต้องตัดสินใจว่าและวิธีการตั้งค่าProcessingEndTime
ProcessingEndTime
ขึ้นอยู่กับวิธีการใช้งานตัวเลือกที่สมเหตุสมผล (แต่โดยพลการ) อาจตั้งค่าให้เหมือนกับตัวเลือกStartDate
(หรือหลังจากนั้นไม่นานหากจะทำให้เกิดปัญหา)
อย่างไรก็ตามความแตกต่างบางอย่างน่าจะเกิดจากข้อมูลที่ "ควร" อยู่ตรงนั้นที่ขาดหายไปหรือเสียหาย (น่าจะเกิดจากข้อผิดพลาดในการป้อนข้อมูลหรือการโยกย้ายที่ผ่านมาหรือข้อบกพร่องในระบบการประมวลผลข้อมูลที่ไม่ดี) หากไม่มีใครในทีมของคุณคาดหวังสิ่งนี้คุณ (รวม) จะตั้งค่าตัวเอง เกือบเสร็จแล้ว. (นั่นเป็นหมายเลขที่สร้างขึ้นมา แต่มันอาจจะไกลแย่กว่านั้นหรือดีกว่า ขึ้นอยู่กับจำนวนข้อมูลที่ไม่ถูกต้องความสำคัญความซับซ้อนความง่ายในการมีส่วนร่วมจากผู้รับผิดชอบข้อมูลและปัจจัยอื่น ๆ ) เมื่อคุณได้พิจารณาแล้วว่าข้อมูลนั้นควรจะ เป็น "ที่นั่น แต่หายไป โดยปกติแล้วคุณจะพยายามกำหนดขอบเขตของปัญหาโดยการสอบถามแหล่งข้อมูลเก่า หากมีหลายสิบหรือหลายร้อยรายการนั่นอาจเป็นข้อผิดพลาดในการป้อนข้อมูลและลูกค้าที่รับผิดชอบข้อมูลควรแก้ไขด้วยตนเอง (เช่นบอกคุณว่าควรมีค่าใด) หากเป็นรายการนับล้าน (หรือเศษส่วนที่สำคัญของข้อมูล) จากนั้นคุณอาจต้องพิจารณาอีกครั้งว่าคุณระบุอย่างถูกต้องว่า "ควร" อยู่ที่นั่นหรือไม่ สิ่งนี้อาจบ่งบอกถึงข้อผิดพลาดในการสร้างแบบจำลองในระบบใหม่
ตัวอย่างเช่นลองนึกภาพใบแจ้งหนี้ที่มีปริมาณและผลรวมต่อรายการ (แต่ไม่ใช่ราคาต่อหน่วย) ยกเว้นว่าปริมาณบางอย่างขาดหายไปอย่างลึกลับ การพูดคุยกับบุคคลที่ประมวลผลใบแจ้งหนี้ดังกล่าวอาจทำให้เกิดสถานการณ์หนึ่ง (หรือมากกว่า) ในสถานการณ์ต่อไปนี้: 1) "โอ้ปริมาณที่ว่างเปล่าหมายถึงปริมาณ 1", 2) "โอ้ฉันรู้ว่าสิ่งของเหล่านั้นมีราคาประมาณ 1,000 ดอลลาร์ เห็นได้ชัดว่านี่เป็นคำสั่งซื้อ 2 ", 3)" เมื่อสิ่งนั้นเกิดขึ้นฉันค้นหาราคาในระบบอื่นนี้และหารและปัดเศษ ", 4)" ฉันค้นหาในระบบอื่น ", 5)" นั่นไม่ใช่ข้อมูลจริง ", 6)" ไม่เคยเห็นมาก่อน "
ตามที่แนะนำไว้สิ่งนี้สามารถระบุวิธีการแก้ไขสถานการณ์โดยอัตโนมัติได้ แต่คุณต้องระวังว่าวิธีแก้ไขนั้นใช้ได้กับทุกกรณี เป็นเรื่องปกติที่ระบบอื่น ๆ จะต้องมีส่วนร่วมซึ่งสามารถตรวจสอบข้อมูลได้และนี่เป็นสิ่งที่ดี อย่างไรก็ตามมันมักจะเป็นสิ่งที่ไม่ดีเท่าที่จะทำได้ยากที่จะเข้าถึงและรวมเข้ากับระบบเหล่านี้เพื่อทำการตรวจสอบแบบไขว้และบ่อยครั้งที่เราเห็นว่าระบบขัดแย้งกันไม่ใช่แค่ข้อมูลหายไป การแทรกแซงด้วยตนเองบางครั้งจำเป็นต้องใช้และขึ้นอยู่กับขนาดอาจต้องใช้เครื่องมือและอินเทอร์เฟซเพื่อสร้างงานเฉพาะสำหรับการล้างข้อมูล บ่อยครั้งที่สิ่งที่ทำคือข้อมูลถูกนำเข้าบางส่วน แต่แถวที่มีข้อมูลหายไปจะถูกส่งไปยังตารางแยกต่างหากซึ่งสามารถตรวจสอบได้