วิธีแก้ปัญหาวันที่ ใน Power BI
ในประเทศไทยเรามีการใช้วันที่ได้ในหลากหลายรูปแบบมากๆ ทั้งรูปแบบ พ.ศ. และรูปแบบ ค.ศ. ในบทความนี้เราจะพามาดูวิธีการดึงข้อมูลประเภทวันที่เข้าไปใน Power BI และวิธีการจัดการกับวันที่ในรูปแบบต่างๆ

สามารถลอง Download ชุดข้อมูลตัวอย่างได้ที่ https://bit.ly/thdate
ก่อนอื่นเราต้องเข้าใจข้อมูลประเภท Date ในโปรแกรม Power BI ก่อน ถ้าเราดูใน Data Pane ขวามือ

ถ้าอยากสร้าง Date Table ก็สามารถไปดูที่นี่ได้เลย https://davoy.tech/th/working-with-dates-in-power-bi/
ในโปรแกรม Power BI และ Excel เราสามารถใช้โปรแกรม Power Query ในการอ่านข้อมูลเข้ามา และเราจะใช้โปรแกรมตัวนี้แหละ ในการช่วยแปลง Date ให้เรา ลองไปอ่านได้ว่า Power Query คืออะไร https://davoy.tech/th/what-is-power-query/
สำหรับตัวอย่างในบทความนี้ เราจะมีทั้งหมด 11 แบบ โดยเราจะใช้การ Transpose แล้วแก้ไขทีละ column ให้ดู

ในการเปลี่ยนวิธีแรก เราจะใช้สิ่งที่เรียกว่า Change Type with Locale โดยเราจะสามารถคลิกซ้ายที่หัว column แล้วเลือก using locale… หรือ คลิกขวาที่ column แล้วเลือก Change Type > Using Locale

สำหรับข้อมูลในตัวอย่าง 3 แบบนี้ เราสามารถเลือก Data Type เป็น Date
และเลือก Locale ให้เป็น Thai (Thailand) ได้เลย
โดยที่ Locale Thai นี้ จะสามารถอ่านชื่อเดือนเป็นภาษาไทย และ ปีที่เป็นปี พ.ศ. เพื่อแปลงเป็นรูปแบบ ค.ศ. (กรณีที่เครื่องเราใช้เป็น ค.ศ.) ได้เลยโดยอัตโนมัติ

สำหรับวันที่ที่จะใช้ เดือนมาก่อนวัน โดยเฉพาะที่ใช้เป็นตัวเลข เราจะแนะนำให้ใช้ English (Unitied States)

สำหรับวันที่ทั่วๆไป ที่เขียน วัน เดือน ปี หรือชื่อเดือนเป็นภาษาอังกฤษ เราจะแนะนำให้ใช้ English (Singapore)

กรณีซับซ้อนแบบที่ 1 เขียนชื่อเดือนเป็นภาษาไทย แต่ว่าเขียนเป็นปี ค.ศ.
เราจะใช้การเปลี่ยนด้วย Date และ Thai Locale ก่อน เพื่อให้เป็นวันที่และเดือนที่ถูกต้อง

เราจะสังเกตว่าเราจะได้ปีที่ผิดทั้ง 2 กรณี

กรณีที่เขียนเป็น 2024 ระบบจะอ่านออกมาเป็น 1481 เพราะเข้าใจว่าเป็น พ.ศ. 2024 หรือ ค.ศ.1481 เราก็จะสามารถแก้ได้โดยเขียนสูตรบวกปีเพิ่มเข้าไป อีก 543 ปี
ในกรณีที่เขียนแค่ 24 ระบบจะอ่านเป็น พ.ศ. 2524 หรือ ค.ศ.1981 ดังนั้นสิ่งที่เราต้องทำก็คือเขียนสูตรเพิ่มปีเช่นกัน แต่เพิ่มแค่เพียง 43 ปี เราก็จะได้วันที่ที่สวยงาม

กรณีซับซ้อนแบบที่ 2 เขียนเป็น เดือน / วัน / พ.ศ.
ในกรณี Thai Locale จะอ่านไม่ออก เพราะว่า Locale ของไทย จะให้อ่านเป็นวัน ก่อนเดือน และเราจะได้ Error ออกมา
>>>
ดังนั้นวิธีแก้จะต้องเป็นการใช้ Locale เป็น United States

ทีนี้ระบบจะอ่านปีของเราเป็น ค.ศ. 1967 แทนที่จะเป็นปีพ.ศ. เราก็จะแก้ไขด้วยการบวกไปอีก 57 ปี เพื่อให้กลายเป็นปีที่ถูกต้อง

ก็คาดว่าบทความนี้น่าจะครอบคลุมถึงปัญหาวันที่แบบไทยๆ ที่เรามักจะเจอใน Power BI หรือ Excel ได้หลายรูปแบบ สามารถลองโหลดไฟล์ .pbix ในโฟลเดอร์นี้ไปดูได้เลยค่ะ https://bit.ly/thdate

หลังจาการเปลี่ยนข้อมูลเป็น Date Type แล้ว เราจะเห็น format ของข้อมูลตาม format ที่เราตั้งไว้ในเครื่อง แต่เราก็สามารถเลือกได้เช่นกัน ว่าจะให้เป็นแบบใน อยู่ใน Setting ของเครื่องเรา
ถ้าหากใครสนใจให้เราไปสอน Power BI ในองค์กรของคุณ ก็สามารถทักมาคุยกับเราผ่าน Line ได้ที่ @davoy เลยค่ะ
สามารถกด Subscribe เพ่อรับการแจ้งเตือนเมื่อเรามีบล็อกใหม่ๆ ได้ที่ช่องด้านล่างเลย
[hubspot type=”form” portal=”47406981″ id=”244b28eb-5322-4f57-80ff-1745ac75313c”]


