แชร์ผ่าน


COMBINEVALUES

นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ

รวมสตริงข้อความสองรายการขึ้นไปเป็นสตริงข้อความเดียว วัตถุประสงค์หลักของฟังก์ชันนี้คือการสนับสนุนความสัมพันธ์แบบหลายคอลัมน์ในแบบจําลอง DirectQuery ดู หมายเหตุ สําหรับรายละเอียด

ไวยากรณ์

COMBINEVALUES(<delimiter>, <expression>, <expression>[, <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