| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| text | Text | ข้อความที่ต้องการตัด หรือคอลัมน์ที่มีข้อความในตาราง สามารถใช้ Table[Column] หรือค่า Text ตรงๆ | |
| [num_chars]ไม่บังคับ | Integer | 1 | จำนวนตัวอักษรที่ต้องการดึงจากด้านซ้าย ถ้าไม่ใส่จะเป็น 1 ตัว ถ้ามากกว่าความยาวข้อความจะคืนทั้งหมด |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน LEFT ใน DAX ใช้สำหรับดึงตัวอักษรจากด้านซ้ายสุดของข้อความตามจำนวนที่กำหนด
ส่วนตัวผมคิดว่า LEFT เป็นฟังก์ชันที่ใช้บ่อยในการสร้าง Dimension ใหม่ เช่น ดึงรหัสแผนกจากรหัสพนักงาน หรือค่าคำนำหน้าจากข้อมูลรหัส ที่เจ๋งคือมันไม่มีปัญหากับ Unicode ไม่ว่าจะภาษาไทย จีน หรืออักษรอื่นๆ ก็ประมวลผลได้เหมือนกัน ต่างจาก Excel ที่ต้องแยกสำหรับไบต์เดี่ยวกับไบต์คู่
กวดวิธีใช้ LEFT มันง่ายมาก ใส่ text กับจำนวนตัวอักษร แล้วมันก็จะตัดให้ แต่ต้องระวังเรื่อง DirectQuery นะ ใช้ไม่ได้ในโหมดนั้น
ดึงรหัส 3 ตัวแรกจาก Product Code เพื่อสร้างคอลัมน์ Grouping ใหม่
ใช้ LEFT ดึง 3 ตัวแรกจากรหัสพนักงาน ตัวอักษรตรงนี้เป็นรหัสแผนก เอามาสร้าง Dimension ใหม่ได้
ไม่ใส่ num_chars ก็ได้ จะเอา 1 ตัวแรกมา
ใช้ LEFT กับ RIGHT ร่วมกัน เพื่อสร้างรหัสย่อจากรหัส SKU ยาว
ใช้ VAR เก็บค่าข้อความก่อน แล้วจึงใช้กับ LEFT ทำให้อ่านง่ายขึ้น
LEFT ทำงานได้กับ Unicode ทุกภาษา รวมไทย จีน อาหรับ ฯลฯ
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 จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
FIND คืนค่าตำแหน่งเริ่มต้นของ FindText ภายใน WithinText (เริ่มนับที่ 1) โดยค้นหาแบบแยกตัวพิมพ์ใหญ่/เล็ก และสามารถระบุ StartNum/NotFoundValue เพื่อควบคุมจุดเริ่มค้นหาและผลลัพธ์เมื่อไม่พบได้
LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ
LOWER แปลงข้อความให้เป็นตัวพิมพ์เล็กทั้งหมด มีประโยชน์มากสำหรับการทำความสะอาดข้อมูลและแก้ปัญหาคีย์ไม่ตรงกันเพราะเหตุคำต่างชั้นอักษร
MID คืนสตริงย่อยจากข้อความ โดยเริ่มที่ StartNum (เริ่มนับที่ 1) และดึง NumChars ตัว ใช้บ่อยในการแยก/ตัดข้อความร่วมกับ LEFT/RIGHT/FIND/SEARCH
REPLACE แทนที่อักขระจำนวนหนึ่งในสตริง โดยเริ่มจากตำแหน่งที่ระบุ เหมาะกับการแก้ไขข้อความเฉพาะตำแหน่ง เช่น เปลี่ยนคำนำหน้า แทนที่ตัวเลขบางหลัก หรือซ่อนบางส่วนของข้อมูล
RIGHT คืนค่าตัวอักษรจำนวนหนึ่งจากจุดสิ้นสุดของข้อความ (ด้านขวา) ตามจำนวนที่ระบุ
ฟังก์ชันทำความสะอาดข้อความ ลบช่องว่างส่วนเกินนำหน้า ท้าย และช่องว่างหลายตัวระหว่างคำ โดยคงไว้ช่องว่างเดี่ยวระหว่างคำเท่านั้น
UNICODE คืนค่า code point ของอักขระตัวแรกในข้อความ ใช้ในการตรวจสอบ/จำแนกข้อความตามอักขระนำหน้า หรือทำตรรกะเกี่ยวกับการเข้ารหัส และมักใช้คู่กับ UNICHAR
UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้อความแม่นยำ
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่