Thep Excel

NATURALLEFTOUTERJOIN – รวมตารางแบบ Left Outer Join ตามคอลัมน์ชื่อเดียวกัน

NATURALLEFTOUTERJOIN ทำ left outer join ระหว่าง LeftTable และ RightTable โดยใช้คอลัมน์ชื่อเดียวกันเป็นคีย์ เก็บทุกแถวของตารางซ้ายไว้ทั้งหมด และเติมคอลัมน์จากตารางขวาเมื่อจับคู่ได้ (ไม่จับคู่จะเป็น BLANK)

=NATURALLEFTOUTERJOIN(<LeftTable>, <RightTable>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
4/10

Difficulty
5/10

Usefulness
4/10

Syntax & Arguments

=NATURALLEFTOUTERJOIN(<LeftTable>, <RightTable>)

Argument Type Required Default Description
LeftTable table Yes ตารางฝั่งซ้าย (ทุกแถวฝั่งนี้จะถูกเก็บไว้)
RightTable table Yes ตารางฝั่งขวา (คอลัมน์ฝั่งนี้จะถูกเติมเมื่อจับคู่ได้)

How it works

เติมข้อมูลอ้างอิงให้ตารางหลัก

เก็บแถวตารางหลักไว้ทั้งหมด แล้วเติมข้อมูลจากตารางอ้างอิงเมื่อจับคู่ได้

ตรวจรายการที่ไม่มีการจับคู่

แถวที่คอลัมน์ฝั่งขวาเป็น BLANK คือแถวที่ไม่พบคู่

Examples

ตัวอย่างที่ 1: Left outer join เพื่อเติมข้อมูลสินค้า
Joined = NATURALLEFTOUTERJOIN( Sales, Product )
เหมาะเมื่อ Sales เป็นตารางหลักที่ต้องเก็บครบ แล้วเติมข้อมูลจาก Product
DAX Formula:

Joined =
NATURALLEFTOUTERJOIN(
    Sales,
    Product
)

Result:

ได้ตารางที่เก็บทุกแถวของ Sales และเติมคอลัมน์จาก Product เมื่อจับคู่ได้

ตัวอย่างที่ 2: หารายการที่ไม่พบคู่ (แนวคิด)
ไม่พบคู่ (แนวคิด) = FILTER( NATURALLEFTOUTERJOIN(Sales, Product), ISBLANK(Product[ProductName]) )
หลัง join แล้วสามารถตรวจคอลัมน์ฝั่งขวาที่เป็น BLANK เพื่อหาแถวที่ไม่จับคู่
DAX Formula:

=ไม่พบคู่ (แนวคิด) =
FILTER(
    NATURALLEFTOUTERJOIN(Sales, Product),
    ISBLANK(Product[ProductName])
)

Result:

ได้แถวที่ Sales ไม่พบสินค้าใน Product

ตัวอย่างที่ 3: ปรับชื่อคีย์ก่อน join (แนวคิด)
Joined (แนวคิด) = NATURALLEFTOUTERJOIN( SELECTCOLUMNS(A, "Key", A[CustomerID], "ValueA", A[Value]), SELECTCOLUMNS(B, "Key", B[CustID], "ValueB", B[Value]) )
ถ้าคีย์ชื่อไม่ตรงกัน ให้สร้างคอลัมน์ชื่อเดียวกันก่อนด้วย SELECTCOLUMNS
DAX Formula:

=Joined (แนวคิด) =
NATURALLEFTOUTERJOIN(
    SELECTCOLUMNS(A, "Key", A[CustomerID], "ValueA", A[Value]),
    SELECTCOLUMNS(B, "Key", B[CustID], "ValueB", B[Value])
)

Result:

ได้ผล join ด้วยคีย์ชื่อเดียวกัน (Key) โดยเก็บทุกแถวฝั่งซ้าย

FAQs

NATURALLEFTOUTERJOIN ใช้คอลัมน์ไหนเป็นคีย์?

ใช้คอลัมน์ที่มีชื่อเหมือนกันในทั้งสองตารางเป็นคีย์การจับคู่

ถ้าจับคู่ไม่ได้จะเกิดอะไรขึ้น?

แถวยังคงอยู่เพราะเป็น left join แต่คอลัมน์ที่มาจากตารางขวาจะเป็น BLANK

Resources & Related

Additional Notes

NATURALLEFTOUTERJOIN รวมสองตารางเข้าด้วยกันแบบ Left Outer Join โดยอาศัยคอลัมน์ที่มีชื่อเหมือนกันเป็นคีย์การจับคู่ ผลลัพธ์จะเก็บ “ทุกแถวของตารางฝั่งซ้าย” ไว้ทั้งหมด และดึงคอลัมน์จากฝั่งขวามาเติมเมื่อจับคู่ได้ (ถ้าจับคู่ไม่ได้คอลัมน์ฝั่งขวาจะเป็น BLANK)

ถ้าชื่อคอลัมน์คีย์ของสองตารางไม่ตรงกัน ให้ปรับชื่อคอลัมน์ให้เหมือนกันก่อน (เช่นด้วย SELECTCOLUMNS) แล้วค่อยทำ NATURALLEFTOUTERJOIN

Leave a Reply

Your email address will not be published. Required fields are marked *