คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › สรุปค่า (Aggregation) › SUMX

SUMX

DAX · Power BIสรุปค่า (Aggregation)ระดับพื้นฐานแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

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

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

SUMX คืออะไร

คำนวณสูตรทีละแถวของตาราง แล้วรวมผลของทุกแถว ใช้เมื่อค่าที่ต้องการรวมยังไม่มีเป็นคอลัมน์

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

  • รวมยอดขายที่ต้องคูณจำนวนกับราคาในแต่ละแถวก่อน
  • รวมต้นทุนที่ต้องดึงต้นทุนต่อหน่วยจากตารางสินค้า

รูปแบบสูตร

=SUMX(<table>, <expression>)

Argument แต่ละตัว

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

Argumentจำเป็นไหมความหมาย
tableจำเป็นตารางที่จะไล่คำนวณทีละแถว ถูกกรองตามตัวกรองของช่องนั้นก่อน
expressionจำเป็นสูตรที่คำนวณในแต่ละแถว อ้างคอลัมน์ของแถวนั้นได้โดยตรง

ลองเลย: ยอดขายสุทธิ แยกตามภูมิภาค

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

[จำนวนคำสั่งซื้อ] = COUNTROWS('ยอดขาย')
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดขายสุทธิ แยกตามภูมิภาค
ยอดขายสุทธิ แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคยอดขายจำนวนคำสั่งซื้อ
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
1,452,416ยอดขาย · กลาง · 2025
ดูทีละขั้นขั้น 3 / 3

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

EXCEL=SUMPRODUCT(ยอดขาย[จำนวน], ยอดขาย[ราคาต่อหน่วย], 1-ยอดขาย[ส่วนลด])

SUMPRODUCT คูณทีละแถวแล้วรวมเหมือน SUMX แต่ต้องเขียนเงื่อนไขเองในสูตร SUMX ได้เงื่อนไขจากรายงาน

DAXยอดขาย = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))

ไม่ต้องสร้างคอลัมน์ยอดสุทธิในตาราง

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

SUM('ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย]) ใส่ไม่ได้ ต้องใช้ SUMX ลองพิมพ์ในช่องแก้ Measure ดู
สร้าง Calculated Column ยอดสุทธิแล้วใช้ SUM ก็ได้ผลเท่ากัน แต่คอลัมน์นั้นถูกเก็บในโมเดลทุกแถว ไฟล์จึงใหญ่ขึ้น
ถ้า expression เรียก Measure อื่น SUMX จะเปลี่ยนแถวเป็นตัวกรอง (context transition) ทุกแถว ใช้กับตารางใหญ่แล้วช้า

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

1. SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย]) ทำงานอย่างไร

2. ใน Excel ฟังก์ชันใดคิดแบบเดียวกับ SUMX นี้

3. ข้อใดทำให้ SUMX ช้าที่สุด

ไฟล์ฝึก SUMX

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

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

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

  1. ข้อ 1[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025

ไปต่อ

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

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

ดูหลักสูตร