=LEFT(text, [num_chars])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text | Text | Yes | ข้อความที่ต้องการตัด หรือคอลัมน์ที่มีข้อความในตาราง สามารถใช้ Table[Column] หรือค่า Text ตรงๆ | |
| num_chars | Integer | Optional | 1 | จำนวนตัวอักษรที่ต้องการดึงจากด้านซ้าย ถ้าไม่ใส่จะเป็น 1 ตัว ถ้ามากกว่าความยาวข้อความจะคืนทั้งหมด |
ดึงรหัส 3 ตัวแรกจาก Product Code เพื่อสร้างคอลัมน์ Grouping ใหม่
Department Code = LEFT(Employee[EmployeeID], 3)Department Code = LEFT(Employee[EmployeeID], 3)
"ACC" (ถ้า EmployeeID = "ACC-2024-001")
First Letter = LEFT(Customer[FirstName])First Letter = LEFT(Customer[FirstName])
"J" (ถ้า FirstName = "John")
Prefix And Suffix = LEFT(Product[SKU], 2) & "-" & RIGHT(Product[SKU], 2)Prefix And Suffix = LEFT(Product[SKU], 2) & "-" & RIGHT(Product[SKU], 2)
"AB-XY" (ถ้า SKU = "AB-1234-XY")
Extract Prefix = VAR Code = "TH-2024-001" RETURN LEFT(Code, 2)Extract Prefix =
VAR Code = "TH-2024-001"
RETURN LEFT(Code, 2)
"TH"
First Char Thai = LEFT(Product[ProductNameThai], 1)First Char Thai = LEFT(Product[ProductNameThai], 1)
"น" (ถ้า ProductNameThai = "น้ำตาล")
LEFT จะคืนค่าทั้งหมดที่มีอยู่ ไม่มีข้อผิดพลาด เช่น LEFT(“ABC”, 10) ก็จะได้ “ABC” ตามปกติ
การทำงานเหมือนกัน แต่ DAX ใช้ Unicode คงที่ สำหรับทุกภาษา ไม่ต้องแยก Byte แบบ Excel
ไม่ได้ LEFT ไม่รองรับ DirectQuery ในโหมด Calculated Column หรือ RLS ต้องใช้ Import Mode
ต้อง Convert เป็น Text ก่อน เช่น LEFT(TEXT(123456, “0”), 3) ก็จะได้ “123”
ฟังก์ชัน LEFT ใน DAX ใช้สำหรับดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่กำหนด
ส่วนตัวผมคิดว่า LEFT เป็นฟังก์ชันที่ใช้บ่อยในการสร้าง Dimension ใหม่ เช่น ดึงรหัสแผนกจากรหัสพนักงาน หรือค่าคำนำหน้าจากข้อมูลรหัส ที่เจ๋งคือมันไม่มีปัญหากับ Unicode ไม่ว่าจะภาษาไทย จีน หรืออักษรอื่นๆ ก็ประมวลผลได้เหมือนกัน ต่างจาก Excel ที่ต้องแยกสำหรับไบต์เดี่ยวกับไบต์คู่
กวดวิธีใช้ LEFT มันง่ายมาก ใส่ text กับจำนวนตัวอักษร แล้วมันก็จะตัดให้ แต่ต้องระวังเรื่อง DirectQuery นะ ใช้ไม่ได้ในโหมดนั้น