DATEDIFF
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: DATEDIFF (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
DATEDIFF คืออะไร
นับจำนวนขอบของหน่วยเวลา (วัน เดือน ปี …) ที่ข้ามระหว่างสองวันที่ ได้ค่าติดลบเมื่อวันแรกอยู่หลังวันที่สอง
ใช้เมื่อไหร่
- นับวันหรือเดือนระหว่างสองวันที่ เช่น อายุลูกค้า ระยะเวลาส่งของ
- นับจำนวนเดือนที่ข้ามระหว่างคำสั่งซื้อแรกและล่าสุด
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| Date1 | จำเป็น | วันที่เริ่ม |
| Date2 | จำเป็น | วันที่สิ้นสุด |
| Interval | จำเป็น | หน่วยที่นับ พิมพ์เป็นคำสงวนไม่มีเครื่องหมายคำพูด: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR |
ลองเลย: ระยะห่างระหว่างคำสั่งซื้อแรกและล่าสุด แยกตามภูมิภาค
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
- พนักงานขาย[ภูมิภาค] = "กลาง"
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025
- ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| ภูมิภาค | วันระหว่างคำสั่งซื้อแรกและล่าสุด | เดือนที่ข้าม |
|---|---|---|
| กลาง | ||
| เหนือ | ||
| ตะวันออกเฉียงเหนือ | ||
| ตะวันออก | ||
| ใต้ | ||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=DATEDIF(MINIFS(ยอดขาย[วันที่], ยอดขาย[ภูมิภาค], "กลาง"), MAXIFS(ยอดขาย[วันที่], ยอดขาย[ภูมิภาค], "กลาง"), "m")DATEDIF ของ Excel นับเดือนเต็ม แต่ DATEDIFF ของ DAX นับการข้ามต้นเดือน 31 ม.ค. ถึง 1 ก.พ. DATEDIF ได้ 0 แต่ DATEDIFF ได้ 1 ตัวเลขจึงอาจต่างกัน
วันระหว่างคำสั่งซื้อแรกและล่าสุด = DATEDIFF(MIN('ยอดขาย'[วันที่]), MAX('ยอดขาย'[วันที่]), DAY)หน่วย DAY ได้ผลเท่ากับการลบวันที่
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. DATEDIFF(DATE(2025, 1, 31), DATE(2025, 2, 1), MONTH) ได้เท่าไร
DATEDIFF นับการข้ามต้นเดือน ข้ามหนึ่งครั้งจึงได้ 1
2. interval ของ DATEDIFF เขียนแบบใด
DATEDIFF ใช้คำสงวน ต่างจาก DATEDIF ของ Excel ที่ใช้ "m"
3. ใส่วันที่สลับกัน (วันหลังก่อน) ได้อะไร
DATEDIFF ได้ค่าติดลบเมื่อ Date1 อยู่หลัง Date2
ไฟล์ฝึก DATEDIFF
9Expert-DAX-DATEDIFF-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[เดือนที่ข้าม] จำนวนครั้งที่ข้ามต้นเดือน จากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ใต้, ปี = 2024
- ข้อ 2[เดือนที่ข้าม] จำนวนครั้งที่ข้ามต้นเดือน จากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
- ข้อ 3[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = เหนือ, ปี = 2025
- ข้อ 4[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
- ข้อ 5[วันระหว่างคำสั่งซื้อแรกและล่าสุด] จำนวนวันจากคำสั่งซื้อแรกถึงคำสั่งซื้อล่าสุด · กรอง ปี = 2025
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)