โดย suchai » เสาร์ ก.พ. 16, 2013 11:51 pm
การเปรียบเทียบ statement กับ รายการที่เกิดขึ้น หรือจะใช้ รายการที่เกิดขึ้น เทียบกับ statement โอกาสที่จะเปรียบเทียบจำนวนรายการที่มีจำนวนเท่ากันทั้ง 2 ฝั่ง เกิดขึ้นได้ยากมาก เพราะในสภาพความเป็นจริง จะเกิดอาการหลายแบบ เช่น โอนเงินขาด โอนเงินเกิน ไม่ได้โอน ฯลฯ
ดังนั้น การเอาข้อมูล 2 คอลัมภ์มาเปรียบเทียบกันทำได้อย่างจำกัด อีกทั้งถ้าเจอขนาดข้อมูล ทั้งสองตารางที่มีจำนวนแถวข้อมูลขนาดมากๆ เช่น 50,000 แถวขึ้นไป โปรแกรม Excel จะหมุนเป็นลูกข่างนานจนเวียนหัวหรือต้องปิดโปรแกรมไปเลย
[color=navy]เคยทำ Project เปรียบเทียบ statement ของหน่วยงานหนึ่งของกระทรวงการคลัง รายการที่เกิดขึ้นในแต่ละเดือนมีขนาดประมาณ 50,000 ข้อมูลต่อหนึ่งธนาคาร เป็นกรณีที่ข้อมูลมีมาก ข้อมูลของหน่วยงานใช้โปรแกรมเขียนขึ้นเอง และทางธนาคารก็จะจัดส่ง statement เป็นเอกสารที่พิมพ์เป็นกระดาษปึกใหญ่น้องๆ สมุดหน้าเหลือง บางคนก็เทียบมือหาตรวจเลขผิดปกติไปทีละวัน ในกรณีที่ง่าย ตัวเลขที่จะเปรียบเทียบ จะไม่ขยายวงเกินหนึ่งวัน นั่นหมายความว่า จะนั่งเทียบด้วยสายตาและปลายดินสอ หรือ จะเอามานั่งคีย์ใน Excel แล้วก็ใช้ Funtion ในการเปรียบเทียบ (ถ้าคีย์ใน Excel ก็จะมีคีย์ตัวเลขผิด ก็ผิดกันไปใหญ่) แต่ก็มียากกว่านั้น คือ ตัวเลขตั้ง กับ ตัวเลขเทียบ ทิ้งห่างไปกันหลายวัน ซึ่งทำให้ขอบเขตในการไล่ยิ่งยากขึ้นไปอีก
ก็เลยขอข้อมูลของหน่วยงานและธนาคาร เป็นแบบ PDF (จริงๆ ถ้าได้แบบ Excel เรียงข้อมูลไว้จะง่ายขึ้นเยอะ) แล้วมาตัดต่อ เอาขยะตัวอักษรออก จะเหลือแค่ วันที่โอนเงิน กับ จำนวนเงินที่โอน จากนั้นทำการแจกเลขที่เอกสารให้กับทั้ง 2 ข้อมูล ([color=blue]แจกทำไม ก็เตรียมนำเข้าโปรแกรม Express ไง) แล้วก็นำเข้าไปใน BKTRN.DBF (เป็นแฟ้มธนาคาร เป้าหมายที่เหมาะ) [/color]
จากนั้นเริ่มเขียนรายงานแบบเปรียบเทียบ statement แบบยอดไม่ข้ามวัน โดยการเขียนรายงาน กรุ๊ปตามวันที่ก่อน และค่อยกรุ๊ปตามจำนวนเงิน และให้โปรแกรมนับจำนวนความเป็นคู่ เมื่อไหร่ที่จำนวนเงินมีสภาพความเป็นคี่ นั่นหมายความว่า ตัวเลขเหล่านั้นมีปัญหา ให้ใส่เครื่องหมาย *******
โปรแกรม Express ใช้เวลาคำนวณหาสิ่งผิดปกติและรายงานสรุป ขนาดข้อมูล 50,000 ข้อมูล ใช้เวลาประมาณ 1 นาที 30 วินาที เป็นอันชี้เป้าได้ ก็ไปปรับแก้ไขหรือติดตามกันอีกที
และก็มาจบที่ตัวยาก คือ เปรียบเทียบ statement แบบยอดกระโดดข้ามวันแบบไม่มีความแน่นอน อันนี้ต้องกรุ๊ปจำนวนเงินอย่างเดียว แล้วให้โปรแกรมจับกลุ่มและนับสภาพความถูกต้อง และรายงานผล เมื่อได้ผลก็ส่งให้ผู้รับผิดชอบ ทำการตรวจสอบ ปรับแก้ไขและติดตามต่อไป
สิ่งที่พบจากการทำงาน ก็มีข้อสังเกตุหลายอย่าง เช่น เวลาที่ข้อมูลเกิดความผิดปกติในช่วงแรกๆ ก็สงสัยว่าโปรแกรม Express คำนวณค่าผิดหรือเปล่า (มักจะถูกต้องสงสัยเสมอ) ก็เป็นว่าโปรแกรมของหน่วยงานทำงานผิดปกติ หรือ ข้อมูลของหน่วยงานมีเศษทศนิยมที่ถูกต้อง แต่โปรแกรมของธนาคารบางธนาคารส่งตัวเลขผิด แบบทศนิยมเป็นเลขศูนย์ (รายงานจะเปรียบเทียบความผิดปกติ อย่างตรงไปตรงมา) การที่โปรแกรม Express เข้าไปคำนวณและชี้วัดสิ่งที่ผิดปกติในเวลาเพียงไม่ถึง 2 นาที ในขณะที่โปรแกรมขนาดใหญ่ต้องประมวลกันเป็นชั่วโมง หรือกว่าจะทราบผลการคำนวณใหม่ในวันถัดไป ก็เป็นเรื่องที่ทำให้รู้สึกว่า "เครื่องมือที่พวกเราใช้กันอยู่...ไม่ธรรมดา"[/color]