Thep Excel

ENDOFWEEK – หาวันสุดท้ายของสัปดาห์ในบริบทปัจจุบัน

ฟังก์ชัน ENDOFWEEK คืนตารางวันที่ที่แสดงวันสิ้นสุดของสัปดาห์ตามบริบทวันที่ปัจจุบัน ใช้สำหรับการวิเคราะห์ข้อมูลตามระดับสัปดาห์ และการเปรียบเทียบเมตริกส์ณวันปิดสัปดาห์

=ENDOFWEEK(<Calendar>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

=ENDOFWEEK(<Calendar>)

Argument Type Required Default Description
Calendar Column Yes คอลัมน์วันที่จาก Marked Date Table ที่ต้องมีคุณสมบัติปฏิทินมาตรฐาน (Year, Month, Week, Day เป็นต้น)

How it works

ประเมิน KPI ณ วันสิ้นสัปดาห์

เช่น ยอด/จำนวน ณ จุดปิดสัปดาห์

ทำรายงานปิดสัปดาห์

สรุปผลรายสัปดาห์ที่อิงวันสิ้นสัปดาห์

Examples

ตัวอย่าง 1: ประเมินยอดขายณ วันสิ้นสัปดาห์
Sales at Week End = CALCULATE( SUM(Sales[Amount]), ENDOFWEEK('Date'[Date]) )
ENDOFWEEK คืนตาราง Date ที่มีเพียงวันเดียว (วันสิ้นสัปดาห์) แล้ว CALCULATE ใช้เป็น Filter ทำให้สรุปข้อมูลได้ถูกต้อง
DAX Formula:

Sales at Week End =
CALCULATE(
    SUM(Sales[Amount]),
    ENDOFWEEK('Date'[Date])
)

Result:

จำนวนยอดขายทั้งหมดในวันสิ้นสัปดาห์ของบริบท

ตัวอย่าง 2: หากต้องการเปรียบเทียบกับสัปดาห์ก่อนหน้า
Sales Week vs Previous = VAR CurrentWeekEnd = CALCULATE( SUM(Sales[Amount]), ENDOFWEEK('Date'[Date]) ) VAR PreviousWeekEnd = CALCULATE( SUM(Sales[Amount]), ENDO…
VAR ช่วยเก็บผลลัพธ์ระหว่างทาง ENDOFWEEK ทำงานร่วมกับ DATEADD เพื่อเปรียบเทียบสัปดาห์ที่ต่างกัน
DAX Formula:

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

Result:

อัตราการเปลี่ยนแปลงยอดขายเทียบกับสัปดาห์ที่แล้ว

ตัวอย่าง 3: ตรวจสอบตารางที่ ENDOFWEEK คืนมา
Debug_EndOfWeek_Table = ENDOFWEEK('Date'[Date])
ใช้เมื่อต้องการตรวจสอบว่า ENDOFWEEK คืนข้อมูลอะไรจริง ๆ
DAX Formula:

Debug_EndOfWeek_Table =
ENDOFWEEK('Date'[Date])

Result:

แสดงตาราง 1 แถว (แถวของวันสิ้นสัปดาห์) พร้อมคอลัมน์ปฏิทินทั้งหมด

FAQs

วันสิ้นสัปดาห์ถูกกำหนดอย่างไร?

ขึ้นอยู่กับ Marked Date Table ของคุณ ส่วนมากจะเป็นวันเสาร์หรือวันอาทิตย์ คุณสามารถเปลี่ยนได้ในการตั้งค่า Date Table หรือใช้ STARTOFWEEK พร้อม return_type พารามิเตอร์

ต่างจาก ENDOFMONTH อย่างไร?

ENDOFMONTH หาวันสิ้นเดือน (ซึ่งเป็นวันสุดท้ายของเดือนเสมอ เช่น 31 มีนาคม) ส่วน ENDOFWEEK หาวันสิ้นสัปดาห์ (ซึ่งเป็นวันที่เปลี่ยนแปลงตามสัปดาห์)

ต่างจาก DATESWTD อย่างไร?

ENDOFWEEK คืนเพียงวันเดียว (วันสิ้นสัปดาห์) ส่วน DATESWTD คืนช่วงวันตั้งแต่ต้นสัปดาห์ถึงวันปัจจุบัน (หลายแถว)

ทำไม ENDOFWEEK ต้องใช้ Marked Date Table?

เพราะว่า DAX ต้องรู้ว่าตารางใดเป็นตารางวันที่ เพื่อให้สามารถใช้ฟังก์ชันเวลาต่าง ๆ ได้ ถ้าไม่มี Marked Date Table ฟังก์ชันนี้จะหาระยะเวลาไม่ได้

Resources & Related

Additional Notes

ENDOFWEEK เป็นฟังก์ชันเวลาหลักของ DAX ที่ส่งคืนตารางวันที่ (Date Table) ของวันสิ้นสัปดาห์ในบริบทวันที่ปัจจุบัน แต่ต่างจากการเขียน Formula ทั่วไป มันทำงานด้วย “Context Transition” ซึ่งหมายความว่า มันเปลี่ยนจาก Row Context ไปเป็น Filter Context โดยอัตโนมัติ

ส่วนที่เจ๋งคือ ENDOFWEEK ใช้ประโยชน์จาก “Marked Date Table” ของคุณ ซึ่งต้องมี Column ที่ Standard หลายชั้น (Year, Month, Week, etc.) เซ็ตไว้แล้ว ตัวฟังก์ชันจึงรู้ว่า “วันสิ้นสัปดาห์” คือวันไหน

ส่วนตัวผม คิดว่า ENDOFWEEK เป็นตัวช่วยที่สำคัญสำหรับการวิเคราะห์ KPI รายสัปดาห์ เพราะว่า บ่อยครั้งเจ้าของธุรกิจอยากเห็นตัวเลข “ณ วันปิดสัปดาห์” แล้วเปรียบเทียบกับสัปดาห์ที่แล้ว นั่นคือการใช้งาน ENDOFWEEK อย่างแท้จริง

Leave a Reply

Your email address will not be published. Required fields are marked *