EXCEPT คืนตารางของแถวที่อยู่ใน LeftTable แต่ไม่อยู่ใน RightTable เหมาะกับการหาสิ่งที่ขาดหาย/อยู่ในชุดหนึ่งแต่ไม่อยู่ในอีกชุดหนึ่ง
=EXCEPT(<LeftTable>, <RightTable>)
=EXCEPT(<LeftTable>, <RightTable>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| LeftTable | table | Yes | ตารางฝั่งซ้าย (ชุดหลักที่ต้องการเทียบ) | |
| RightTable | table | Yes | ตารางฝั่งขวา (ชุดที่ต้องการตัดออกจากฝั่งซ้าย) |
เอารายการสินค้าทั้งหมด ลบด้วยรายการสินค้าที่เคยปรากฏในยอดขาย
เทียบรายชื่อลูกค้ากับรายชื่อลูกค้าที่ปรากฏในตารางขาย
Products Without Sales = EXCEPT( VALUES(Products[ProductID]), VALUES(Sales[ProductID]) )Products Without Sales =
EXCEPT(
VALUES(Products[ProductID]),
VALUES(Sales[ProductID])
)
ได้รายการ ProductID ที่อยู่ใน Products แต่ไม่พบใน Sales
Customers Without Sales = EXCEPT( VALUES(Customers[CustomerID]), VALUES(Sales[CustomerID]) )Customers Without Sales =
EXCEPT(
VALUES(Customers[CustomerID]),
VALUES(Sales[CustomerID])
)
ได้รายการ CustomerID ที่ไม่มีธุรกรรมขาย
Customers Both Tables = INTERSECT( VALUES(Customers[CustomerID]), VALUES(Sales[CustomerID]) )Customers Both Tables =
INTERSECT(
VALUES(Customers[CustomerID]),
VALUES(Sales[CustomerID])
)
ได้รายการที่มีอยู่ในทั้งสองชุด
EXCEPT คืนแถวที่อยู่ในซ้ายแต่ไม่อยู่ในขวา ส่วน INTERSECT คืนแถวที่อยู่ในทั้งสองตาราง
ควรมีคอลัมน์ที่สอดคล้องกัน (เช่น จำนวน/ชนิดคอลัมน์ที่เทียบกันได้) เพื่อให้การเทียบแถวทำงานได้ถูกต้อง
EXCEPT ใช้คืนตารางของแถวที่อยู่ใน LeftTable แต่ไม่อยู่ใน RightTable (เหมือนแนวคิดผลต่างของเซต) เหมาะกับการหาสิ่งที่ “ขาด” เช่น รายการสินค้าที่ไม่เคยขาย รายชื่อลูกค้าที่ไม่มีธุรกรรม หรือรายการที่อยู่ในชุดหนึ่งแต่ไม่อยู่ในอีกชุดหนึ่ง