---
title: LEFT – ตัดข้อความจากซ้าย (DAX)
url: https://www.thepexcel.com/functions/dax/text/left-dax/
type: function-explainer
program: DAX
syntax: "LEFT(text, [num_chars])"
date: 2025-12-14
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 2
  usefulness: 7
---

# LEFT – ตัดข้อความจากซ้าย (DAX)

> LEFT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดเริ่มต้นของข้อความ ใช้ได้กับ Calculated Column โดยจะประมวลผลภาษาต

## คำอธิบาย

LEFT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดเริ่มต้นของข้อความ ใช้ได้กับ Calculated Column โดยจะประมวลผลภาษาต่างๆ (Unicode) อย่างเดียวกัน

## Syntax

```excel
LEFT(text, [num_chars])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| text | Yes | Text |  | ข้อความที่ต้องการตัด หรือคอลัมน์ที่มีข้อความในตาราง สามารถใช้ Table[Column] หรือค่า Text ตรงๆ |
| num_chars | No | Integer | 1 | จำนวนตัวอักษรที่ต้องการดึงจากด้านซ้าย ถ้าไม่ใส่จะเป็น 1 ตัว ถ้ามากกว่าความยาวข้อความจะคืนทั้งหมด |

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

### สร้าง Calculated Column

ดึงรหัส 3 ตัวแรกจาก Product Code เพื่อสร้างคอลัมน์ Grouping ใหม่

_เหมาะกับ:_ data-grouping

## ตัวอย่าง

### 1. ดึงรหัสแผนกจากรหัสพนักงาน

```excel
Department Code = LEFT(Employee[EmployeeID], 3)
```

**ผลลัพธ์:** `"ACC" (ถ้า EmployeeID = "ACC-2024-001")`

ใช้ LEFT ดึง 3 ตัวแรกจากรหัสพนักงาน ตัวอักษรตรงนี้เป็นรหัสแผนก เอามาสร้าง Dimension ใหม่ได้

### 2. ดึงตัวอักษรแรก (ค่าเริ่มต้น)

```excel
First Letter = LEFT(Customer[FirstName])
```

**ผลลัพธ์:** `"J" (ถ้า FirstName = "John")`

ไม่ใส่ num_chars ก็ได้ จะเอา 1 ตัวแรกมา

### 3. รวมกับ RIGHT เพื่อแยกข้อมูล

```excel
Prefix And Suffix = LEFT(Product[SKU], 2) & "-" & RIGHT(Product[SKU], 2)
```

**ผลลัพธ์:** `"AB-XY" (ถ้า SKU = "AB-1234-XY")`

ใช้ LEFT กับ RIGHT ร่วมกัน เพื่อสร้างรหัสย่อจากรหัส SKU ยาว

### 4. ใช้ VAR เพื่อความชัดเจน

```excel
Extract Prefix =
VAR Code = "TH-2024-001"
RETURN LEFT(Code, 2)
```

**ผลลัพธ์:** `"TH"`

ใช้ VAR เก็บค่าข้อความก่อน แล้วจึงใช้กับ LEFT ทำให้อ่านง่ายขึ้น

### 5. ทำงานกับข้อมูลหลายภาษา

```excel
First Char Thai = LEFT(Product[ProductNameThai], 1)
```

**ผลลัพธ์:** `"น" (ถ้า ProductNameThai = "น้ำตาล")`

LEFT ทำงานได้กับ Unicode ทุกภาษา รวมไทย จีน อาหรับ ฯลฯ

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

- ใช้กับ Calculated Column เพื่อสร้าง Dimension ใหม่จากรหัสยาว

- รวมกับ RIGHT และ MID ได้เพื่อแยกข้อมูลออกเป็นส่วนๆ

- ถ้าต้องใช้กับ DirectQuery ให้ใช้ Power Query (M language) แทน

- Unicode friendly - ทำงานได้กับ Thai, Chinese, Arabic ฯลฯ ไม่ต้องกังวล

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

**Q: ถ้าใส่ num_chars มากกว่าความยาวของข้อความจะเป็นไงคะ?**

LEFT จะคืนค่าทั้งหมดที่มีอยู่ ไม่มีข้อผิดพลาด เช่น LEFT("ABC", 10) ก็จะได้ "ABC" ตามปกติ

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

การทำงานเหมือนกัน แต่ DAX ใช้ Unicode คงที่ สำหรับทุกภาษา ไม่ต้องแยก Byte แบบ Excel

**Q: ใช้ได้กับ DirectQuery ไหมคะ?**

ไม่ได้ LEFT ไม่รองรับ DirectQuery ในโหมด Calculated Column หรือ RLS ต้องใช้ Import Mode

**Q: ใช้ข้อมูลตัวเลขได้ไหมคะ?**

ต้อง Convert เป็น Text ก่อน เช่น LEFT(TEXT(123456, "0"), 3) ก็จะได้ "123"

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

- [Microsoft Learn: LEFT Function DAX](https://learn.microsoft.com/en-us/dax/left-function-dax) _(official)_
- [DAX Guide: LEFT](https://dax.guide/left/) _(guide)_
- [SQLBI: Text Functions in DAX](https://www.sqlbi.com/articles/text-functions-in-dax/) _(guide)_

---

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