---
title: SUM – รวมค่าตัวเลขจากคอลัมน์ (DAX)
url: https://www.thepexcel.com/functions/dax/aggregation/sum-dax/
type: function-explainer
program: DAX
syntax: "SUM(<column>)"
date: 2025-12-14
updated: 2025-12-20
scores:
  popularity: 10
  difficulty: 2
  usefulness: 10
---

# SUM – รวมค่าตัวเลขจากคอลัมน์ (DAX)

> รวมค่าตัวเลขทั้งหมดในคอลัมน์เดียว

## คำอธิบาย

SUM รวมค่าตัวเลขทั้งหมดจากคอลัมน์เดียวภายใต้ filter context ปัจจุบัน ข้ามค่า BLANK และข้อความ แต่รวมค่า 0 หากต้องรวมจาก expression ให้ใช้ SUMX แทน

## Syntax

```excel
SUM(&lt;column&gt;)
```

**Variant**

```excel
SUM(&lt;column&gt;)
```

รวมค่าตัวเลขทั้งหมดในคอลัมน์ภายใต้ filter context ปัจจุบัน

**Variant**

```excel
CALCULATE(
    SUM(&lt;column&gt;),
    &lt;filter&gt;
)
```

คำนวณผลรวมในบริบทที่ถูกกรองเพิ่มหรือเปลี่ยน filter context

**Variant**

```excel
VAR Total = SUM(&lt;column&gt;)
RETURN Total
```

เก็บผลรวมไว้ในตัวแปรเพื่อใช้ซ้ำในสูตรที่ซับซ้อน

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| column | Yes | column |  | คอลัมน์ตัวเลขที่ต้องการรวมค่า ต้องอ้างอิงในรูปแบบ Table[Column] และต้องเป็น numeric column |

## เคสการใช้งาน

### ยอดขายรวม (Total Sales)

สร้าง measure ยอดขายรวมสำหรับรายงานหรือ KPI หลัก

_เหมาะกับ:_ total-sales

### ยอดรวมตามหมวดหรือช่วงเวลา

ใช้ SUM ใน visual ที่มีตัวกรองจาก Category หรือ Date เพื่อดูยอดรวมตามบริบท

_เหมาะกับ:_ filtered-totals

### คำนวณเปอร์เซ็นต์ของยอดรวม

นำ SUM มาเป็นตัวตั้ง แล้วใช้ CALCULATE ร่วมกับ REMOVEFILTERS เพื่อหายอดรวมทั้งหมดสำหรับทำ % of total

_เหมาะกับ:_ percent-of-total

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ยอดขายรวมพื้นฐาน

```excel
Total Sales = 
SUM(Sales[Amount])
```

**ผลลัพธ์:** `500`

สมมติ Sales[Amount] มีค่า 120, 180, 200 รวมกันได้ 500
.
ถ้ามี slicer กรองปีหรือภูมิภาค ผลลัพธ์จะเปลี่ยนตาม filter context ทันที

### 2. ตัวอย่างที่ 2: รวมเฉพาะหมวดที่ต้องการด้วย CALCULATE

```excel
Coffee Sales = 
CALCULATE(
    SUM(Sales[Amount]),
    Product[Category] = "Coffee"
)
```

**ผลลัพธ์:** `1,250`

CALCULATE เพิ่ม filter ให้คำนวณเฉพาะหมวด Coffee เช่นมียอด 500 + 750 = 1,250
.
ตัวอย่างนี้ช่วยให้ SUM ทำงานใน filter context ที่กำหนดเอง

### 3. ตัวอย่างที่ 3: เปอร์เซ็นต์ของยอดรวมทั้งหมด

```excel
Sales % Total = 
DIVIDE(
    SUM(Sales[Amount]),
    CALCULATE(
        SUM(Sales[Amount]),
        REMOVEFILTERS(Product)
    )
)
```

**ผลลัพธ์:** `0.25 (25%)`

ตัวเศษคือยอดขายในบริบทปัจจุบัน ส่วนตัวหารลบ filter ของ Product เพื่อได้ยอดรวมทั้งหมด
.
แล้วค่อยหารเพื่อได้ % of total ที่ถูกต้อง

### 4. ตัวอย่างที่ 4: ใช้ SUM ใน Calculated Column (ข้อควรระวัง)

```excel
Total Sales (Column) = 
SUM(Sales[Amount])
```

**ผลลัพธ์:** `500 (ค่าเดียวกันทุกแถว)`

