Date.WeekOfYear ใช้หาว่าวันที่ที่กำหนดตกอยู่ในสัปดาห์ที่เท่าไหร่ของปี (1-54) ช่วยในการวิเคราะห์และจัดกลุ่มข้อมูลตามสัปดาห์
=Date.WeekOfYear(dateTime as any, optional firstDayOfWeek as nullable number) as nullable number
=Date.WeekOfYear(dateTime as any, optional firstDayOfWeek as nullable number) as nullable number
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| dateTime | datetime | Yes | วันที่ที่ต้องการหาเลขสัปดาห์ | |
| firstDayOfWeek | number (Day.Type) | Optional | Day.Sunday (หรือตามภูมิภาค) | วันที่เป็นวันแรกของสัปดาห์ เช่น Day.Sunday หรือ Day.Monday ถ้าไม่ระบุจะใช้ค่า default ของระบบ |
Date.WeekOfYear(#date(2011, 3, 27))=Date.WeekOfYear(#date(2011, 3, 27))
14
Date.WeekOfYear(#date(2011, 3, 27), Day.Monday)=Date.WeekOfYear(#date(2011, 3, 27), Day.Monday)
13
Date.WeekOfYear(#date(2011, 1, 1))=Date.WeekOfYear(#date(2011, 1, 1))
1
Date.WeekOfYear(#date(2011, 12, 25))=Date.WeekOfYear(#date(2011, 12, 25))
51
เพราะว่าวันที่เริ่มตั้งแต่จันทร์ถึงอาทิตย์ เมื่อวันแรกของสัปดาห์เปลี่ยน วันที่เดียวกันอาจตกอยู่ในสัปดาห์ที่ต่างกัน ผมแนะนำให้เลือกวันแรกของสัปดาห์ให้ตรงกับความต้องการของงาน เช่นงานไทยมักเริ่มจากวันจันทร์
บางปีมีวันวันพิเศษหรือการนับสัปดาห์อบรมขึ้นอยู่กับการกำหนดตัวเลข เพราะปีเป็นวัฏจักรและไม่สามารถแบ่งออกเป็นสัปดาห์เท่า ๆ กันได้เสมอไป
ได้เลย ผมใช้มันเป็นประจำในการ Transform ข้อมูล แค่ใส่เป็น Custom Column ใน Power Query Editor ก็สามารถใช้ได้เท่าทีเดียว
Date.WeekOfYear จะส่งกลับเลขจำนวนเต็มแสดงว่าวันที่นั้นอยู่ในสัปดาห์ที่เท่าไหร่ของปี โดยจะคืนค่าระหว่าง 1 ถึง 54 ซึ่งสามารถระบุได้ว่าวันไหนเป็นวันแรกของสัปดาห์ (วันจันทร์หรือวันอาทิตย์)
ที่เจ๋งคือ ผมชอบใช้ฟังก์ชันนี้เพราะมันยืดหยุ่นมาก – สามารถเลือกว่าสัปดาห์จะเริ่มจากวันไหนก็ได้ ซึ่งสำคัญมากเมื่อทำงานกับข้อมูลที่ต้องการรูปแบบสัปดาห์ตามประเทศต่างๆ
ส่วนตัวผม ผมใช้ Date.WeekOfYear ประกอบกับ Date.StartOfWeek เพื่อสร้างรายงานรายสัปดาห์ที่ชัดเจน มันทำให้การจัดกลุ่มข้อมูลตามช่วงเวลาง่ายมากขึ้น 😎