แชร์ผ่าน


Table.NestedJoin

ไวยากรณ์

Table.NestedJoin(table1 as table, key1 as any, table2 as any, key2 as any, newColumnName as text, optional joinKind as nullable number, optional keyEqualityComparers as nullable list) as table

เกี่ยวกับ

รวมแถวของ table1 กับแถวของ table2 โดยยึดตามความเท่ากันของค่าของคอลัมน์คีย์ซึ่งถูกเลือกโดย key1 (สําหรับ table1) และ key2 (สําหรับ table2) ผลลัพธ์จะถูกป้อนลงในคอลัมน์ที่ชื่อว่าnewColumnName

ที่เลือกได้ joinKind จะระบุชนิดของการรวมที่จะดําเนินการ ตามค่าเริ่มต้น การรวมภายนอกด้านซ้าย (left outer join) จะดําเนินการหาก joinKind ไม่ได้ระบุ

อาจรวมชุด keyEqualityComparers ที่เลือกได้ เพื่อระบุวิธีการเปรียบเทียบคอลัมน์คีย์ คุณลักษณะนี้มี keyEqualityComparers ไว้สําหรับการใช้งานภายในเท่านั้น

ตัวอย่างที่ 1

รวมสองตารางโดยใช้คอลัมน์คีย์เดียว

การใช้งาน

Table.NestedJoin(
    Table.FromRecords({
        [CustomerToCall = 1],
        [CustomerToCall = 3]
    }),
    {"CustomerToCall"},
    Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"],
        [CustomerID = 3, Name = "Paul", Phone = "543-7890"],
        [CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
    }),
    {"CustomerID"},
    "CustomerDetails"
)

เอาท์พุท

Table.FromRecords({
    [CustomerToCall = 1, CustomerDetails = Table.FromRecords({[CustomerID = 1, Name = "Bob", Phone = "123-4567"]})],
    [CustomerToCall = 3, CustomerDetails = Table.FromRecords({[CustomerID = 3, Name = "Paul", Phone = "543-7890"]})]
})