คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ฟังก์ชันตาราง (Table) › INTERSECT

INTERSECT

DAX · Power BIฟังก์ชันตาราง (Table)ระดับกลางแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: INTERSECT (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

INTERSECT คืออะไร

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

ใช้เมื่อไหร่

  • หาลูกค้าที่ซื้อทั้งปีนี้และปีก่อน (ลูกค้าเดิม)
  • หาสินค้าที่ขายได้ทั้งสองช่องทาง

รูปแบบสูตร

=INTERSECT(<tableExpression1>, <tableExpression2>)

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
tableExpression1จำเป็นตารางแรก ชื่อคอลัมน์และ lineage ของผลลัพธ์มาจากตารางนี้
tableExpression2จำเป็นตารางที่ใช้เทียบ ต้องมีจำนวนคอลัมน์เท่ากัน

ลองเลย: ลูกค้าที่ซื้อทั้งปี 2024 และปี 2025 แยกตามภูมิภาค

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[ลูกค้าปี 2025] = COUNTROWS(CALCULATETABLE(VALUES('ยอดขาย'[รหัสลูกค้า]), 'วันที่'[ปี] = 2025))
[อัตรากลับมาซื้อ] = DIVIDE([ลูกค้าที่ซื้อทั้งสองปี], COUNTROWS(CALCULATETABLE(VALUES('ยอดขาย'[รหัสลูกค้า]), 'วันที่'[ปี] = 2024)))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่ไม่มีตัวกรอง
  • ยอดขายเหลือ 181 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ลูกค้าที่ซื้อทั้งปี 2024 และปี 2025 แยกตามภูมิภาค
ลูกค้าที่ซื้อทั้งปี 2024 และปี 2025 แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคลูกค้าปี 2025ลูกค้าที่ซื้อทั้งสองปีอัตรากลับมาซื้อ
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
34ลูกค้าที่ซื้อทั้งสองปี · กลาง
ดูทีละขั้นขั้น 8 / 8

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=SUM(--ISNUMBER(XMATCH(UNIQUE(ลูกค้าปี2024), UNIQUE(ลูกค้าปี2025))))

Excel ต้องเทียบรายชื่อสองชุดด้วย XMATCH หรือ COUNTIF เอง

DAXลูกค้าที่ซื้อทั้งสองปี = COUNTROWS(INTERSECT(CALCULATETABLE(VALUES('ยอดขาย'[รหัสลูกค้า]), 'วันที่'[ปี] = 2024), CALCULATETABLE(VALUES('ยอดขาย'[รหัสลูกค้า]), 'วันที่'[ปี] = 2025)))

ลูกค้าที่มีในรายชื่อทั้งปี 2024 และปี 2025

ข้อผิดพลาดและเคล็ดลับ

INTERSECT ไม่สลับที่ได้ INTERSECT(A, B) เก็บแถวซ้ำของ A ไว้ทั้งหมด ถ้าใช้ VALUES ทั้งสองข้างจะไม่มีแถวซ้ำ
เทียบคอลัมน์ตามลำดับ ไม่ได้ดูชื่อคอลัมน์ และไม่แปลงชนิดข้อมูลให้
ปีในสูตรเขียนตายตัว ถ้าต้องการเทียบปีที่เลือกกับปีก่อน ใช้ SAMEPERIODLASTYEAR หรือ PARALLELPERIOD ใน CALCULATETABLE แทน

แบบทดสอบ 3 ข้อ

1. INTERSECT(ลูกค้าปีนี้, ลูกค้าปีก่อน) คือลูกค้ากลุ่มใด

2. INTERSECT เทียบคอลัมน์อย่างไร

3. สลับลำดับตาราง INTERSECT(A, B) กับ INTERSECT(B, A) ผลเหมือนกันหรือไม่

ไฟล์ฝึก INTERSECT

9Expert-DAX-INTERSECT-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[ลูกค้าที่ซื้อทั้งสองปี] จำนวนลูกค้าที่ซื้อทั้งปี 2024 และปี 2025 · กรอง ภูมิภาค = ใต้
  2. ข้อ 2[ลูกค้าที่ซื้อทั้งสองปี] จำนวนลูกค้าที่ซื้อทั้งปี 2024 และปี 2025 · กรอง ภูมิภาค = เหนือ, ช่องทาง = Online
  3. ข้อ 3[ลูกค้าปี 2025] จำนวนลูกค้าที่ซื้อในปี 2025 · กรอง ภูมิภาค = ตะวันออก
  4. ข้อ 4[อัตรากลับมาซื้อ] สัดส่วนลูกค้าปี 2024 ที่กลับมาซื้อในปี 2025 · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Modern Trade
  5. ข้อ 5[ลูกค้าปี 2025] จำนวนลูกค้าที่ซื้อในปี 2025 · กรอง ไม่กรอง

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร