WEEKDAY คืนค่าเลขวันในสัปดาห์ (1-7) จากวันที่ที่กำหนด สามารถปรับรูปแบบให้เริ่มจากอาทิตย์หรือจันทร์ได้ตามต้องการ เหมาะสำหรับการแยกวันทำงาน วันหยุด หรือวิเคราะห์พฤติกรรมตามวัน
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| Date | datetime | วันที่หรือเวลาที่ต้องการหาค่าวันในสัปดาห์ สามารถเป็นคอลัมน์วันที่ หรือ TODAY() หรือ DATE() function | |
| [ReturnType]ไม่บังคับ | integer | 1 | กำหนดรูปแบบการนับวัน (ใช้เลขใด 1-7 หรือ 0-6 และวันไหนเริ่มสัปดาห์) – ค่าตั้งต้นคือ 1 |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
WEEKDAY เป็นฟังก์ชันที่แปลงวันที่ให้เป็นหมายเลขวันในสัปดาห์ สามารถเลือก ReturnType เพื่อกำหนดว่าสัปดาห์จะเริ่มที่วันไหน (อาทิตย์ หรือจันทร์) ทำให้ได้ค่าเลขที่ตรงกับการใช้งานจริงของคุณ
ที่เจ๋งคือ ReturnType มีหลายตัวเลือก ตั้งแต่ 1-17 ซึ่งให้ความยืดหยุ่นในการกำหนดวันเริ่มต้นสัปดาห์ เช่น ถ้าองค์กรคุณใช้เริ่มจันทร์ ก็ใช้ ReturnType 2 แล้วจันทร์จะเป็น 1 แทน ทำให้การเขียน logic วันหยุดหรือวันทำงานง่ายขึ้น
ส่วนตัวผมแนะนำให้รู้ค่าความหมายของแต่ละ ReturnType ก่อน เพราะถ้ากำหนดผิด ค่าเลขก็จะไม่ตรงกับการตีความในรายงาน ส่วนใหญ่ผมใช้ ReturnType 2 (จันทร์=1 ถึง อาทิตย์=7) เพราะสอดคล้องกับปฏิทินทั่วไป
เช่น ใช้ WEEKDAY แล้วตรวจว่าค่าอยู่ในช่วงวันเสาร์-อาทิตย์หรือไม่
สร้างเลขวันในสัปดาห์เพื่อใช้จัดกลุ่มและทำกราฟ
ใช้ค่าตั้งต้น ReturnType 1 ให้อาทิตย์เป็นวันแรกของสัปดาห์ เหมาะกับรายงานตะวันตก
ใช้ ReturnType 2 ให้จันทร์เป็นวันแรก ซึ่งตรงกับปฏิทินส่วนใหญ่ของโลก
เมื่อใช้ ReturnType 2 วันเสาร์ (6) และอาทิตย์ (7) จะมีค่า >= 6 ทำให้ตรวจสอบวันหยุดง่ายขึ้น
ใช้ VAR เก็บค่า WEEKDAY ไว้ แล้ว SWITCH เพื่อแปลงเป็นชื่อวันที่อ่านง่าย
ReturnType 1 (ค่าตั้งต้น): อาทิตย์=1, เสาร์=7 | ReturnType 2: จันทร์=1, อาทิตย์=7 | ReturnType 3: จันทร์=0, อาทิตย์=6 ส่วนตัวผมชอบใช้ ReturnType 2 มากที่สุด เพราะตรงกับปฏิทินธรรมชาติของคนเอเชีย
WEEKDAY คืนค่า 1-7 แทนวันในสัปดาห์ (จันทร์, อังคาร…) ส่วน WEEKNUM คืนค่า 1-52/53 แทนสัปดาห์ที่เท่าไหร่ของปีนั้น ตัวอย่างเช่น "วันนี้คือจันทร์ (WEEKDAY=1) ของสัปดาห์ที่ 10 ของปี (WEEKNUM=10)"
ใช้ได้ แต่การเลือก ReturnType ที่เหมาะสมจะทำให้เขียน logic ง่ายขึ้น เช่นถ้าใช้ ReturnType 1 อาทิตย์=1 แต่โลกส่วนใหญ่นับสัปดาห์เริ่มจันทร์ จึงอาจทำให้สับสน ผมแนะนำให้เลือก ReturnType ที่ตรงกับโดเมนของงาน (ประเทศ, ธรรมชาติการทำงาน)
WEEKDAY เป็น scalar function ที่คืนค่าเดียว (เลข 1-7) ใช้ได้ใน Calculated Columns, Measures, Calculated Tables ผมมักใช้ใน Calculated Column มากที่สุด เพราะสะดวกในการสร้างคอลัมน์ helper เพื่อวิเคราะห์ต่อไป
ฟังก์ชันที่ผู้เขียนโยงไว้กับ WEEKDAY จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างค่าวันที่จากตัวเลข Year/Month/Day แล้วคืนค่าเป็นชนิด datetime เหมาะกับการประกอบวันที่จากคอลัมน์แยกส่วนหรือสร้างวันที่อ้างอิง เช่น วันแรกของเดือน วันตัดยอด
DATEVALUE แปลงข้อความวันที่ (text) ให้เป็น datetime โดยอ้างอิงตามการตั้งค่า locale ของ model เหมาะกับข้อมูลวันที่ที่เก็บเป็นข้อความและต้องแปลงเป็นวันที่จริงเพื่อการคำนวณตามเวลา
DAY คืนค่าเลขวันของเดือนจากค่าวันที่/เวลา (1–31) เป็นฟังก์ชันพื้นฐานสำหรับการวิเคราะห์ตามวันของเดือน การจัดกลุ่ม และการสร้างคอลัมน์ช่วย
MONTH ดึงเลขเดือน (integer 1-12) จากค่า datetime โดยรับ input เป็น datetime value, column reference, หรือ text representation ของวันที่ และคืนค่าตั้งแต่ 1 (มกราคม) ถึง 12 (ธันวาคม) ตาม Gregorian calendar ใช้สร้าง calculated column ใน Date table เพื่อเป็น sort column สำหรับชื่อเดือน และใช้ใน measure เพื่อสร้าง conditional logic กับ custom time intelligence calculations
ดึงปีจากวันที่ในรูปแบบตัวเลข 4 หลัก สำหรับวิเคราะห์ข้อมูลตามปี
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่