ในการทำงานด้าน Data Analytics, Data Engineering หรือแม้แต่ Business Intelligence หนึ่งในขั้นตอนสำคัญที่สุดก่อนการนำข้อมูลไปใช้งานคือ Data Cleansing หรือการทำความสะอาดข้อมูล ซึ่งมีหลายวิธี ตั้งแต่การจัดการ Missing Values, Duplicate ไปจนถึง Outliers แต่สิ่งหนึ่งที่ถูกมองข้ามบ่อยที่สุด คือ การตั้งค่า Data Type ให้ถูกต้อง
แม้จะดูเป็นขั้นตอนเล็กๆ แต่จริงๆ แล้ว Data Type มีความสำคัญอย่างมาก เพราะเป็นตัวกำหนดว่า ข้อมูลจะถูกประมวลผลอย่างไร และจะเกิดปัญหาอะไรได้บ้างหากตั้งค่าผิดพลาด
Data Type คืออะไร?

Data Type คือประเภทของข้อมูล เช่น
- ตัวเลข (Integer, Float)
- ตัวอักษร (String, Text)
- วันที่และเวลา (Date, Datetime)
- Boolean (True/False)
ประเภทของข้อมูลเหล่านี้บอกให้ระบบรู้ว่าจะ จัดเก็บ, แสดงผล, หรือ ประมวลผล ข้อมูลอย่างไร ซึ่งส่งผลกระทบโดยตรงต่อการนำข้อมูลไปใช้ต่อ เช่น หากเราตั้งค่าข้อมูลที่เป็นตัวเลข แต่เลือก Data Type เป็นค่า String หรือ Text สิ่งที่เกิดขึ้นก็คือ เราจะไม่สามารถใช้ข้อมูลในการคำนวณทางคณิตศาสตร์ได้ หรือในกรณที่เลือก Data Type ตัวเลขให้กับข้อมูลที่เป็นวันที่และเวลา ก็อาจจะทำให้การจัดเรียงลำดับในรูปแบบของจำนวนนับแทนที่จะเป็นวันเวลาตามปฎิทิน เป็นต้น
ซึ่งถึงจะมีความคล้ายกัน แต่ Data Analytics Tools แต่ละค่ายก็จะมีการกำหนดค่า Data Type แตกต่างกันอยู่บ้าง โดยทางเราได้รวม Data Type ของเครื่องมือหลัก ๆ ได้แก่ PowerBI, Tableau และ Looker Studio มาไว้ให้เรียบร้อยแล้ว
| Data Type | Power BI | Tableau | Looker |
|---|---|---|---|
| ตัวเลข (Numeric) | – Decimal number – Fixed decimal number – Whole number – Percentage | – Numerical values | – Number – Percent – Currency |
| ข้อความ (String/Text) | – Text | – Text (string) values | – Text |
| วันที่และเวลา (Date/Time) | – Date – Time – Date/Time – Date/Time/Timezone – Duration | Date & Time values | – Date & Time – Duration |
| Boolean (True/False) | – True/False | – Boolean values | – Boolean |
| อื่น ๆ เฉพาะโปรแกรม | – Binary | – Geographic values – Image role – Cluster Group | – Geo – URL – Hyperlink – Image – Image Link |
ซึ่งเราจะเห็นได้ว่าแต่ละ Program จะแยกประเภทของข้อมูลในระดับความละเอียดที่แตกต่างกัน เช่น กรณีของ PowerBI จะแยกตัวเลขที่เป็นจำนวนเต็ม (Whole Number) ออกจากจำนวนที่เป็นทศนิยม (Decimal Number) แล้วยังแยกตัวเลขทศนิยมออกเป็น Fixed decimal number อีกต่างหาก ในขณะที่ Tableau มองตัวเลขทั้งหมดเป็น Data Type เดียวกันคือ Numerical values เป็นต้น ซึ่งความแตกต่างนี้เกิดจากการออกแบบโปรแกรมของผู้พัฒนา แต่กลุ่มผู้ใช้งานหลักของแต่ละราย
หลักการเลือกค่า Data Type
เมื่อรู้ถึง Data Type ประเภทต่าง ๆ แล้วเราจะมีหลักการในการเลือก Data Type อย่างไรให้ถูกต้อง DataKraft มีเกณฑ์มาให้ทำตามได้ง่าย ๆ ดังนี้เลย
1. ข้อมูลใช้ “คำนวณ” หรือ “จัดหมวดหมู่”?
| ลักษณะข้อมูล | Data Type ที่เหมาะ |
|---|---|
| ต้องคำนวณ (sum, avg, min, max) | Numeric |
| ใช้จัดกลุ่ม (group, segment) | String / Category |
| ใช้กรองตามช่วงเวลา | Date / DateTime |
| ใช้เช็คสถานะ | Boolean |
เนื่องจาก Data Type ส่งผลกระทบโดยตรงต่อมุมมองที่ตัว Program ใช้ในการประมวลผลข้อมูล เพราะฉะนั้นสิ่งที่เราควรคำนึงถึงไม่ใช่ว่า ข้อมูลนี้เป็นตัวเลข หรือเป็นตัวอักษรภาษาอังกฤษ แต่เป็นข้อมูลนี้จะถูกใช้คำนวณหรือไม่ ตัวอย่างของข้อมูลที่เป็นตัวเลขแต่ไม่ถูกใช้คำนวณ เช่น หมายเลขโทรศัพท์ ควรถูกจัดหมวดหมู่เป็น String มากกว่าที่จะเป็น Numberic เป็นต้น
ตัวอย่างข้อมูลที่ดูเหมือนตัวเลข แต่ไม่ควรใช้ Numberic DataType

