Thep Excel

DAX · Text

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

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

fx
=LEFT(text, [num_chars])

ความนิยม7/10
ความยาก2/10
ประโยชน์7/10

อัปเดต 14 December 2025

Syntax & Arguments

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

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

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

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

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

How it works

สร้าง Calculated Column

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

Examples

ดึงรหัสแผนกจากรหัสพนักงานDepartment Code = LEFT(Employee[EmployeeID], 3)

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

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

ผลลัพธ์"ACC" (ถ้า EmployeeID = "ACC-2024-001")
ดึงตัวอักษรแรก (ค่าเริ่มต้น)First Letter = LEFT(Customer[FirstName])

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

fx
First Letter = LEFT(Customer[FirstName])

ผลลัพธ์"J" (ถ้า FirstName = "John")
รวมกับ RIGHT เพื่อแยกข้อมูลPrefix And Suffix = LEFT(Product[SKU], 2) & "-" & RIGHT(Product[SKU], 2)

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

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

ผลลัพธ์"AB-XY" (ถ้า SKU = "AB-1234-XY")
ใช้ VAR เพื่อความชัดเจนExtract Prefix = VAR Code = "TH-2024-001" RETURN LEFT(Code, 2)

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

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

ผลลัพธ์"TH"
ทำงานกับข้อมูลหลายภาษาFirst Char Thai = LEFT(Product[ProductNameThai], 1)

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

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

ผลลัพธ์"น" (ถ้า 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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ LEFT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้LEFTText
Text (9)
FIND

FIND คืนค่าตำแหน่งเริ่มต้นของ FindText ภายใน WithinText (เริ่มนับที่ 1) โดยค้นหาแบบแยกตัวพิมพ์ใหญ่/เล็ก และสามารถระบุ StartNum/NotFoundValue เพื่อควบคุมจุดเริ่มค้นหาและผลลัพธ์เมื่อไม่พบได้

LEN (DAX)

LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ

LOWER

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

MID

MID คืนสตริงย่อยจากข้อความ โดยเริ่มที่ StartNum (เริ่มนับที่ 1) และดึง NumChars ตัว ใช้บ่อยในการแยก/ตัดข้อความร่วมกับ LEFT/RIGHT/FIND/SEARCH

REPLACE

REPLACE แทนที่อักขระจำนวนหนึ่งในสตริง โดยเริ่มจากตำแหน่งที่ระบุ เหมาะกับการแก้ไขข้อความเฉพาะตำแหน่ง เช่น เปลี่ยนคำนำหน้า แทนที่ตัวเลขบางหลัก หรือซ่อนบางส่วนของข้อมูล

RIGHT

RIGHT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดสิ้นสุดของข้อความ (ด้านขวา) ตามจำนวนที่ระบุ

TRIM

ฟังก์ชันทำความสะอาดข้อความ ลบช่องว่างส่วนเกินนำหน้า ท้าย และช่องว่างหลายตัวระหว่างคำ โดยคงไว้ช่องว่างเดี่ยวระหว่างคำเท่านั้น

UNICODE

UNICODE คืนค่า code point ของอักขระตัวแรกในข้อความ ใช้ในการตรวจสอบ/จำแนกข้อความตามอักขระนำหน้า หรือทำตรรกะเกี่ยวกับการเข้ารหัส และมักใช้คู่กับ UNICHAR

UPPER

UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้อความแม่นยำ

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่