ตัวอย่างที่ 1: รายชื่อสินค้าที่ขายได้ (พื้นฐาน)
Sold Products = CONCATENATEX( Sales, RELATED('Product'[ProductName]), ", " )
Apple, Banana, Orange
เชื่อมข้อความจากหลายแถวให้เป็นข้อความเดียว (เหมือน TEXTJOIN)
CONCATENATEX วนลูปในตารางเพื่อนำผลลัพธ์ของ Expression ในแต่ละแถวมาเชื่อมต่อกันเป็นข้อความเดียว สามารถกำหนดตัวคั่น (Delimiter) และเรียงลำดับผลลัพธ์ก่อนเชื่อมได้
=CONCATENATEX(Table, Expression, [Delimiter], [OrderBy_Expression1], [Order1], ...)
=CONCATENATEX(Table, Expression, [Delimiter], [OrderBy_Expression1], [Order1], ...)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| Table | table | Yes | ตารางที่ต้องการวนลูป | |
| Expression | text | Yes | สูตรหรือคอลัมน์ที่ให้ผลลัพธ์เป็นข้อความที่ต้องการเชื่อม | |
| Delimiter | text | Optional | , | ตัวคั่นระหว่างข้อความ (เช่น “, “) |
| OrderBy_Expression | any | Optional | คอลัมน์ที่ใช้สำหรับเรียงลำดับข้อมูลก่อนเชื่อม |
แสดงชื่อสินค้าทั้งหมดที่ขายได้ใน Order นั้นๆ รวมอยู่ในช่องเดียว คั่นด้วยคอมมา
ใช้แสดงค่าที่ Filter Context มองเห็น เพื่อตรวจสอบความถูกต้องของสูตร
Sold Products = CONCATENATEX( Sales, RELATED('Product'[ProductName]), ", " )
Apple, Banana, Orange
Sorted Products = CONCATENATEX(
VALUES('Product'[ProductName]),
'Product'[ProductName],
", ",
'Product'[ProductName],
ASC
)
Apple, Banana, Orange (เรียงตามตัวอักษร)
Top 3 Salesman =
CONCATENATEX(
TOPN(3, VALUES(Sales[Salesperson]), [Total Sales], DESC),
Sales[Salesperson] & " (" & FORMAT([Total Sales], "#,#") & " )",
UNICHAR(10),
[Total Sales],
DESC
)
John (10,000)
Jane (8,500)
Bob (5,000)
ถ้าคุณใช้ CONCATENATEX กับตาราง Fact (เช่น Sales) โดยตรง ชื่อสินค้าจะซ้ำตามจำนวนแถวที่ขายได้ ควรใช้ฟังก์ชัน VALUES หรือ DISTINCT หรือ SUMMARIZE เพื่อสรุปรายการที่ไม่ซ้ำก่อนส่งให้ CONCATENATEX
CONCATENATEX คือฟังก์ชันที่ช่วยให้คุณนำข้อความจากหลายๆ แถวมาเชื่อมต่อกันเป็นข้อความเดียว โดยมีตัวคั่น (Delimiter) คั่นกลาง คล้ายกับฟังก์ชัน TEXTJOIN ใน Excel แต่ทำงานบน Data Model ของ DAX
ประโยชน์หลักคือการแสดงรายการข้อมูลหลายรายการใน Cell เดียวในตาราง Matrix หรือ Card เช่น การแสดงรายชื่อสินค้าทั้งหมดที่ลูกค้าคนนี้ซื้อ