หน้าแรก ›
DAX › เทียบช่วงเวลา (Time Intelligence) › DATESMTD
DATESMTD
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: DATESMTD (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
มุมมองนี้บันทึกไฟล์ไม่ได้
DATESMTD คืออะไร
คืนตารางวันที่ตั้งแต่วันที่ 1 ของเดือนถึงวันสุดท้ายในตัวกรอง ใช้เป็นตัวกรองใน CALCULATE หรือนับจำนวนวันที่ผ่านไป
ใช้เมื่อไหร่
- นับจำนวนวันที่ผ่านไปในเดือนเพื่อคิดยอดเฉลี่ยต่อวัน
- ใช้ช่วงต้นเดือนถึงวันนี้เป็นตัวกรองของ Measure อื่น
รูปแบบสูตร
=DATESMTD(<dates> or <calendar>)
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|
| dates | จำเป็น | คอลัมน์วันที่ของตาราง Date เช่น 'วันที่'[Date] |
ลองเลย: ยอดสะสมในเดือน จำนวนวันที่ผ่านไป และยอดเฉลี่ยต่อวัน
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
ปี
เดือน
[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[ยอดสะสมในเดือน] = CALCULATE([ยอดขาย], DATESMTD('วันที่'[Date]))
[จำนวนวันที่สะสม] = COUNTROWS(DATESMTD('วันที่'[Date]))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
- พนักงานขายไม่มีตัวกรอง
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025[ชื่อเดือน] = "มี.ค."[วัน] = 1
- ยอดขายเหลือ 0 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดสะสมในเดือน จำนวนวันที่ผ่านไป และยอดเฉลี่ยต่อวัน
ยอดสะสมในเดือน จำนวนวันที่ผ่านไป และยอดเฉลี่ยต่อวัน · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร| วัน | ยอดขาย | ยอดสะสมในเดือน | จำนวนวันที่สะสม | ยอดเฉลี่ยต่อวันถึงวันนี้ |
|---|
| 1 | | | | |
|---|
| 2 | | | | |
|---|
| 3 | | | | |
|---|
| 4 | | | | |
|---|
| 5 | | | | |
|---|
| 6 | | | | |
|---|
| 7 | | | | |
|---|
| 8 | | | | |
|---|
| 9 | | | | |
|---|
| 10 | | | | |
|---|
| 11 | | | | |
|---|
| 12 | | | | |
|---|
| 13 | | | | |
|---|
| 14 | | | | |
|---|
| 15 | | | | |
|---|
| 16 | | | | |
|---|
| 17 | | | | |
|---|
| 18 | | | | |
|---|
| 19 | | | | |
|---|
| 20 | | | | |
|---|
| 21 | | | | |
|---|
| 22 | | | | |
|---|
| 23 | | | | |
|---|
| 24 | | | | |
|---|
| 25 | | | | |
|---|
| 26 | | | | |
|---|
| 27 | | | | |
|---|
| 28 | | | | |
|---|
| 29 | | | | |
|---|
| 30 | | | | |
|---|
| 31 | | | | |
|---|
| ยอดรวม | | | | |
|---|
(ว่าง)ยอดเฉลี่ยต่อวันถึงวันนี้ · 1 · 2025 · มี.ค.
ดูทีละขั้นขั้น 8 / 8
ถ้าคุณเขียน Excel อยู่แล้ว
EXCEL=SUMIFS(ยอดขาย[ยอดสุทธิ], ยอดขาย[วันที่], ">="&DATE(2025,3,1), ยอดขาย[วันที่], "<="&DATE(2025,3,15))Excel เขียนช่วงวันที่เอง
DAXยอดเฉลี่ยต่อวันถึงวันนี้ = DIVIDE(CALCULATE([ยอดขาย], DATESMTD('วันที่'[Date])), COUNTROWS(DATESMTD('วันที่'[Date])))DATESMTD เป็นตาราง จึงใช้ได้ทั้งเป็นตัวกรองและนับแถว
ข้อผิดพลาดและเคล็ดลับ
TOTALMTD([ยอดขาย], 'วันที่'[Date]) คือ CALCULATE([ยอดขาย], DATESMTD('วันที่'[Date])) แบบย่อ ใช้ DATESMTD เมื่อต้องการตารางวันที่ไปทำอย่างอื่นด้วย นับวันจากตาราง Date จึงรวมวันที่ไม่มีคำสั่งซื้อ ยอดเฉลี่ยนี้คือยอดต่อวันปฏิทิน ไม่ใช่ต่อวันที่ขาย ต้องใช้คอลัมน์วันที่ของตาราง Date ถ้าใช้ 'ยอดขาย'[วันที่] จะได้เฉพาะวันที่มีคำสั่งซื้อ
แบบทดสอบ 3 ข้อ
1. COUNTROWS(DATESMTD('วันที่'[Date])) ในแถววันที่ 10 ได้เท่าใด
วันที่ 1 ถึง 10 มี 10 วันในตาราง Date
2. DATESMTD ให้ผลเป็นอะไร
ใช้เป็นตัวกรองใน CALCULATE หรือนับแถว
3. ทำไมควรใช้ 'วันที่'[Date] แทน 'ยอดขาย'[วันที่]
ฟังก์ชันเวลาควรใช้ตาราง Date ที่ตั้งเป็น Date table
ไฟล์ฝึก DATESMTD
XLSX
9Expert-DAX-DATESMTD-Practice-v1.0.xlsx
รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย
มุมมองนี้บันทึกไฟล์ไม่ได้
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[ยอดเฉลี่ยต่อวันถึงวันนี้] ยอดสะสมในเดือนหารด้วยจำนวนวันที่ผ่านไป · กรอง ปี = 2025, เดือน = มี.ค., วัน = 31
- ข้อ 2[ยอดเฉลี่ยต่อวันถึงวันนี้] ยอดสะสมในเดือนหารด้วยจำนวนวันที่ผ่านไป · กรอง ปี = 2024, เดือน = ก.พ., วัน = 20
- ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025, เดือน = ก.ค., วัน = 10
- ข้อ 4[ยอดสะสมในเดือน] ยอดขายสะสมตั้งแต่วันที่ 1 ของเดือนถึงวันที่กรอง · กรอง ปี = 2025, เดือน = ธ.ค., วัน = 25
- ข้อ 5[จำนวนวันที่สะสม] จำนวนวันตั้งแต่วันที่ 1 ถึงวันที่กรอง · กรอง ปี = 2025, เดือน = มี.ค.
ไปต่อ
อยากเขียน DAX สำหรับรายงานจริงทั้งระบบต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)
ดูหลักสูตร