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