---
title: ENDOFWEEK – หาวันสุดท้ายของสัปดาห์ในบริบทปัจจุบัน
url: https://www.thepexcel.com/functions/dax/time-intelligence/endofweek-dax/
type: function-explainer
program: DAX
syntax: "ENDOFWEEK(<Calendar>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

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

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

## คำอธิบาย

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

## Syntax

```excel
ENDOFWEEK(&lt;Calendar&gt;)
```

**Variant**

```excel
ENDOFWEEK(&lt;Calendar&gt;)
```

คืนตารางวันที่ของวันสิ้นสัปดาห์ตามบริบทวันที่

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ evaluate-at-week-end

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

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

_เหมาะกับ:_ week-end-reporting

## ตัวอย่าง

### 1. ตัวอย่าง 1: ประเมินยอดขายณ วันสิ้นสัปดาห์

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

**ผลลัพธ์:** `จำนวนยอดขายทั้งหมดในวันสิ้นสัปดาห์ของบริบท`

ENDOFWEEK คืนตาราง Date ที่มีเพียงวันเดียว (วันสิ้นสัปดาห์) แล้ว CALCULATE ใช้เป็น Filter ทำให้สรุปข้อมูลได้ถูกต้อง

### 2. ตัวอย่าง 2: หากต้องการเปรียบเทียบกับสัปดาห์ก่อนหน้า

```excel
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
```

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

VAR ช่วยเก็บผลลัพธ์ระหว่างทาง ENDOFWEEK ทำงานร่วมกับ DATEADD เพื่อเปรียบเทียบสัปดาห์ที่ต่างกัน

### 3. ตัวอย่าง 3: ตรวจสอบตารางที่ ENDOFWEEK คืนมา

```excel
Debug_EndOfWeek_Table =
ENDOFWEEK('Date'[Date])
```

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

ใช้เมื่อต้องการตรวจสอบว่า ENDOFWEEK คืนข้อมูลอะไรจริง ๆ

## หมายเหตุเพิ่มเติม

- ใช้ ENDOFWEEK กับ CALCULATE เพื่อให้ได้ค่ามาตรฐานที่วันปิดสัปดาห์

- คู่กับ STARTOFWEEK เพื่อสร้างช่วง Week-to-Date

- ถ้าต้องเปรียบเทียบกับสัปดาห์ที่แล้ว ใช้ DATEADD พร้อมกับ ENDOFWEEK

- สำหรับการจัดกลุ่มข้อมูลตามสัปดาห์ ให้ใช้คอลัมน์ Week_Num จากตาราง Date แทนการเขียนฟังก์ชัน

## คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- calculate
- dateswtd
- endofmonth
- endofquarter
- endofyear
- previousweek

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft DAX Reference: ENDOFWEEK](https://learn.microsoft.com/en-us/dax/endofweek-function-dax) _(official)_
- [DAX.guide: ENDOFWEEK](https://dax.guide/endofweek/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/time-intelligence/endofweek-dax/](https://www.thepexcel.com/functions/dax/time-intelligence/endofweek-dax/)_
