คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ฟังก์ชันหน้าต่าง (Window) › WINDOW

WINDOW

DAX · Power BIฟังก์ชันหน้าต่าง (Window)ระดับสูงแบบ 6 · ไม่มีใน Excel ใช้วิธีอื่นแทน

อัปเดต 2 ต.ค. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: WINDOW (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

WINDOW คืออะไร

คืนแถวหลายแถวในช่วงที่กำหนดรอบแถวปัจจุบัน หรือนับจากต้นกลุ่ม ใช้ทำยอดสะสมและค่าเฉลี่ยเคลื่อนที่

ใช้เมื่อไหร่

  • ยอดสะสม (running total) ตามลำดับที่กำหนด
  • ค่าเฉลี่ยเคลื่อนที่ 3 เดือนหรือ 7 วัน

รูปแบบสูตร

WINDOW ( from[, from_type], to[, to_type][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
fromจำเป็นจุดเริ่มของช่วง
[from_type]ไม่บังคับREL = นับจากแถวปัจจุบัน (ค่าเริ่มต้น), ABS = ตำแหน่งจากต้นกลุ่ม (1 = แถวแรก, -1 = แถวสุดท้าย)
toจำเป็นจุดสิ้นสุดของช่วง (รวมแถวนั้น)
[to_type]ไม่บังคับREL หรือ ABS
relation, orderBy, partitionByจำเป็นเหมือน OFFSET

ลองเลย: ยอดสะสมและค่าเฉลี่ย 3 เดือนด้วย WINDOW

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[เฉลี่ย 3 เดือน] = IF(ISINSCOPE('วันที่'[ชื่อเดือน]), AVERAGEX(WINDOW(-2, REL, 0, REL, ALLSELECTED('วันที่'[เดือน], 'วันที่'[ชื่อเดือน]), ORDERBY('วันที่'[เดือน])), [ยอดขาย]))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขายไม่มีตัวกรอง
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025[ชื่อเดือน] = "ม.ค."
  • ยอดขายเหลือ 23 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดสะสมและค่าเฉลี่ย 3 เดือนด้วย WINDOW
ยอดสะสมและค่าเฉลี่ย 3 เดือนด้วย WINDOW · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
เดือนยอดขายยอดสะสมในปีเฉลี่ย 3 เดือน
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
ยอดรวม
393,613ยอดสะสมในปี · ม.ค. · 2025
ดูทีละขั้นขั้น 6 / 6

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=SUM($B$2:B2)

Excel ล็อกเซลล์แรกแล้วลากสูตรลง

DAXยอดสะสมในปี = IF(ISINSCOPE('วันที่'[ชื่อเดือน]), SUMX(WINDOW(1, ABS, 0, REL, ALLSELECTED('วันที่'[เดือน], 'วันที่'[ชื่อเดือน]), ORDERBY('วันที่'[เดือน])), [ยอดขาย]))

ตั้งแต่แถวแรกของกลุ่มถึงแถวปัจจุบัน

ข้อผิดพลาดและเคล็ดลับ

ช่วงที่ล้นต้นกลุ่มถูกตัดให้เริ่มที่แถวแรก แถว ม.ค. ของค่าเฉลี่ย 3 เดือนจึงเฉลี่ยจากเดือนเดียว (Microsoft Learn)
ใส่ ISINSCOPE ครอบไว้ให้แถวยอดรวมว่าง เพราะยอดรวมมีหลายแถวปัจจุบัน และเอกสารไม่ได้บอกวิธีรวมผลซ้ำที่ชัดเจน
ยอดสะสมนี้เท่ากับ TOTALYTD เมื่อแถวเป็นเดือน แต่ WINDOW ใช้ได้กับลำดับอื่นที่ไม่ใช่วันที่ เช่น ยอดสะสมตามอันดับสินค้า
ฟังก์ชันกลุ่ม Window ใช้ได้ทั้งใน Measure และ visual calculation หน้านี้สอนแบบ Measure ที่ระบุ relation เอง (หน้านี้ไม่รองรับ MATCHBY และ reset)

แบบทดสอบ 3 ข้อ

1. WINDOW(1, ABS, 0, REL, …) คือช่วงใด

2. WINDOW(-2, REL, 0, REL, …) ในแถวแรกของกลุ่มได้กี่แถว

3. from_type ที่ไม่ใส่มีค่าเริ่มต้นเป็นอะไร

ไฟล์ฝึก WINDOW

9Expert-DAX-WINDOW-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[ยอดสะสมในปี] ยอดขายสะสมตั้งแต่เดือนแรกถึงเดือนในแถว · กรอง ปี = 2025, เดือน = ก.ค.
  2. ข้อ 2[ยอดสะสมในปี] ยอดขายสะสมตั้งแต่เดือนแรกถึงเดือนในแถว · กรอง ช่องทาง = Online, ปี = 2025, เดือน = ธ.ค.
  3. ข้อ 3[ยอดขาย] ยอดขายของช่วงที่กรอง · กรอง ปี = 2025, เดือน = พ.ค.
  4. ข้อ 4[เฉลี่ย 3 เดือน] ค่าเฉลี่ยยอดขายของเดือนในแถวและสองเดือนก่อนหน้า · กรอง ช่องทาง = Modern Trade, ปี = 2025, เดือน = ต.ค.
  5. ข้อ 5[ยอดขาย] ยอดขายของช่วงที่กรอง · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร