---
title: UNION – รวมหลายตารางให้เป็นตารางเดียว (ต่อแถว)
url: https://www.thepexcel.com/functions/dax/table-manipulation/union-dax/
type: function-explainer
program: DAX
syntax: "UNION(<table1>, <table2>[, <table3>, ...])"
date: 2025-12-13
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

# UNION – รวมหลายตารางให้เป็นตารางเดียว (ต่อแถว)

> UNION รวมหลายตารางให้เป็นตารางเดียวด้วยการต่อแถว โดยเก็บแถวซ้ำไว้ทั้งหมด เหมาะกับการรวมชุดข้อมูลที่ม

## คำอธิบาย

UNION รวมหลายตารางให้เป็นตารางเดียวด้วยการต่อแถว โดยเก็บแถวซ้ำไว้ทั้งหมด เหมาะกับการรวมชุดข้อมูลที่มีโครงสร้างคอลัมน์สอดคล้องกัน

## Syntax

```excel
UNION(&lt;table1&gt;, &lt;table2&gt;[, &lt;table3&gt;, ...])
```

**Variant**

```excel
UNION(&lt;Table1&gt;, &lt;Table2&gt;)
```

รวม 2 ตารางให้เป็นตารางเดียว

**Variant**

```excel
UNION(&lt;Table1&gt;, &lt;Table2&gt;, &lt;Table3&gt;)
```

รวม 3 ตารางขึ้นไปให้เป็นตารางเดียว

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| table1 | Yes | Table |  | ตารางแรก (จะใช้ชื่อคอลัมน์จากตารางนี้) |
| table2 | Yes | Table |  | ตารางที่สอง (จะต่อเพิ่มเข้าไปหลังตารางแรก) |
| table3 | No | Table | ไม่ระบุ | ตารางที่สาม (และต่อเติมได้อีก) |

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

### รวมข้อมูลจากหลายตารางที่คอลัมน์เหมือนกัน

เช่น รวมยอดขายจากหลายไฟล์/หลายช่วงที่แยกตารางไว้

_เหมาะกับ:_ append-tables

### รวมชุดรายการเพื่อทำสรุปต่อ

รวมรายการจากหลายเงื่อนไขก่อนสรุปด้วย COUNTROWS หรือ SUMX

_เหมาะกับ:_ combine-lists

## ตัวอย่าง

### 1. รวมข้อมูล Sales กับ Returns เป็นตารางเดียว

```excel
All Transactions =
UNION(
    VALUES(Sales[ProductID]),
    VALUES(Returns[ProductID])
)
```

**ผลลัพธ์:** `ตารางที่มี ProductID จากทั้ง Sales และ Returns รวมกัน`

นำ ProductID จาก Sales และ Returns มาต่อรวมกัน ถ้าสินค้า ID ตัวเดียวมีทั้ง sales และ return ก็จะปรากฏ 2 แถว

### 2. รวมสามตาราง (ข้อมูลปีต่างๆ)

```excel
All Years Data =
UNION(
    VALUES(Year2022[CustomerID]),
    VALUES(Year2023[CustomerID]),
    VALUES(Year2024[CustomerID])
)
```

**ผลลัพธ์:** `ตารางที่มี CustomerID จากทั้งสามปีรวมกัน`

สามารถระบุตารางได้มากกว่า 2 ตัว เพื่อรวมข้อมูลหลายปีหรือหลายช่วงเวลาในครั้งเดียว

### 3. ลบแถวซ้ำด้วย DISTINCT

```excel
Unique Products =
DISTINCT(
    UNION(
        VALUES(Sales[ProductID]),
        VALUES(Returns[ProductID])
    )
)
```

**ผลลัพธ์:** `ตารางที่มี ProductID ที่ไม่ซ้ำ`

เพราะ UNION เก็บแถวซ้ำ หากต้องการเอาซ้ำออก ให้ครอบด้วย DISTINCT

### 4. สร้างข้อมูลหลายคอลัมน์จากตารางต่างกัน

```excel
Combined Data =
UNION(
    SELECTCOLUMNS(Sales, "ID", Sales[ID], "Amount", Sales[Amount]),
    SELECTCOLUMNS(Returns, "ID", Returns[ID], "Amount", Returns[Amount])
)
```

**ผลลัพธ์:** `ตารางที่มี ID และ Amount จากทั้ง Sales และ Returns`

ใช้ SELECTCOLUMNS เพื่อแนวทางคอลัมน์ให้ตรงกัน (ชื่อและประเภทข้อมูล) ก่อนที่จะ UNION

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

- ถ้าต้องการหาส่วนร่วม (intersection) ใช้ INTERSECT

- ถ้าต้องการหาส่วนที่อยู่ในตารางแรกแต่ไม่อยู่ในตารางที่สอง ใช้ EXCEPT

- เมื่อต้องรวมตารางหลายชุด มักจะรวมกับ GROUPBY หรือ SUMMARIZE เพื่อสรุปยอด

- ตรวจสอบความพร้อมของคอลัมน์ด้วย SELECTCOLUMNS เมื่อต้องการควบคุมคอลัมน์ที่รวม

- ใช้ UNION เมื่อต้องรวมข้อมูลจากหลายแหล่ง เช่น หลายปี หลายสาขา หรือหลายประเภท

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

**Q: UNION ลบแถวซ้ำหรือไม่?**

ไม่ลบ UNION เก็บแถวซ้ำไว้ทั้งหมด ต่างจาก SQL UNION ถ้าต้องการลบแถวซ้ำ ให้ใช้ DISTINCT(UNION(...))

**Q: ตารางต้องมีคอลัมน์เหมือนกันไหม?**

ต้องมีจำนวนคอลัมน์เท่ากัน และชนิดข้อมูลต้องเข้ากันได้ คอลัมน์จะจับคู่ตามตำแหน่ง (position) ไม่ใช่ชื่อ

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

UNION ต่อแนวตั้ง (append rows) JOIN ต่อแนวนอน (combine columns) เลือกตามลักษณะงาน

**Q: สามารถรวมตารางมากกว่า 2 ตัวได้ไหม?**

ได้ สามารถระบุตารางได้กี่ตัวก็ได้ UNION(Table1, Table2, Table3, ... )

**Q: ชื่อคอลัมน์จะเป็นอะไร?**

จะใช้ชื่อคอลัมน์จากตารางแรก (table1) ตารางที่เหลือจะปรับตามตำแหน่ง

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

- intersect
- except
- distinct
- values
- selectcolumns
- summarize
- countrows

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

- [Microsoft DAX UNION Reference](https://learn.microsoft.com/en-us/dax/union-function-dax) _(official)_
- [DAX Guide: UNION](https://dax.guide/union/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/table-manipulation/union-dax/](https://www.thepexcel.com/functions/dax/table-manipulation/union-dax/)_
