CROSSFILTER
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: CROSSFILTER (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
CROSSFILTER คืออะไร
กำหนดทิศทางการกรองของความสัมพันธ์เฉพาะใน CALCULATE เช่น ให้ยอดขายกรองกลับไปที่ตารางสินค้า เพื่อนับสินค้าที่ขายได้
ใช้เมื่อไหร่
- นับสินค้าหรือลูกค้าที่มียอดตามตัวกรองของรายงาน
- ปิดความสัมพันธ์ชั่วคราวใน Measure เดียว
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| columnName1 | จำเป็น | คอลัมน์ฝั่งหลาย เช่น 'ยอดขาย'[รหัสสินค้า] |
| columnName2 | จำเป็น | คอลัมน์ฝั่งหนึ่ง เช่น 'สินค้า'[รหัสสินค้า] |
| direction | จำเป็น | None (ปิด), OneWay (ฝั่งหนึ่งกรองฝั่งหลาย), Both (กรองทั้งสองทาง) และ OneWay_LeftFiltersRight / OneWay_RightFiltersLeft |
ลองเลย: จำนวนสินค้าที่ขายได้ในแต่ละภาค
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
- พนักงานขาย[ภูมิภาค] = "กลาง"
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025
- ความสัมพันธ์ทิศทาง 'ยอดขาย'[รหัสสินค้า] ↔ 'สินค้า'[รหัสสินค้า]: สองทาง
- ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| ภูมิภาค | จำนวนสินค้าในโมเดล | สินค้าที่ขายได้ |
|---|---|---|
| กลาง | ||
| เหนือ | ||
| ตะวันออกเฉียงเหนือ | ||
| ตะวันออก | ||
| ใต้ | ||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=ROWS(UNIQUE(FILTER(ยอดขาย[รหัสสินค้า], ยอดขาย[ภูมิภาค]="กลาง")))Excel นับรหัสสินค้าที่ไม่ซ้ำในแถวที่ตรงเงื่อนไข
สินค้าที่ขายได้ = CALCULATE(COUNTROWS('สินค้า'), CROSSFILTER('ยอดขาย'[รหัสสินค้า], 'สินค้า'[รหัสสินค้า], BOTH))ตัวกรองภาคไหลจากพนักงาน → ยอดขาย → สินค้า
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. COUNTROWS('สินค้า') ในแถวภาคกลางได้ 10 เพราะอะไร
ตัวกรองภาคไม่ไหลกลับไปตารางสินค้า
2. CROSSFILTER(…, BOTH) ทำอะไร
เปิดความสัมพันธ์ที่ปิดไว้ใช้ USERELATIONSHIP
3. ต้องการปิดความสัมพันธ์ชั่วคราว ใส่ direction ใด
None คือไม่กรองผ่านความสัมพันธ์นั้น
ไฟล์ฝึก CROSSFILTER
9Expert-DAX-CROSSFILTER-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[สินค้าที่ขายได้] จำนวนสินค้าที่มีคำสั่งซื้อในช่วงที่กรอง · กรอง ภูมิภาค = ใต้, ปี = 2024
- ข้อ 2[สินค้าที่ขายได้] จำนวนสินค้าที่มีคำสั่งซื้อในช่วงที่กรอง · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
- ข้อ 3[สินค้าที่ขายได้] จำนวนสินค้าที่มีคำสั่งซื้อในช่วงที่กรอง · กรอง ภูมิภาค = เหนือ, ปี = 2025
- ข้อ 4[สินค้าที่ขายได้] จำนวนสินค้าที่มีคำสั่งซื้อในช่วงที่กรอง · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
- ข้อ 5[สินค้าที่ขายได้] จำนวนสินค้าที่มีคำสั่งซื้อในช่วงที่กรอง · กรอง ปี = 2025
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)