Enumeration type ที่แทนค่าวันในสัปดาห์ (0-6) สำหรับใช้กับฟังก์ชันหรือการเปรียบเทียบในการจัดการข้อมูลตามวัน
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| [Day.Sunday]ไม่บังคับ | Day enumeration | แทนค่า 0 (วันอาทิตย์) |
| [Day.Monday]ไม่บังคับ | Day enumeration | แทนค่า 1 (วันจันทร์) |
| [Day.Tuesday]ไม่บังคับ | Day enumeration | แทนค่า 2 (วันอังคาร) |
| [Day.Wednesday]ไม่บังคับ | Day enumeration | แทนค่า 3 (วันพุธ) |
| [Day.Thursday]ไม่บังคับ | Day enumeration | แทนค่า 4 (วันพฤหัสบดี) |
| [Day.Friday]ไม่บังคับ | Day enumeration | แทนค่า 5 (วันศุกร์) |
| [Day.Saturday]ไม่บังคับ | Day enumeration | แทนค่า 6 (วันเสาร์) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Day.Type คือ enumeration type ในPower Query ที่ใช้แทนค่าวันในสัปดาห์ได้ครบ 7 วัน ตั้งแต่ Sunday (0) ไปถึง Saturday (6) และเมื่อใช้กับฟังก์ชันต่างๆ มันจะถูกแปลงเป็นตัวเลขอัตโนมัติ
ที่เจ๋งคือ Day.Type ช่วยให้โค้ด M อ่านง่ายขึ้นมาก แทนที่จะเขียนตัวเลข 0-6 โดยตรง คุณเขียน Day.Monday หรือ Day.Friday ซึ่งชัดเจนว่ากำลังหมายถึงวันอะไร
ส่วนตัวผมใช้ Day.Type เมื่อต้อง Filter หรือ Group ข้อมูลตามวันในสัปดาห์ เช่น หาวันหยุดสุดสัปดาห์หรือจัดกำหนดการตามวันทำงาน มันทำให้ Logic ชัดเจนและง่ายต่อการแก้ไขในอนาคต 😎
วันที่ 15 มกราคม 2025 คือวันพุธ (ค่า 3) เมื่อ Sunday = 0 ผม Day.Sunday ให้ Day.DayOfWeek เป็นอ้างอิง ตัวเลขทีส่ดจะนับจาก Sunday
วันเดียวกัน แต่เปลี่ยนอ้างอิงเป็น Monday (1) ตอนนี้ Wednesday มีค่า 2 เพราะเรานับจาก Monday เป็นวันแรก
วันที่ 15 ตรงกับ Wednesday ผมใช้ Day.Monday เป็นอ้างอิง ฟังก์ชันจึงเลื่อนกลับไปวันจันทร์ที่ 13 มกราคม เพื่อเป็นวันแรกของสัปดาห์
วันที่ 17 มกราคม 2025 คือวันศุกร์ เมื่อเปรียบเทียบกับ Day.Friday (5) ผลลัพธ์คือ true ที่เจ๋งคือไม่ต้องจำว่า Friday คือเลข 5 หรือ 4
Day.Type คือ enumeration ที่ Power Query สร้างให้เพื่อให้โค้ด M อ่านเข้าใจง่าย แทนที่ต้องจำว่าเลข 0 = Sunday, 1 = Monday… ผมเขียน Day.Sunday, Day.Monday ได้เลย ค่าที่เก็บไว้ยังคงเป็นตัวเลขอยู่นั่นแหละ แต่อ่านแล้วชัดเจนกว่าเยอะ
ผมใช้ Day.Type กับฟังก์ชันที่เกี่ยวข้องกับการจัดการสัปดาห์เป็นหลัก เช่น Date.DayOfWeek(), Date.StartOfWeek(), Date.EndOfWeek() เมื่อมีพารามิเตอร์ firstDayOfWeek อยู่ ก็ส่ง Day.Monday หรือวันไหนเข้าไปได้เลย
ส่วนตัวผมพบว่าฟังก์ชันจะใช้ default setting ของระบบ ซึ่งมักจะเป็น Sunday หรือตามการตั้งค่า Culture ของเครื่องคุณ ถ้าต้องการให้ผลลัพธ์ Consistent ทุกเครื่องทุกที่ ผมแนะนำให้ระบุ Day.Type ไว้เสมอ
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Day.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Date.Day ใช้สำหรับดึงเลขวันที่จากค่าวันที่ หรือวันที่และเวลาใด ๆ ผลลัพธ์คือตัวเลขระหว่าง 1-31 ที่บอกวันของเดือนนั้น ฟังก์ชันนี้มีประโยชน์มากเมื่อเราต้องการแยกส่วนประกอบของวันที่ออกมาใช้งาน
แปลงวันที่ให้เป็นตัวเลข 0-6 แทนวันในสัปดาห์ (0=อาทิตย์ โดยค่าเริ่มต้น)
คืนค่าวันสุดท้ายของสัปดาห์
Date.Month ดึงค่าตัวเลขเดือน (1-12) จากข้อมูลวันที่ใดๆ เหมาะสำหรับการจัดกลุ่มและวิเคราะห์ข้อมูลตามรอบเดือน
คืนค่าวันแรกของสัปดาห์
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่