---
title: DATESWTD – ฟังก์ชันหาช่วงวันที่ตั้งแต่ต้นสัปดาห์ (Week-to-Date)
url: https://www.thepexcel.com/functions/dax/time-intelligence/dateswtd-dax/
type: function-explainer
program: DAX
syntax: "DATESWTD(<calendar>)"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

# DATESWTD – ฟังก์ชันหาช่วงวันที่ตั้งแต่ต้นสัปดาห์ (Week-to-Date)

> DATESWTD คืนตารางวันที่ตั้งแต่ต้นสัปดาห์จนถึงวันที่ในบริบทปัจจุบัน ใช้เป็นตัวกรองเวลาใน CALCULATE เพ

## คำอธิบาย

DATESWTD คืนตารางวันที่ตั้งแต่ต้นสัปดาห์จนถึงวันที่ในบริบทปัจจุบัน ใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณยอดสะสมตั้งแต่ต้นสัปดาห์

## Syntax

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

**Variant**

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

คืนชุดวันที่ตั้งแต่ต้นสัปดาห์ถึงวันที่ล่าสุดในบริบทปัจจุบัน

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| calendar | Yes | Column |  | คอลัมน์วันที่จากตารางวันที่ (Calendar/Date table) ที่มีการแท็ก (Tagged) อย่างถูกต้องเพื่อเป็นตารางวันที่สำหรับ Time Intelligence |

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

### ทำยอดขายสะสมตั้งแต่ต้นสัปดาห์

เหมาะกับรายงานที่ติดตามความคืบหน้ารายสัปดาห์

_เหมาะกับ:_ wtd-total

### ทำ KPI สะสมรายสัปดาห์

เช่น จำนวนออเดอร์สะสมตั้งแต่ต้นสัปดาห์

_เหมาะกับ:_ weekly-kpi

## ตัวอย่าง

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

```excel
Sales WTD =
CALCULATE(
    SUM(Sales[Amount]),
    DATESWTD('Date'[Date])
)
```

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

DATESWTD ส่งคืนตารางของวันที่ (เช่น จันทร์-พฤหัสบดี ถ้าวันนี้เป็นพฤหัสบดี) แล้ว CALCULATE ใช้ตารางนั้นเป็น filter จึงคำนวณยอดขายเฉพาะวันที่อยู่ในช่วงสัปดาห์นั้น

### 2. ตัวอย่างที่ 2: ใช้ VAR เพื่อเปรียบเทียบ WTD และ MTD

```excel
Sales Comparison =
VAR WtdSales = CALCULATE(SUM(Sales[Amount]), DATESWTD('Date'[Date]))
VAR MtdSales = CALCULATE(SUM(Sales[Amount]), DATESMTD('Date'[Date]))
RETURN
    CONCATENATE("WTD: ", WtdSales, " | MTD: ", MtdSales)
```

**ผลลัพธ์:** `แสดงการเปรียบเทียบยอดขายแบบ WTD และ MTD ในเสตริงเดียว`

ใช้ VAR เพื่อสร้างค่า intermediate ก่อนเปรียบเทียบ ทำให้โค้ดอ่านง่ายและปลอดภัยจากการคำนวณซ้ำ

### 3. ตัวอย่างที่ 3: ตรวจสอบวันที่ในช่วง WTD

```excel
WTD Dates Table =
DATESWTD('Date'[Date])
```

**ผลลัพธ์:** `ตารางวันที่ทั้งหมดในช่วง WTD ของวันที่ระบุ`

ใช้เป็น calculated table เพื่อดูว่าวันไหนบ้างที่อยู่ในช่วง WTD ของบริบทปัจจุบัน ใช้สำหรับการตรวจสอบหรือสร้าง drill-down reports

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

- เข้าใจความสัมพันธ์: DATESWTD (ตาราง) + CALCULATE = วิธีตั้งค่า filter context เพื่อคำนวณ WTD

- ถ้าต้องช่วงสะสมแบบอื่น ดู DATESMTD (month-to-date), DATESQTD (quarter-to-date), DATESYTD (year-to-date)

- ใช้ VAR เพื่อเก็บผลลัพธ์ของ CALCULATE(..., DATESWTD(...)) ก่อนนำไปใช้ต่อ - ทำให้อ่านง่ายและ performance ดีขึ้น

- DATESWTD ใช้ filter context ไม่ใช่ row context หลังจากคำนวณ measure หรือ calculated column

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

**Q: ต้นสัปดาห์ของ DATESWTD อิงวันไหน (จันทร์? อาทิตย์)?**

ขึ้นอยู่กับการตั้งค่าตารางวันที่ของคุณ โดยทั่วไปตัวตั้งค่า Week Start Day บอกว่าสัปดาห์เริ่มจากวันไหน ถ้ากำหนดให้สัปดาห์เริ่มจันทร์ DATESWTD ก็จะคืนจันทร์-วันปัจจุบัน ถ้ากำหนดอาทิตย์ก็จะคืนอาทิตย์-วันปัจจุบัน

**Q: DATESWTD คืนค่าอะไร ตารางหรือตัวเลข?**

ตาราง (Table) ประกอบด้วยวันที่ทั้งหมดตั้งแต่ต้นสัปดาห์จนถึงวันปัจจุบัน ไม่ใช่ตัวเลข จึงต้องใช้กับ CALCULATE เพื่อกรองข้อมูล

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

DATESWTD คืนตารางของวันที่ (filter) ส่วน TOTALWTD คืนตัวเลขผลรวมโดยตรง DATESWTD มีความยืดหยุ่นมากกว่า เพราะใช้กับ CALCULATE คำนวณอะไรก็ได้ TOTALWTD คำนวณได้แค่ผลรวม

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

- calculate
- totalwtd
- datesmtd
- datesqtd
- datesytd
- dateadd

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

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

---

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