| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text1 | scalar | ข้อความ/ค่าสเกลาร์ตัวแรก สามารถเป็นข้อความ ตัวเลข boolean หรือ reference ไปยังคอลัมน์ |
| text2 | scalar | ข้อความ/ค่าสเกลาร์ตัวที่สอง สามารถเป็นข้อความ ตัวเลข boolean หรือ reference ไปยังคอลัมน์ |
CONCATENATE ใช้ต่อข้อความ 2 ส่วนให้เป็นสตริงเดียว เหมาะกับงานทำชื่อแสดงผล (label) หรือประกอบข้อความจากหลายคอลัมน์ เช่น “รหัส – ชื่อสินค้า” โดยฟังก์ชันนี้รับได้ครั้งละ 2 ค่า ส่วนตัวผมชอบใช้เมื่ออยากต่อข้อความจากสองที่แหล่งเท่านั้น เพราะความชัดเจน ได้เลย ไม่ต้อง nest หลาย ๆ ครั้งเหมือนแบบซ้อนกัน
ถ้าต้องต่อหลายค่าแบบยาว ๆ หรือต่อจากตารางทั้งแถว ให้พิจารณาใช้ CONCATENATEX (iterator version) ซึ่งสามารถนำค่าจากหลายแถวมาต่อเป็นสตริงเดียวได้
ที่เจ๋งคือ CONCATENATE ไม่ตัด BLANK โดยอัตโนมัติ ถ้าหนึ่งในสองค่าเป็น BLANK มันจะแสดงผล “” (empty string) เฉย ๆ บางครั้งนี่เป็นปัญหา เลยต้องใช้ COALESCE หรือ IF เพื่อเช็คค่า BLANK ก่อนต่อ
เช่น รหัส + ชื่อ เพื่อใช้ในตารางหรือการ์ด
เช่น “ยอดขาย: 1,234” (เมื่อเตรียมสตริงส่วนเลขไว้แล้ว)
ใช้ใน Calculated Column ของตารางผลิตภัณฑ์ ต่อรหัสและชื่อโดยตรง ได้สตริงต่อเนื่อง
เนื่องจาก CONCATENATE รับ 2 ค่า จึงต้อง nest เมื่อต้องการคั่นด้วยสัญลักษณ์ ทางเลือกที่ดีกว่าคือใช้เครื่องหมาย & เช่น Products[ProductCode] & " – " & Products[ProductName]
ใช้ต่อข้อความลิตเท่านั้นในมาตรวัด เหมาะสำหรับป้ายกำกับและหัวข้อ
ตัวเลขถูกแปลงเป็นข้อความโดยอัตโนมัติ เมื่อใช้กับ FORMAT เพื่อจัดรูปแบบตัวเลขก่อนต่อ
ถ้า FirstName หรือ LastName เป็น BLANK version ❌ จะแสดง " Smith" หรือ "John " (ซ้ายหรือขวามี space ว่าง) เพราะ CONCATENATE ไม่ตัดค่า BLANK อัตโนมัติ
DAX CONCATENATE รับ 2 ค่าเท่านั้น (ต่างจาก Excel ที่รับได้ถึง 255 ค่า) ถ้าต้องต่อหลายค่า ให้ใช้ & operator เช่น [Col1] & [Col2] & [Col3] หรือใช้ CONCATENATEX ถ้าต้องต่อจากหลายแถว
ใช้ได้ใน Calculated Column, Measure, และ Calculated Table ส่วน DirectQuery mode ไม่รองรับ CONCATENATE ในคอลัมน์หรือ RLS rules
ไม่ต่างมากนัก & operator เร็วกว่า และอ่านง่ายกว่า เมื่อต้องต่อหลายค่า CONCATENATE ต้อง nest ซ้อนกันเหมือน CONCATENATE(CONCATENATE([Col1], [Col2]), [Col3]) ส่วน & ได้เลย [Col1] & [Col2] & [Col3]
ไม่ตัด ถ้าค่าใดค่าหนึ่งเป็น BLANK ผลลัพธ์อาจมี space ว่างหรือค่าพิการ จึงต้องใช้ IF หรือ COALESCE ก่อนต่อ
คืนค่าเป็นข้อความ (string) เสมอ ตัวเลขถูกแปลงโดยอัตโนมัติ ถ้าต้องจัดรูปแบบ ให้ใช้ FORMAT ก่อน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ CONCATENATE จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
COMBINEVALUES รวมหลายค่าสเกลาร์เป็นข้อความเดียว โดยกำหนดตัวคั่นได้ เหมาะกับการสร้างคีย์รวมจากหลายคอลัมน์ในแถวเดียว
CONCATENATEX ทำหน้าที่รวมข้อความจากแต่ละแถวในตารางเข้าด้วยกัน เหมาะสำหรับสร้างรายชื่อค่าที่คั่นด้วยจุลภาค หรือรวมข้อมูลจากหลายแถว ใช้ได้กับตัวอักษรหรือค่าใดๆที่ต้องการทำให้เป็นข้อความ
FIXED แปลงตัวเลขเป็นข้อความ พร้อมกำหนดจำนวนทศนิยม และเลือกใส่/ไม่ใส่ตัวคั่นหลักพัน เหมาะกับการแสดงผลแบบรูปแบบคงที่
FORMAT ใช้แปลงค่า (ตัวเลข วันที่ เวลา) เป็น Text ตามรูปแบบที่ต้องการ เช่น แปลง 0.25 เป็น "25%" หรือ 2025-12-20 เป็น "20/12/2025" โดยสนับสนุน locale ต่างๆ
LEN นับจำนวนอักขระของสตริง รวมช่องว่างด้วย ใช้สำหรับตรวจสอบความยาวข้อมูล การทำความสะอาด และงานเงื่อนไขตามความยาวข้อความ
LOWER แปลงข้อความให้เป็นตัวพิมพ์เล็กทั้งหมด มีประโยชน์มากสำหรับการทำความสะอาดข้อมูลและแก้ปัญหาคีย์ไม่ตรงกันเพราะเหตุคำต่างชั้นอักษร
REPT ทำซ้ำข้อความตามจำนวนที่กำหนด ช่วยสร้างสัญลักษณ์ซ้ำๆ เช่น ดาว, จุด, หรือเครื่องหมายคั่น เพื่อจัดรูปแบบและเน้นข้อมูลในรายงาน
ฟังก์ชันทำความสะอาดข้อความ ลบช่องว่างส่วนเกินนำหน้า ท้าย และช่องว่างหลายตัวระหว่างคำ โดยคงไว้ช่องว่างเดี่ยวระหว่างคำเท่านั้น
UPPER แปลงข้อความให้เป็นตัวพิมพ์ใหญ่ทั้งหมด ใช้บ่อยเพื่อปรับปรุงคุณภาพข้อมูลและทำให้การเปรียบเทียบข้อความแม่นยำ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่