Thep Excel

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

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

=LEFT(text, [num_chars])

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
7/10

Difficulty
2/10

Usefulness
7/10

Syntax & Arguments

=LEFT(text, [num_chars])

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

How it works

สร้าง Calculated Column

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

Examples

ดึงรหัสแผนกจากรหัสพนักงาน
Department Code = LEFT(Employee[EmployeeID], 3)
ใช้ LEFT ดึง 3 ตัวแรกจากรหัสพนักงาน ตัวอักษรตรงนี้เป็นรหัสแผนก เอามาสร้าง Dimension ใหม่ได้
DAX Formula:

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

Result:

"ACC" (ถ้า EmployeeID = "ACC-2024-001")

ดึงตัวอักษรแรก (ค่าเริ่มต้น)
First Letter = LEFT(Customer[FirstName])
ไม่ใส่ num_chars ก็ได้ จะเอา 1 ตัวแรกมา
DAX Formula:

First Letter = LEFT(Customer[FirstName])

Result:

"J" (ถ้า FirstName = "John")

รวมกับ RIGHT เพื่อแยกข้อมูล
Prefix And Suffix = LEFT(Product[SKU], 2) & "-" & RIGHT(Product[SKU], 2)
ใช้ LEFT กับ RIGHT ร่วมกัน เพื่อสร้างรหัสย่อจากรหัส SKU ยาว
DAX Formula:

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

Result:

"AB-XY" (ถ้า SKU = "AB-1234-XY")

ใช้ VAR เพื่อความชัดเจน
Extract Prefix = VAR Code = "TH-2024-001" RETURN LEFT(Code, 2)
ใช้ VAR เก็บค่าข้อความก่อน แล้วจึงใช้กับ LEFT ทำให้อ่านง่ายขึ้น
DAX Formula:

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

Result:

"TH"

ทำงานกับข้อมูลหลายภาษา
First Char Thai = LEFT(Product[ProductNameThai], 1)
LEFT ทำงานได้กับ Unicode ทุกภาษา รวมไทย จีน อาหรับ ฯลฯ
DAX Formula:

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

Result:

"น" (ถ้า ProductNameThai = "น้ำตาล")

FAQs

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

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

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

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

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

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

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

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

Resources & Related

Additional Notes

ฟังก์ชัน LEFT ใน DAX ใช้สำหรับดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่กำหนด

ส่วนตัวผมคิดว่า LEFT เป็นฟังก์ชันที่ใช้บ่อยในการสร้าง Dimension ใหม่ เช่น ดึงรหัสแผนกจากรหัสพนักงาน หรือค่าคำนำหน้าจากข้อมูลรหัส ที่เจ๋งคือมันไม่มีปัญหากับ Unicode ไม่ว่าจะภาษาไทย จีน หรืออักษรอื่นๆ ก็ประมวลผลได้เหมือนกัน ต่างจาก Excel ที่ต้องแยกสำหรับไบต์เดี่ยวกับไบต์คู่

กวดวิธีใช้ LEFT มันง่ายมาก ใส่ text กับจำนวนตัวอักษร แล้วมันก็จะตัดให้ แต่ต้องระวังเรื่อง DirectQuery นะ ใช้ไม่ได้ในโหมดนั้น

Leave a Reply

Your email address will not be published. Required fields are marked *