อ่านในภาษาอังกฤษ

แชร์ผ่าน


COMBINEVALUES

นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณMeasureการคํานวณวิชวล

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

วากยสัมพันธ์

COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)

พารามิเตอร์

เทอม นิยาม
delimiter ตัวคั่นที่จะใช้ระหว่างการเรียงต่อข้อมูล ต้องเป็น valueคงที่
expression นิพจน์ DAX ที่ value จะถูกรวมเข้ากับสตริงข้อความเดียว

value ผลลัพธ์

สตริงที่เชื่อมเข้าด้วยกัน

หมาย เหตุ

  • ฟังก์ชัน COMBINEVALUES สันนิษฐาน แต่ not ตรวจสอบความถูกต้องว่าเมื่อ values อินพุตแตกต่างกัน สตริงผลลัพธ์จะแตกต่างกันด้วย ตามสมมติฐานนี้ เมื่อใช้ COMBINEVALUES ในการสร้างคอลัมน์จากการคํานวณเพื่อสร้างความสัมพันธ์ที่รวมหลายคอลัมน์จากตาราง DirectQuery สองตาราง เงื่อนไขการรวมที่ปรับให้เหมาะสมแล้วจะถูกสร้างขึ้นใน timeคิวรี ตัวอย่างเช่น if ผู้ใช้ต้องการสร้างความสัมพันธ์ระหว่าง Table1(Column1, Column2) and Table2(Column1, Column2) พวกเขาสามารถสร้างคอลัมน์จากการคํานวณสองคอลัมน์ หนึ่งคอลัมน์ในแต่ละตาราง เช่น:

    Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
    

    and

    Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
    

    And สร้างความสัมพันธ์ระหว่าง Table1[CalcColumn]andTable2[CalcColumn] ซึ่งแตกต่างจากฟังก์ชัน DAX อื่น ๆ and ตัวดําเนินการ ซึ่งแปลตามตัวดําเนินการ SQL ที่สอดคล้องกัน and ฟังก์ชัน ความสัมพันธ์ข้างต้นจะสร้างเพรดิเคตการรวม SQL เป็น:

    (Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
    

    and

    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • เพรดิเคตการรวมสามารถทําให้ประสิทธิภาพการทํางานของคิวรีดียิ่งขึ้นกว่าเพรดิเคตที่เกี่ยวข้องกับตัวดําเนินการ SQL ที่ซับซ้อน and ฟังก์ชัน

  • ฟังก์ชัน COMBINEVALUES อาศัยผู้ใช้เพื่อเลือกตัวคั่นที่เหมาะสมเพื่อให้แน่ใจว่าการผสมผสานของอินพุตที่ไม่ซ้ํากัน values สร้างสตริงผลลัพธ์ที่แตกต่างกัน แต่ not ตรวจสอบว่าสมมติฐานนั้น true ตัวอย่างเช่น if ผู้ใช้เลือก "| " เป็นตัวคั่น แต่หนึ่งแถวใน Table1 มี Table1[Column1] = "| "andTable2 [Column2] = " "ในขณะที่แถวหนึ่งใน Table2 ได้ Table2[Column1] = " "andTable2[Column2] = "| "ผลลัพธ์ที่เชื่อมเข้าด้วยกันสองรายการจะเป็น "|| "เดียวกัน ซึ่งดูเหมือนจะระบุว่าทั้งสองแถวนั้นตรงกันในการดําเนินการรวม สองแถวจะถูก not รวมเข้าด้วยกัน if ทั้งสองตารางมาจากแหล่งข้อมูล DirectQuery เดียวกันแม้ว่าทั้งสองตารางจะถูกรวมเข้าด้วยกัน if นําเข้าทั้งสองตาราง

ตัวอย่าง

คิวรี DAX ต่อไปนี้:

EVALUATE
DISTINCT (
    SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)

แสดงตารางแบบคอลัมน์เดียวต่อไปนี้:

[Month]
มกราคม 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