- หมายเลขโทรศัพท์
- รหัสไปรษณีย์
- เลขบัตรประชาชน
- รหัสพนักงาน / รหัสสินค้า
- หมายเลขใบสั่งซื้อ (Order No.)
2. เลือก Date/Time ให้เหมาะกับการใช้งานจริง
เมื่อเจอข้อมูลที่เป็น วันที่ หรือเวลา ให้ตรวจสอบให้แน่ใจว่าเป็นข้อมูลชนิดใดและมี Format อย่างไร
- Date ถ้าข้อมูลมีแต่วันที่ ไม่มีเวลา
- Datetime ถ้าข้อมูลมีทั้งวันที่และเวลา
- Time ถ้าข้อมูลมีเฉพาะเวลา
ข้อควรระวังเกี่ยวกับข้อมูล Date/Time

- ตรวจสอบ Date Format ให้แน่ใจ โดยเฉพาะลำดับของเดือนและวันที่ เนื่องจากบางกรณีข้อมูลอาจถูกบันทึกในรูปแบบของ ปี-วัน-เดือน เช่น 2025-01-12 (วันที่ 1 ธันวาคม 2025) แต่อาจเข้าใจผิดเลือก Date Format เป็น ปี-เดือน-วัน ทำให้ข้อมูลที่ควรจะเป็น วันที่ 1 ธันวาคม 2025 ถูกระบบเข้าใจเป็น วันที่ 12 มกราคม 2025 เป็นต้น
- Tip & Trick: ตรวจหาข้อมูลที่เป็นเลขตั้งแต่ 12 ขึ้นไปว่าอยู่ในตำแหน่งที่สอง หรือสาม เช่น 2025-31-12 หรือ 2025-12-31 เพื่อให้แน่ใจว่าข้อมูลตำแหน่งใดคือ วัน และ เดือน
- ข้อมูลที่ดูเหมือนเวลาอาจเป็น Duration ตัวอย่างเช่น 20:15 อาจหมายถึงเวลา 2 ทุ่ม 15 นาที หรือระยะเวลา 20 ชั่วโมง 15 นาที ขึ้นอยู่กับว่าข้อมูลดังกล่าวใช้ระบุเวลา (Time) หรือช่วงระยะเวลา (Duration) สังเกตได้จากถ้าเป็น Duration จะมีค่าที่เกิน 24:00 เช่น 35:15 หมายถึงระยะเวลา 35 ชั่วโมง 15 นาที เป็นต้น
3. ถ้าข้อมูลมีแค่ “สองสถานะ” → ใช้ Boolean ได้เลย
หากแน่ใจว่าข้อมูลมีแค่สองค่าแน่ ๆ สามารถใช้ Boolean ได้เลย

