Bird
Raised Fist0
Power BIbi_tool~15 mins

RANKX for ranking in Power BI - Real Business Scenario

Choose your learning style10 modes available
Scenario Mode
👤 Your Role: You are a sales analyst at a retail company.
📋 Request: Your manager wants to see a ranking of salespeople based on their total sales for the last quarter.
📊 Data: You have a sales data table with columns: Salesperson, Region, SalesAmount, and Date.
🎯 Deliverable: Create a report that shows each salesperson's total sales and their rank from highest to lowest sales.
Progress0 / 3 steps
Sample Data
SalespersonRegionSalesAmountDate
AliceNorth12002024-01-15
BobSouth15002024-02-10
CharlieEast11002024-03-05
AliceNorth13002024-03-20
BobSouth17002024-01-25
CharlieEast9002024-02-15
DianaWest16002024-01-30
DianaWest14002024-03-10
1
Step 1: Create a new measure to calculate total sales per salesperson for the last quarter.
Total Sales = CALCULATE(SUM('Sales'[SalesAmount]), DATESBETWEEN('Sales'[Date], DATE(2024,1,1), DATE(2024,3,31)))
Expected Result
Total sales sums for each salesperson between January 1, 2024 and March 31, 2024.
2
Step 2: Create a ranking measure using RANKX to rank salespeople by their total sales in descending order.
Sales Rank = RANKX(ALL('Sales'[Salesperson]), [Total Sales], , DESC, DENSE)
Expected Result
Each salesperson gets a rank number where 1 is the highest total sales.
3
Step 3: Build a table visual in Power BI with columns: Salesperson, Total Sales, and Sales Rank.
Add fields: 'Salesperson', 'Total Sales' measure, and 'Sales Rank' measure to the table visual.
Expected Result
A table showing each salesperson's name, their total sales for the last quarter, and their rank.
Final Result
Salesperson | Total Sales | Sales Rank
------------|-------------|-----------
Bob         | 3200        | 1         
Diana       | 3000        | 2         
Alice       | 2500        | 3         
Charlie     | 2000        | 4
✓Bob has the highest total sales with 3200.
✓Diana is ranked second with 3000 in sales.
✓Alice and Charlie follow in third and fourth place respectively.
Bonus Challenge

Modify the ranking to reset by Region, so each region has its own sales ranking.

Show Hint
Use RANKX with FILTER to rank salespeople within each region separately.

Practice

(1/5)
1.

What does the RANKX function do in Power BI?

easy
A. It filters data based on a condition.
B. It calculates the sum of a column.
C. It assigns a rank number to each item based on a value.
D. It creates a new table from existing data.

Solution

  1. Step 1: Understand the purpose of RANKX

    RANKX is used to order items by a value and assign a rank number.
  2. Step 2: Compare with other functions

    Unlike filtering or summing, RANKX specifically ranks items.
  3. Final Answer:

    It assigns a rank number to each item based on a value. -> Option C
  4. Quick Check:

    RANKX = Assign rank [OK]
Hint: RANKX orders and numbers items by value quickly [OK]
Common Mistakes:
  • Confusing RANKX with SUM or FILTER functions
  • Thinking RANKX creates new tables
  • Assuming RANKX filters data
2.

Which of the following is the correct syntax to rank sales by product using RANKX?

RANKX(____, [Sales])
easy
A. VALUES(Products[ProductName])
B. FILTER(Products, [Sales] > 0)
C. ALL(Products)
D. SUMMARIZE(Products, Products[ProductName])

Solution

  1. Step 1: Identify the table argument for RANKX

    RANKX requires a table of items to rank, typically a list of unique products.
  2. Step 2: Choose the correct function returning unique product names

    VALUES(Products[ProductName]) returns unique product names, suitable for ranking.
  3. Final Answer:

    VALUES(Products[ProductName]) -> Option A
  4. Quick Check:

    Use VALUES for unique items in RANKX [OK]
Hint: Use VALUES() to get unique items for RANKX table argument [OK]
Common Mistakes:
  • Using ALL without specifying column
  • Using FILTER which returns a table but may exclude items
  • Using SUMMARIZE without proper columns
3.

Given the following measure:

Rank Sales = RANKX(ALL(Products), [Total Sales], , DESC, Dense)

What rank will the product with the highest sales receive?

medium
A. It depends on the number of products
B. 1
C. The highest sales product will have the lowest rank number
D. 0

Solution

  1. Step 1: Understand RANKX parameters

    ALL(Products) removes filters, ranking all products by [Total Sales] descending.
  2. Step 2: Determine rank for highest sales

    DESC order means highest value gets rank 1, Dense ranking handles ties without gaps.
  3. Final Answer:

    1 -> Option B
  4. Quick Check:

    Highest value rank = 1 [OK]
Hint: DESC order means highest value ranks 1 [OK]
Common Mistakes:
  • Thinking rank starts at 0
  • Confusing ascending and descending order
  • Ignoring Dense ranking behavior
4.

Identify the error in this RANKX formula:

Rank = RANKX(Products, [Sales], , ASC)

medium
A. The third argument (value) is missing and required
B. The order ASC is invalid, must be DESC
C. RANKX cannot rank by [Sales]
D. Missing table argument should be ALL(Products)

Solution

  1. Step 1: Check the table argument

    Using Products directly may apply current filters; ALL(Products) removes filters for full ranking.
  2. Step 2: Confirm order and arguments

    ASC is valid; third argument is optional; ranking by [Sales] is allowed.
  3. Final Answer:

    Missing table argument should be ALL(Products) -> Option D
  4. Quick Check:

    Use ALL() to rank all items ignoring filters [OK]
Hint: Use ALL() to rank all items ignoring filters [OK]
Common Mistakes:
  • Assuming ASC is invalid
  • Thinking third argument is mandatory
  • Not using ALL() to remove filters
5.

You want to rank products by sales but treat ties by assigning the same rank and skipping ranks after ties (standard competition ranking). Which RANKX parameter should you use?

hard
A. "Standard" to assign same rank and skip ranks after ties
B. "Dense" to assign same rank and no gaps after ties
C. "Skip" for ties to skip ranks after ties
D. "Unique" to assign unique ranks even if values tie

Solution

  1. Step 1: Understand tie handling options in RANKX

    RANKX supports "Skip" (standard competition), "Dense" ranking methods.
  2. Step 2: Identify standard competition ranking

    Standard competition ranking assigns same rank to ties and skips ranks after ties.
  3. Final Answer:

    "Standard" to assign same rank and skip ranks after ties -> Option A
  4. Quick Check:

    Standard = skip ranks after ties [OK]
Hint: Use "Standard" to skip ranks after ties in RANKX [OK]
Common Mistakes:
  • Confusing Dense with Skip ranking
  • Using non-existent "Unique" option
  • Assuming ties always get unique ranks
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard