Thep Excel

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

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

fx
=DATESWTD(<calendar>)

ความนิยม6/10
ความยาก4/10
ประโยชน์6/10

อัปเดต 13 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
calendar Column คอลัมน์วันที่จากตารางวันที่ (Calendar/Date table) ที่มีการแท็ก (Tagged) อย่างถูกต้องเพื่อเป็นตารางวันที่สำหรับ Time Intelligence

Additional Notes

DATESWTD คืนค่าเป็นตารางของวันที่ทั้งหมด ตั้งแต่วันแรกของสัปดาห์จนถึงวันที่อยู่ในบริบทปัจจุบัน ส่วนใหญ่ใช้ในการสร้าง filter context ร่วมกับ CALCULATE เพื่อคำนวณยอดสะสมตั้งแต่ต้นสัปดาห์ (Week-to-Date หรือ WTD).

ที่เจ๋งเกี่ยวกับ DATESWTD คือมันทำงานโดยไม่สนใจ filter context ที่มีอยู่เดิม เมื่อเรียกใช้มันจะ “รีเซ็ต” วันที่และคืนช่วงสัปดาห์ที่แน่นอนตามวันที่ในบริบท ถ้าวันนี้เป็นวันพฤหัสบดี มันก็จะคืนวันจันทร์ถึงพฤหัสบดี (หรือวันแรกถึงวันที่ 4 ของสัปดาห์ ขึ้นอยู่กับการตั้งค่า).

ส่วนตัวผม DATESWTD นั้นมีประโยชน์มาก เพราะมันแก้ปัญหา “วันไหนเป็นต้นสัปดาห์” ให้เรา – ไม่ต้องเขียน FILTER เพื่อหาวันต่างๆ เพียงแค่เรียกมันและบูม! ได้ช่วงวันที่ที่ถูกต้องแล้ว ถ้าทำให้เข้าใจ time intelligence functions นี่ถือว่าสำเร็จแล้ว 😎

How it works

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

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

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

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

Examples

ตัวอย่างที่ 1: ยอดขายสะสมตั้งแต่ต้นสัปดาห์Sales WTD = CALCULATE( SUM(Sales[Amount]), DATESWTD('Date'[Date]) )

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

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

ผลลัพธ์ยอดขายรวมตั้งแต่วันแรกของสัปดาห์จนถึงวันที่ระบุ
ตัวอย่างที่ 2: ใช้ VAR เพื่อเปรียบเทียบ WTD และ MTDSales Comparison = VAR WtdSales = CALCULATE(SUM(Sales[Amount]), DATESWTD('Date'[Date])) VAR MtdSales = CALCULATE(SUM(Sales[Amount]), DATESMTD('Date'[Date])) RET…

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

fx
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 ในเสตริงเดียว
ตัวอย่างที่ 3: ตรวจสอบวันที่ในช่วง WTDWTD Dates Table = DATESWTD('Date'[Date])

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

fx
WTD Dates Table =
DATESWTD('Date'[Date])

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

FAQs

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

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

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

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

ต่างจาก TOTALWTD อย่างไร?+

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

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ DATESWTD จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้DATESWTDTime Intelligence
Time Intelligence (9)
CLOSINGBALANCEWEEK

CLOSINGBALANCEWEEK ประเมินนิพจน์ (มาตรวัด) ที่วันสิ้นสัปดาห์ของบริบทวันที่ปัจจุบัน สำคัญสำหรับรายงานปิดสัปดาห์และ snapshot ยอดคงเหลือ

DATEADD

DATEADD คืนค่าตารางวันที่ ที่ถูกเลื่อนออกไปจากช่วงวันที่ใน Context ปัจจุบัน ตามจำนวน (NumberOfIntervals) และหน่วย (Interval) ที่กำหนด เช่น เลื่อนย้อนหลัง 1 เดือน หรือเลื่อนไปข้างหน้า 1 ปี

DATESBETWEEN

DATESBETWEEN คืนตารางวันที่ที่อยู่ระหว่าง StartDate และ EndDate (รวมวันเริ่ม/วันจบ) เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณตามช่วงวันที่ที่กำหนดเอง

DATESMTD

DATESMTD คืนตารางวันที่ของช่วงตั้งแต่ต้นเดือนถึงวันที่ล่าสุดใน filter context เหมาะกับการทำยอดสะสมตั้งแต่ต้นเดือน (MTD) โดยใช้ร่วมกับ CALCULATE และควรใช้คู่กับ ShowValueForDates pattern เพื่อไม่ให้แสดงค่าในวันที่ยังไม่มีข้อมูล

DATESQTD

DATESQTD คืนตารางวันที่ของช่วงตั้งแต่ต้นไตรมาสถึงวันที่ล่าสุดในบริบทปัจจุบัน เหมาะสำหรับสร้างมาตรวัด QTD ใน CALCULATE โดยทำงานร่วมกับ Time Intelligence Functions ตัวอื่นๆ ได้ดี และควรใช้คู่กับ ShowValueForDates pattern เพื่อป้องกันการแสดงค่าในอนาคต

DATESYTD

DATESYTD คืนตารางวันที่ของช่วงตั้งแต่ต้นปีถึงวันที่สุดท้ายที่มองเห็นใน Filter Context ใช้เป็นตัวกรองเวลาใน CALCULATE สำหรับการคำนวณยอดสะสมตั้งแต่ต้นปี รองรับทั้งปีปฏิทินและปีบัญชี (Fiscal Year) ด้วย YearEndDate argument

ENDOFWEEK

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

STARTOFWEEK

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

TOTALWTD

คำนวณยอดสะสมตั้งแต่ต้นสัปดาห์ (Week-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด โดยรวมข้อมูลจากวันแรกของสัปดาห์จนถึงวันปัจจุบันในบริบท

Filter (1)
CALCULATE

CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่