NATURALLEFTOUTERJOIN ทำ left outer join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์ เก็บทุกแถวของตารางซ้ายไว้ทั้งหมด และเติมคอลัมน์จากตารางขวาเมื่อจับคู่ได้ (ไม่จับคู่จะเป็น BLANK)
=NATURALLEFTOUTERJOIN(<LeftTable>, <RightTable>)
=NATURALLEFTOUTERJOIN(<LeftTable>, <RightTable>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| LeftTable | table | Yes | ตารางฝั่งซ้าย (ทุกแถวฝั่งนี้จะถูกเก็บไว้) | |
| RightTable | table | Yes | ตารางฝั่งขวา (คอลัมน์ฝั่งนี้จะถูกเติมเมื่อจับคู่ได้) |
เก็บแถวตารางหลักไว้ทั้งหมด แล้วเติมข้อมูลจากตารางอ้างอิงเมื่อจับคู่ได้
แถวที่คอลัมน์ฝั่งขวาเป็น BLANK คือแถวที่ไม่พบคู่
Joined = NATURALLEFTOUTERJOIN( Sales, Product )Joined =
NATURALLEFTOUTERJOIN(
Sales,
Product
)
ได้ตารางที่เก็บทุกแถวของ Sales และเติมคอลัมน์จาก Product เมื่อจับคู่ได้
ไม่พบคู่ (แนวคิด) = FILTER( NATURALLEFTOUTERJOIN(Sales, Product), ISBLANK(Product[ProductName]) )=ไม่พบคู่ (แนวคิด) =
FILTER(
NATURALLEFTOUTERJOIN(Sales, Product),
ISBLANK(Product[ProductName])
)
ได้แถวที่ Sales ไม่พบสินค้าใน Product
Joined (แนวคิด) = NATURALLEFTOUTERJOIN( SELECTCOLUMNS(A, "Key", A[CustomerID], "ValueA", A[Value]), SELECTCOLUMNS(B, "Key", B[CustID], "ValueB", B[Value]) )=Joined (แนวคิด) =
NATURALLEFTOUTERJOIN(
SELECTCOLUMNS(A, "Key", A[CustomerID], "ValueA", A[Value]),
SELECTCOLUMNS(B, "Key", B[CustID], "ValueB", B[Value])
)
ได้ผล join ด้วยคีย์ชื่อเดียวกัน (Key) โดยเก็บทุกแถวฝั่งซ้าย
ใช้คอลัมน์ที่มีชื่อเหมือนกันในทั้งสองตารางเป็นคีย์การจับคู่
แถวยังคงอยู่เพราะเป็น left join แต่คอลัมน์ที่มาจากตารางขวาจะเป็น BLANK
NATURALLEFTOUTERJOIN รวมสองตารางเข้าด้วยกันแบบ Left Outer Join โดยอาศัยคอลัมน์ที่มีชื่อเหมือนกันเป็นคีย์การจับคู่ ผลลัพธ์จะเก็บ “ทุกแถวของตารางฝั่งซ้าย” ไว้ทั้งหมด และดึงคอลัมน์จากฝั่งขวามาเติมเมื่อจับคู่ได้ (ถ้าจับคู่ไม่ได้คอลัมน์ฝั่งขวาจะเป็น BLANK)
ถ้าชื่อคอลัมน์คีย์ของสองตารางไม่ตรงกัน ให้ปรับชื่อคอลัมน์ให้เหมือนกันก่อน (เช่นด้วย SELECTCOLUMNS) แล้วค่อยทำ NATURALLEFTOUTERJOIN