หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
นําไปใช้กับ: คอลัมน์จากการคํานวณ![]()
ตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
รวมสตริงข้อความสองรายการขึ้นไปเป็นสตริงข้อความเดียว วัตถุประสงค์หลักของฟังก์ชันนี้คือการสนับสนุนความสัมพันธ์แบบหลายคอลัมน์ในแบบจําลอง DirectQuery ดู หมายเหตุ
วากยสัมพันธ์
COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)
พารามิเตอร์
| เทอม | นิยาม |
|---|---|
delimiter |
ตัวคั่นที่จะใช้ระหว่างการเรียงต่อข้อมูล ต้องเป็นค่าคงที่ |
expression |
นิพจน์ DAX ที่จะมีการรวมค่าเป็นสตริงข้อความเดียว |
ค่าผลลัพธ์
สตริงที่เชื่อมเข้าด้วยกัน
หมาย เหตุ
ฟังก์ชัน COMBINEVALUES สันนิษฐานแต่ไม่ได้รับการตรวจสอบ ว่าเมื่อค่าที่ป้อนเข้าแตกต่างกัน สตริงผลลัพธ์จะแตกต่างกันด้วย ตามสมมติฐานนี้ เมื่อใช้ COMBINEVALUES ในการสร้างคอลัมน์จากการคํานวณเพื่อสร้างความสัมพันธ์ที่รวมหลายคอลัมน์จากตาราง DirectQuery สองตาราง เงื่อนไขการรวมที่ปรับให้เหมาะสมแล้วจะถูกสร้างขึ้นในเวลาที่มีการคิวรี ตัวอย่างเช่น ถ้าผู้ใช้ต้องการสร้างความสัมพันธ์ระหว่าง Table1(Column1, Column2) และ Table2(Column1, Column2) พวกเขาสามารถสร้างคอลัมน์จากการคํานวณสองคอลัมน์ หนึ่งคอลัมน์ในแต่ละตาราง เช่น:
Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])และ
Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])แล้วสร้างความสัมพันธ์ระหว่าง
Table1[CalcColumn]กับTable2[CalcColumn]ซึ่งแตกต่างจากฟังก์ชันและตัวดําเนินการ DAX อื่น ๆ ซึ่งแปลตามตัวดําเนินการและฟังก์ชัน SQL ที่สอดคล้องกัน ความสัมพันธ์ข้างต้นจะสร้างเพรดิเคตการรวมของ SQL เป็น:(Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)และ
(Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)เพรดิเคตการรวมสามารถทําให้ประสิทธิภาพการคิวรีดียิ่งขึ้นกว่าเพรดิเคตที่เกี่ยวข้องกับตัวดําเนินการและฟังก์ชัน SQL ที่ซับซ้อน
ฟังก์ชัน COMBINEVALUES อาศัยผู้ใช้เพื่อเลือกตัวคั่นที่เหมาะสมเพื่อให้แน่ใจว่าการรวมค่าการป้อนข้อมูลที่ไม่ซ้ํากันจะสร้างสตริงผลลัพธ์ที่แตกต่างกัน แต่ไม่มีการตรวจสอบความถูกต้องว่าสมมติฐานเป็นจริง ตัวอย่างเช่น ถ้าผู้ใช้เลือก
"| "เป็นตัวคั่น แต่หนึ่งแถวใน Table1 มีTable1[Column1] = "| "และTable2 [Column2] = " "ในขณะที่แถวหนึ่งใน Table2 มีTable2[Column1] = " "และTable2[Column2] = "| "ผลลัพธ์ที่เชื่อมเข้าด้วยกันสองรายการจะเป็น"|| "เดียวกัน ซึ่งดูเหมือนว่าจะระบุว่าทั้งสองแถวตรงกันในการดําเนินการรวม สองแถวจะไม่รวมเข้าด้วยกันถ้าทั้งสองตารางมาจากแหล่งข้อมูล DirectQuery เดียวกันแม้ว่าทั้งสองตารางจะถูกรวมเข้าด้วยกันถ้ามีการนําเข้าทั้งสองตาราง
ตัวอย่าง
คิวรี DAX ต่อไปนี้:
EVALUATE
DISTINCT (
SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)
แสดงตารางแบบคอลัมน์เดียวต่อไปนี้:
| [เดือน] |
|---|
| มกราคม 2020 |
| กุมภาพันธ์ พ.ศ. 2563 |
| มีนาคม พ.ศ. 2563 |
| เมษายน พ.ศ. 2563 |
| พฤษภาคม พ.ศ. 2563 |
| มิถุนายน 2020 |
| กรกฎาคม พ.ศ. 2563 |
| สิงหาคม 2020 |
| กันยายน 2020 |
| ตุลาคม พ.ศ. 2563 |
| พฤศจิกายน พ.ศ. 2563 |
| ธันวาคม 2020 |
| มกราคม 2021 |
| มกราคม 2021 |
| กุมภาพันธ์ พ.ศ. 2564 |
| มีนาคม พ.ศ. 2564 |
| เมษายน พ.ศ. 2564 |
| พฤษภาคม พ.ศ. 2564 |
| มิถุนายน พ.ศ. 2564 |
| กรกฎาคม พ.ศ. 2564 |
| สิงหาคม 2021 |
| กันยายน พ.ศ. 2564 |
| ตุลาคม พ.ศ. 2564 |
| พฤศจิกายน พ.ศ. 2564 |
| ธันวาคม 2021 |