รู้ไหม! Power BI ไม่ชอบสระอุ

“อาจารย์ เชิญทางนี้หน่อยค่ะ” คุณป้อมยกมือขึ้น
“คุณป้อมมีอะไรหรือครับ?”
“คือเมื่อกี๊ป้อมพิมพ์สูตร DAX แล้วจู่ ๆ มันก็แฮงก์ค่ะ”
“เอ๋! แฮงก์ยังไงครับ?”
“แฮงก์แบบนี้ค่ะ”
แล้วคุณป้อมก็โชว์หน้าจอ Power BI Desktop

“เฮ้ย!” ผมร้อง
“กราฟที่สร้างไว้ พังหมดเลยค่ะ”

“มี error message ขึ้นมาไหมครับ?” ผมถาม
“มีขึ้นมาแบบนี้ค่ะ”

“message นี้ไม่ได้ช่วยอะไรกรูเล้ย” ผมสบถในใจ

“ลอง undo ก็ไม่หายค่ะ”
“แบบนี้แก้ยังไงดีคะ?”

ผมไม่อยากบอกคุณป้อมเลยว่าไม่รู้ แต่ต้องตีมาดนิ่งรักษาลุคอาจารย์ไว้ก่อน

“ก่อนคอมพ์จะแฮงก์ คุณป้อมทำอะไรครับ?” ผมเริ่มตั้งสติ
“ก็สร้าง measure ชื่อ LYVolume ตามสูตรที่อาจารย์เพิ่งสอนเมื่อกี๊เลยค่ะ”

ผมเพ่งดูสูตรสามรอบก็ไม่เห็นมีอะไรผิดปกติ

“ก่อนหน้านี้มีอาการแบบนี้ไหมครับ?”
“ไม่มีค่ะ ใช้ได้ปกติค่ะ”
“ดูสูตรแล้วก็ไม่มีอะไรผิด แต่พอพิมพ์แล้วแฮงก์ งั้นผมขอลบ measure นี้ได้ไหมครับ”
“ได้เลยค่ะอาจารย์ หนูก็ไม่รู้จะทำยังไงต่อเหมือนกัน”

เมื่อคลิกขวาลบ measure มี message box ขึ้นมา

หืมม์! ทำไมมีตัวอักษรแปลก ๆ

ช่างมัน ลบก่อนละกัน แล้วผมก็คลิกปุ่ม Delete

Power BI Desktop คำนวณแป๊ปนึง แล้วกลับมาปกติเฉยเลย!

หึหึหึ… ปริศนาทุกอย่างไขกระจ่างแล้ว

ฆาตกร เอ๊ย! ปัญหาคือ สระอุนั่นเอง!

ตัวอักษรแปลก ๆ ที่เห็นเมื่อกี๊คือสระอุ

ตอนเขียนสูตร คุณป้อมอาจพิมพ์สระอุนำหน้าโดยไม่ตั้งใจ

ถ้าเช็คสูตรใน formula bar จะมองไม่เห็นสระอุ แต่ความจริงรับสระอุเข้ามาแล้ว

พอเอ็นเทอร์ก็ตูม! แฮงก์ทั้งโปรแกรม

ผมทดลองกับสระอื่นก็เจอปัญหาเดียวกัน เช่น

  • สระอู
  • สระอิ
  • สระอี
  • สระอึ
  • สระอือ
  • ไม้หันอากาศ
  • ไม่ไต่คู้

ทดลองกับวรรณยุกต์ ก็เจอปัญหาเดียวกัน ไม่ว่าจะเป็น

  • ไม้เอก
  • ไม้โท
  • ไม้ตรี
  • ไม้จัตวา

แต่บางสระกลับไม่เจอปัญหานี้ เช่น

  • สระอะ
  • สระอา
  • สระเอ
  • สระอำ
  • ไม้ม้วน
  • ไม้มลาย

ผมจึงสรุป (เอาเอง) ว่า ถ้าขึ้นต้นชื่อ measure ด้วยสระที่ต้องพึ่งพาพยัญชนะ หรือขึ้นต้นด้วยวรรณยุกต์ โปรแกรม Power BI จะแฮงก์ทันที

(แต่ถ้าลงท้ายชื่อด้วยสระหรือวรรณยุกต์จะไม่เจอปัญหา)

ขอเรียกสระที่ต้องพึ่งพาพยัญชนะและวรรณยุกต์ว่า “อักขระห้ามนำ”
นั่นคือ ห้ามขึ้นต้นชื่อ measure ด้วยอักขระเหล่านี้

นอกจาก measure แล้ว Calculated Column (New Column) และ Calculated Table (New Table) ก็เจอปัญหาเดียวกัน

ปัญหานี้เผลอ ๆ ไมโครซอฟต์จะไม่รู้ เพราะเป็นปัญหาเฉพาะทางมาก
ในทางปฏิบัติแล้วไม่มีทางที่ชื่อ measure จะขึ้นต้นด้วย “อักขระห้ามนำ” เพราะสระพวกนี้ต้องการพยัญชนะนำหน้าเสมอ

การเจอปัญหาจึงมีเพียงเคสเดียว คือสะกดผิด และผิดแบบ human error …

งั้นแปลว่าห้ามตั้งชื่อ measure เป็นภาษาไทย?

ในทางเทคนิคแล้ว สามารถตั้งชื่อ measure เป็นภาษาไทยได้ เช่น

นอกจาก measure แล้ว Calculated Column, Calculated Table ก็ตั้งชื่อเป็นภาษาไทยได้เช่นกัน

แต่การที่ต้องสลับภาษาไปมาบนคีย์บอร์ด มีโอกาสพลั้งมือโดน “อักขระห้ามนำ”
แล้วก็ตูม! แฮงก์ทั้งโปรแกรม

ทางที่ดี เวลาเขียนสูตร DAX ใช้ภาษาอังกฤษเถอะ
ไม่งั้นเดี๋ยว ‘งงแด๊ก’ นะ ^^

ถ้าคุณชอบบทความแนวนี้ อัพเดตบทความใหม่โดยคลิก Like เฟซบุ๊กเพจวิศวกรรีพอร์ต
แชร์ให้เพื่อนอ่านได้นะครับ ยิ่งมีคนอ่าน คนเขียนยิ่งมีกำลังใจครับ ^_^

วิศวกรรีพอร์ต

คนธรรมดาผู้มีประสบการณ์ทำงานหลากหลายตำแหน่ง คลุกคลีกับการทำรีพอร์ตมาโดยตลอด สุดท้ายค้นพบแนวทางของตัวเอง จึงอยากแบ่งปันเคล็ดลับและประสบการณ์ให้กับผู้สนใจ

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.