ตัวอย่างเช่น:
- สถานะที่มีแค่ Active/Inactive
- Pass/Failure
- True/False
- Yes/No
ข้อควรระวังเกี่ยวกับการใช้ข้อมูล Boolean
- หากไม่แน่ใจว่าข้อมูลต้นทางมีแค่สองสถานะ ควรพิจารณาเป็น String เช่น อาจมีค่า ‘N/A’ หรือค่าว่าง ‘Null’ ‘Blank’ ปรากฎมาเป็นค่าที่สาม เป็นต้น
4. ตรวจสอบค่าผิดปกติ (Dirty Data) ก่อนกำหนด Data Type
ก่อนตั้ง Data Type ควรดูว่ามีข้อมูลที่ผิด format หรือไม่ เช่น
- คอลัมน์ราคาแต่มี “-” หรือ “N/A”
- วันที่ผิด format เช่น 31/02/2024
- ตัวเลขปนตัวอักษร เช่น “100 บาท”
เพราะข้อมูลประเภทนี้จะทำให้การแปลง Data Type ล้มเหลว
5. ในกรณีที่ไม่แน่ใจใช้หลัก “เลือกแบบที่ปลอดภัยที่สุดก่อน”
หากไม่มั่นใจในข้อมูลทั้งหมดให้เลือกแบบปลอดภัยไว้ก่อน โดยการเลือก Data Type ที่ครอบคลุมประเภทข้อมูลมากที่สุด
ตัวอย่างเช่น
- ข้อมูลตัวเลขที่เป็นจำนวนเต็ม แต่เราไม่แน่ใจว่าจะมีโอกาสมีค่าที่เป็นทศนิยมปรากฎขึ้นหรือไม่ ให้เลือกเป็น Decimal หรือ Float ไว้ก่อน เผื่อกรณีที่มีค่าทศนิยมปรากฎขึ้น
- ข้อมูลที่เป็นวันที่ แต่ไม่แน่ใจว่าจะมีบางกรณีที่มีการบันทึกเวลาด้วยหรือไม่ ให้เราใช้ Datetime แทนที่จะเป็น Date
- กรณีที่เป็นข้อมูลชุดตัวเลข แต่ไม่แน่ใจว่าเป็นรหัสที่อาจจะมีตัวอักษรปรากฎขึ้นหรือไม่ ให้เราใช้ String
แต่ทั้งนี้แนวทางที่ดีที่สุดคือการเลือก Data Type ให้ตรงกับชนิดข้อมูลที่สุด เนื่องจากการเลือกแบบปลอดภัยไว้ก่อนจะทำให้เกิดการใช้ทรัพยากรของระบบโดยไม่จำเเป็น
สรุปแนวคิดเลือก Data Type สำหรับมือใหม่
✔ เลือกว่าใช้ “คำนวณ” หรือใช้ “จัดหมวดหมู่”
✔ เลือก Date/Time ให้เหมาะกับการใช้งานจริง
✔ ถ้าข้อมูลมีแค่ “สองสถานะ” → ใช้ Boolean ได้เลย
✔ ตรวจสอบค่าผิดปกติ (Dirty Data) ก่อนกำหนด Data Type
✔ ใช้หลัก “เลือกแบบที่ปลอดภัยที่สุดก่อน”

