---
title: STARTOFWEEK – วันเริ่มต้นของสัปดาห์
url: https://www.thepexcel.com/functions/dax/time-intelligence/startofweek-dax/
type: function-explainer
program: DAX
syntax: "STARTOFWEEK(<calendar>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

# STARTOFWEEK – วันเริ่มต้นของสัปดาห์

> STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกล

## คำอธิบาย

STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table

## Syntax

```excel
STARTOFWEEK(&lt;calendar&gt;)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| calendar | Yes | Calendar Reference |  | ปฏิทิน/ตารางวันที่ที่ใช้กำหนดขอบเขตสัปดาห์ (ต้องเป็น Date Table ที่กำหนดไว้ในโมเดล) |

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

### หาวันเริ่มสัปดาห์เพื่อทำขอบเขตสัปดาห์

แปลงเป็นค่าเดี่ยวแล้วใช้ทำตรรกะช่วงสัปดาห์

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

### คำนวณค่า ณ วันเริ่มสัปดาห์

ใช้เป็นตัวกรองเพื่อประเมิน measure ณ จุดเริ่มสัปดาห์

_เหมาะกับ:_ value-at-week-start

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ดึงวันแรกของสัปดาห์เป็นค่าเดี่ยว

```excel
Week Start Date =
MINX(
    STARTOFWEEK('Date'),
    'Date'[Date]
)
```

**ผลลัพธ์:** `วันที่เป็น scalar (เช่น 2024-12-23) ที่เป็นวันแรกของสัปดาห์`

STARTOFWEEK คืนตาราง 1 แถว MINX ดึงคอลัมน์วันที่ออกมาเป็นค่าเดี่ยว

### 2. ตัวอย่างที่ 2: วัดยอดขายตั้งแต่ต้นสัปดาห์

```excel
Sales from Week Start =
CALCULATE(
    SUM(Sales[Amount]),
    'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date])
)
```

**ผลลัพธ์:** `ยอดขายสะสมตั้งแต่วันแรกของสัปดาห์ถึงวันปัจจุบัน`

รวม Amount ตั้งแต่วันเริ่มสัปดาห์ (ใช้ >= เพื่อเทียบวันที่)

### 3. ตัวอย่างที่ 3: ใช้เป็นตัวกรอง Filter Context

```excel
Opening Balance Week =
CALCULATE(
    [Balance],
    STARTOFWEEK('Date')
)
```

**ผลลัพธ์:** `ค่า Balance ณ วันเริ่มสัปดาห์`

STARTOFWEEK ทำการ Filter Context Transition กำหนด 'Date' ให้เป็นวันแรกของสัปดาห์

### 4. ตัวอย่างที่ 4: จับคู่กับ ENDOFWEEK สำหรับช่วงวันที่

```excel
Weekly Sales Range =
CALCULATE(
    SUM(Sales[Amount]),
    'Date'[Date] >= MINX(STARTOFWEEK('Date'), 'Date'[Date]),
    'Date'[Date] <= MINX(ENDOFWEEK('Date'), 'Date'[Date])
)
```

**ผลลัพธ์:** `ยอดขายสำหรับสัปดาห์ปัจจุบัน (ตั้งแต่วันแรกถึงวันสุดท้าย)`

กำหนดช่วงวันที่เต็มสัปดาห์ด้วย STARTOFWEEK และ ENDOFWEEK

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

- สำหรับตัวชี้วัดแบบ Period-to-Date (MTD, QTD, WTD) ให้ใช้ DATESBETWEEN กับ STARTOFWEEK และ TODAY() เพื่อความยืดหยุ่น

- ถ้าต้องการวันสุดท้ายของสัปดาห์ใช้ ENDOFWEEK คู่กันเสมอ

- เวลาเขียน Measure ที่มี STARTOFWEEK ให้ใช้ VAR เก็บค่า MINX ไว้ก่อน แล้วใช้ VAR นั้นในการเปรียบเทียบ ช่วยให้อ่านง่ายขึ้น

- ตรวจสอบว่า Date Table ของคุณมีคอลัมน์วันสัปดาห์ที่สัมพันธ์กับผลการคำนวณของ STARTOFWEEK ถ้าไม่ตรงกันอาจต้องออกแบบใหม่

- STARTOFWEEK เหมือนสัญญาน้อย ที่บอกว่า 'ฉันจะหาวันแรกตามปฏิทินของเธอ' ทำให้ Code ระหว่างองค์กรสอดคล้องกัน

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

**Q: ทำไม STARTOFWEEK ต้อง MINX ด้วย?**

เพราะ STARTOFWEEK คืนตาราง ไม่ใช่ค่าเดี่ยว MINX (หรือ MIN) ดึงคอลัมน์วันที่ออกมาเป็นค่า scalar ที่สามารถใช้ในการเปรียบเทียบได้

**Q: สัปดาห์เริ่มวันไหน?**

ขึ้นอยู่กับตารางวันที่ของคุณ ตรวจสอบคอลัมน์ Week Start หรือคำนิยามสัปดาห์ใน Date Table ถ้าธุรกิจคุณเริ่มสัปดาห์จันทร์ ตารางวันที่ควรจะเสร็จแล้ว

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

STARTOFWEEK หาวันแรกของสัปดาห์ STARTOFMONTH หาวันแรกของเดือน STARTOFQUARTER หาวันแรกของไตรมาส STARTOFYEAR หาวันแรกของปี

**Q: ใช้ได้ในตัวชี้วัด (Measure) หรือ Calculated Column?**

ทั้งสองได้ แต่ Calculated Column จะต้องไม่ใช้ Filter Context ที่ขึ้นอยู่กับ Slicer เพราะ Calculated Column ประเมินครั้งเดียวตอนโหลดข้อมูล

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

DATEADD ย้ายวันที่ไปข้างหน้า/ข้างหลัง STARTOFWEEK หาขอบเขตวันแรก DATEADD เป็น offset STARTOFWEEK เป็น boundary

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

- endofweek
- startofmonth
- previousweek
- calculate
- minx
- datesbetween
- [WEEKDAY – หาวันในสัปดาห์จากวันที่](https://www.thepexcel.com/functions/dax/date-and-time/weekday-dax/)
- [FILTER – กรองตารางด้วยเงื่อนไขที่ซับซ้อน (Iterator Function)](https://www.thepexcel.com/functions/dax/filter/filter-dax/)

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

- [Microsoft DAX STARTOFWEEK Reference](https://learn.microsoft.com/en-us/dax/startofweek-function-dax) _(official)_
- [DAX.guide - STARTOFWEEK](https://dax.guide/startofweek/) _(guide)_
- [SQLBI - Time Intelligence Functions](https://www.sqlbi.com/articles/time-intelligence-in-dax/) _(guide)_

---

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