Calculated column มี row context แต่ SUM ไม่ทำ context transition จึงคืนยอดรวมทั้งตารางให้ทุกแถวเหมือนกัน
.
ถ้าต้องการคำนวณต่อแถวให้ใช้ expression ของคอลัมน์นั้นโดยตรง หรือใช้ SUMX ตามกรณี

## หมายเหตุเพิ่มเติม

SUM รับได้เฉพาะคอลัมน์เดียว ถ้าต้องรวมจาก expression ให้ใช้ SUMX
ใน calculated column ผลลัพธ์มักเป็นยอดรวมเดียวกันทุกแถวถ้าไม่ใช้ CALCULATE
ถ้าไม่มีแถวใน filter context จะคืนค่า BLANK ไม่ใช่ 0

## คำถามที่พบบ่อย

**Q: SUM ต่างจาก SUMX อย่างไร?**

SUM รวมค่าจากคอลัมน์ที่มีอยู่แล้วเท่านั้น ส่วน SUMX จะประเมิน expression ต่อแถวก่อนแล้วค่อยรวมผลลัพธ์

**Q: SUM รวมหลายคอลัมน์พร้อมกันได้ไหม?**

ไม่ได้ SUM รับได้เพียงคอลัมน์เดียว หากต้องรวมหลายคอลัมน์ให้สร้าง measure แยกหรือใช้ SUMX กับ expression

**Q: SUM จัดการกับค่า BLANK หรือข้อความอย่างไร?**

SUM ข้ามค่า BLANK และข้อความทั้งหมด แต่ยังนับค่า 0 เข้าไปในการรวม

**Q: ทำไม SUM ใน calculated column ถึงได้ค่าเดิมทุกแถว?**

เพราะ SUM ใช้ filter context แต่ calculated column มีแค่ row context หากไม่ใช้ CALCULATE ผลลัพธ์จะเป็นยอดรวมทั้งตารางเหมือนกันทุกแถว

## ฟังก์ชันที่เกี่ยวข้อง

- [SUMX – Iterator Function สำหรับคำนวณผลรวมแบบ Row-by-Row ใน DAX](https://www.thepexcel.com/functions/dax/aggregation/sumx-dax/)
- [AVERAGE – คำนวณค่าเฉลี่ยเลขคณิตจากคอลัมน์ตัวเลข](https://www.thepexcel.com/functions/dax/aggregation/average-dax/)
- [COUNT – นับจำนวนแถวที่มีค่าไม่ว่างในคอลัมน์](https://www.thepexcel.com/functions/dax/aggregation/count-dax/)
- [MIN – หาค่าน้อยที่สุดในคอลัมน์หรือเปรียบเทียบสองค่า scalar](https://www.thepexcel.com/functions/dax/aggregation/min-dax/)
- [MAX – หาค่าสูงสุดในคอลัมน์หรือเปรียบเทียบสองค่า](https://www.thepexcel.com/functions/dax/aggregation/max-dax/)
- [DISTINCTCOUNT – นับจำนวนค่าเอกลักษณ์ในคอลัมน์](https://www.thepexcel.com/functions/dax/aggregation/distinctcount-dax/)
- [DIVIDE – ฟังก์ชัน DAX](https://www.thepexcel.com/functions/dax/math-and-trig/divide-dax/)
- [CALCULATE – ฟังก์ชันหลักของ DAX ที่ควบคุม Filter Context](https://www.thepexcel.com/functions/dax/filter/calculate-dax/)
- [FILTER – กรองตารางด้วยเงื่อนไขที่ซับซ้อน (Iterator Function)](https://www.thepexcel.com/functions/dax/filter/filter-dax/)
- [VALUES – ดึงค่าที่ไม่ซ้ำจากคอลัมน์ (รวม Blank จากข้อผิดพลาดความสัมพันธ์)](https://www.thepexcel.com/functions/dax/table-manipulation/values-dax/)

## แหล่งข้อมูลเพิ่มเติม

- [DAX Guide: SUM](https://dax.guide/sum/) _(documentation)_
- [Microsoft Learn: SUM function (DAX)](https://learn.microsoft.com/en-us/dax/sum-function-dax) _(documentation)_
- [Microsoft Learn: Aggregation functions (DAX)](https://learn.microsoft.com/en-us/dax/aggregation-functions-dax) _(documentation)_

---

_Source: [https://www.thepexcel.com/functions/dax/aggregation/sum-dax/](https://www.thepexcel.com/functions/dax/aggregation/sum-dax/)_
