ฟังก์ชัน ENDOFWEEK คืนตารางวันที่ที่แสดงวันสิ้นสุดของสัปดาห์ตามบริบทวันที่ปัจจุบัน ใช้สำหรับการวิเคราะห์ข้อมูลตามระดับสัปดาห์ และการเปรียบเทียบเมตริกส์ณวันปิดสัปดาห์
=ENDOFWEEK(<Calendar>)
=ENDOFWEEK(<Calendar>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Calendar | Column | Yes | คอลัมน์วันที่จาก Marked Date Table ที่ต้องมีคุณสมบัติปฏิทินมาตรฐาน (Year, Month, Week, Day เป็นต้น) |
เช่น ยอด/จำนวน ณ จุดปิดสัปดาห์
สรุปผลรายสัปดาห์ที่อิงวันสิ้นสัปดาห์
Sales at Week End = CALCULATE( SUM(Sales[Amount]), ENDOFWEEK('Date'[Date]) )Sales at Week End =
CALCULATE(
SUM(Sales[Amount]),
ENDOFWEEK('Date'[Date])
)
จำนวนยอดขายทั้งหมดในวันสิ้นสัปดาห์ของบริบท
Sales Week vs Previous = VAR CurrentWeekEnd = CALCULATE( SUM(Sales[Amount]), ENDOFWEEK('Date'[Date]) ) VAR PreviousWeekEnd = CALCULATE( SUM(Sales[Amount]), ENDO…Sales Week vs Previous =
VAR CurrentWeekEnd = CALCULATE(
SUM(Sales[Amount]),
ENDOFWEEK('Date'[Date])
)
VAR PreviousWeekEnd = CALCULATE(
SUM(Sales[Amount]),
ENDOFWEEK(DATEADD('Date'[Date], -1, WEEK))
)
RETURN
DIVIDE(CurrentWeekEnd, PreviousWeekEnd, 0) - 1
อัตราการเปลี่ยนแปลงยอดขายเทียบกับสัปดาห์ที่แล้ว
Debug_EndOfWeek_Table = ENDOFWEEK('Date'[Date])Debug_EndOfWeek_Table =
ENDOFWEEK('Date'[Date])
แสดงตาราง 1 แถว (แถวของวันสิ้นสัปดาห์) พร้อมคอลัมน์ปฏิทินทั้งหมด
ขึ้นอยู่กับ Marked Date Table ของคุณ ส่วนมากจะเป็นวันเสาร์หรือวันอาทิตย์ คุณสามารถเปลี่ยนได้ในการตั้งค่า Date Table หรือใช้ STARTOFWEEK พร้อม return_type พารามิเตอร์
ENDOFMONTH หาวันสิ้นเดือน (ซึ่งเป็นวันสุดท้ายของเดือนเสมอ เช่น 31 มีนาคม) ส่วน ENDOFWEEK หาวันสิ้นสัปดาห์ (ซึ่งเป็นวันที่เปลี่ยนแปลงตามสัปดาห์)
ENDOFWEEK คืนเพียงวันเดียว (วันสิ้นสัปดาห์) ส่วน DATESWTD คืนช่วงวันตั้งแต่ต้นสัปดาห์ถึงวันปัจจุบัน (หลายแถว)
เพราะว่า DAX ต้องรู้ว่าตารางใดเป็นตารางวันที่ เพื่อให้สามารถใช้ฟังก์ชันเวลาต่าง ๆ ได้ ถ้าไม่มี Marked Date Table ฟังก์ชันนี้จะหาระยะเวลาไม่ได้
ENDOFWEEK เป็นฟังก์ชันเวลาหลักของ DAX ที่ส่งคืนตารางวันที่ (Date Table) ของวันสิ้นสัปดาห์ในบริบทวันที่ปัจจุบัน แต่ต่างจากการเขียน Formula ทั่วไป มันทำงานด้วย “Context Transition” ซึ่งหมายความว่า มันเปลี่ยนจาก Row Context ไปเป็น Filter Context โดยอัตโนมัติ
ส่วนที่เจ๋งคือ ENDOFWEEK ใช้ประโยชน์จาก “Marked Date Table” ของคุณ ซึ่งต้องมี Column ที่ Standard หลายชั้น (Year, Month, Week, etc.) เซ็ตไว้แล้ว ตัวฟังก์ชันจึงรู้ว่า “วันสิ้นสัปดาห์” คือวันไหน
ส่วนตัวผม คิดว่า ENDOFWEEK เป็นตัวช่วยที่สำคัญสำหรับการวิเคราะห์ KPI รายสัปดาห์ เพราะว่า บ่อยครั้งเจ้าของธุรกิจอยากเห็นตัวเลข “ณ วันปิดสัปดาห์” แล้วเปรียบเทียบกับสัปดาห์ที่แล้ว นั่นคือการใช้งาน ENDOFWEEK อย่างแท้จริง