WINDOW
อัปเดต 2 ต.ค. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: WINDOW (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
WINDOW คืออะไร
คืนแถวหลายแถวในช่วงที่กำหนดรอบแถวปัจจุบัน หรือนับจากต้นกลุ่ม ใช้ทำยอดสะสมและค่าเฉลี่ยเคลื่อนที่
ใช้เมื่อไหร่
- ยอดสะสม (running total) ตามลำดับที่กำหนด
- ค่าเฉลี่ยเคลื่อนที่ 3 เดือนหรือ 7 วัน
รูปแบบสูตร
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 ที่ได้คำตอบเดียวกัน
- พนักงานขายไม่มีตัวกรอง
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025[ชื่อเดือน] = "ม.ค."
- ยอดขายเหลือ 23 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| เดือน | ยอดขาย | ยอดสะสมในปี | เฉลี่ย 3 เดือน |
|---|---|---|---|
| ม.ค. | |||
| ก.พ. | |||
| มี.ค. | |||
| เม.ย. | |||
| พ.ค. | |||
| มิ.ย. | |||
| ก.ค. | |||
| ส.ค. | |||
| ก.ย. | |||
| ต.ค. | |||
| พ.ย. | |||
| ธ.ค. | |||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=SUM($B$2:B2)Excel ล็อกเซลล์แรกแล้วลากสูตรลง
ยอดสะสมในปี = IF(ISINSCOPE('วันที่'[ชื่อเดือน]), SUMX(WINDOW(1, ABS, 0, REL, ALLSELECTED('วันที่'[เดือน], 'วันที่'[ชื่อเดือน]), ORDERBY('วันที่'[เดือน])), [ยอดขาย]))ตั้งแต่แถวแรกของกลุ่มถึงแถวปัจจุบัน
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. WINDOW(1, ABS, 0, REL, …) คือช่วงใด
ABS 1 = แถวแรก, REL 0 = แถวปัจจุบัน
2. WINDOW(-2, REL, 0, REL, …) ในแถวแรกของกลุ่มได้กี่แถว
ช่วงที่เกินต้นกลุ่มถูกตั้งให้เริ่มที่แถวแรก
3. from_type ที่ไม่ใส่มีค่าเริ่มต้นเป็นอะไร
REL นับจากแถวปัจจุบัน
ไฟล์ฝึก WINDOW
9Expert-DAX-WINDOW-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[ยอดสะสมในปี] ยอดขายสะสมตั้งแต่เดือนแรกถึงเดือนในแถว · กรอง ปี = 2025, เดือน = ก.ค.
- ข้อ 2[ยอดสะสมในปี] ยอดขายสะสมตั้งแต่เดือนแรกถึงเดือนในแถว · กรอง ช่องทาง = Online, ปี = 2025, เดือน = ธ.ค.
- ข้อ 3[ยอดขาย] ยอดขายของช่วงที่กรอง · กรอง ปี = 2025, เดือน = พ.ค.
- ข้อ 4[เฉลี่ย 3 เดือน] ค่าเฉลี่ยยอดขายของเดือนในแถวและสองเดือนก่อนหน้า · กรอง ช่องทาง = Modern Trade, ปี = 2025, เดือน = ต.ค.
- ข้อ 5[ยอดขาย] ยอดขายของช่วงที่กรอง · กรอง ปี = 2025
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)