RANKX
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: RANKX (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
RANKX คืออะไร
จัดอันดับค่าของแถวปัจจุบันเทียบกับทุกแถวของตารางที่กำหนด ค่าที่มากที่สุดได้อันดับ 1 (ค่าเริ่มต้น)
ใช้เมื่อไหร่
- จัดอันดับภาค พนักงาน หรือสินค้าตามยอดขาย
- แสดงอันดับคู่กับตัวเลขใน Matrix
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| table | จำเป็น | รายการที่ใช้เทียบ มักใช้ ALL('ตาราง'[คอลัมน์]) ให้ได้ทุกค่า |
| expression | จำเป็น | ค่าที่ใช้จัดอันดับ คำนวณทีละแถวของ table |
| [value] | ไม่บังคับ | ค่าที่ต้องการหาอันดับ ไม่ใส่ = ค่าของ expression ในช่องปัจจุบัน |
| [order] | ไม่บังคับ | DESC (ค่าเริ่มต้น มากได้อันดับ 1) หรือ ASC |
| [ties] | ไม่บังคับ | Skip (ค่าเริ่มต้น เสมอกันแล้วข้ามอันดับ) หรือ Dense (ไม่ข้าม) |
ลองเลย: อันดับยอดขายของแต่ละภาค
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
- พนักงานขาย[ภูมิภาค] = "กลาง"
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025
- ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| ภูมิภาค | ยอดขาย | อันดับภาค | อันดับ (เฉพาะแถวภาค) |
|---|---|---|---|
| กลาง | |||
| เหนือ | |||
| ตะวันออกเฉียงเหนือ | |||
| ตะวันออก | |||
| ใต้ | |||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=RANK.EQ(B2, $B$2:$B$6)Excel จัดอันดับตัวเลขในช่วงของชีต DAX จัดอันดับจากค่าที่คำนวณใหม่ทุกแถวของตารางที่บอก
อันดับภาค = RANKX(ALL('พนักงานขาย'[ภูมิภาค]), [ยอดขาย])ALL ทำให้เทียบกับทุกภาค ไม่ใช่แค่ภาคในแถว
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. RANKX(ALL('พนักงานขาย'[ภูมิภาค]), [ยอดขาย]) ภาคที่ยอดขายมากที่สุดได้อันดับใด
ค่าเริ่มต้นเรียงจากมากไปน้อย
2. ไม่ใส่ ALL เป็น RANKX('พนักงานขาย'[ภูมิภาค], [ยอดขาย]) ได้อะไร
ในแถวของภาคมีภาคเดียวให้เทียบ จึงเป็นอันดับ 1 เสมอ
3. ทำให้แถวยอดรวมไม่แสดงอันดับ เขียนแบบใด
HASONEVALUE เป็น FALSE ในแถวยอดรวม
ไฟล์ฝึก RANKX
9Expert-DAX-RANKX-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[อันดับภาค] อันดับยอดขายของภาคเทียบกับทุกภาค (มากที่สุด = 1) · กรอง ภูมิภาค = ใต้, ปี = 2024
- ข้อ 2[อันดับภาค] อันดับยอดขายของภาคเทียบกับทุกภาค (มากที่สุด = 1) · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
- ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
- ข้อ 4[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
- ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)