Bird
Raised Fist0
Tableaubi_tool~10 mins

Rank calculations in Tableau - Cell-by-Cell Formula Trace

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Sample Data

This data shows sales amounts for different fruit products.

CellValue
A1Product
B1Sales
A2Apples
B2300
A3Bananas
B3450
A4Cherries
B4200
A5Dates
B5450
A6Elderberries
B6150
Formula Trace
RANK_UNIQUE(SUM([Sales]))
Step 1: SUM([Sales]) for Apples
Step 2: SUM([Sales]) for Bananas
Step 3: SUM([Sales]) for Cherries
Step 4: SUM([Sales]) for Dates
Step 5: SUM([Sales]) for Elderberries
Step 6: Rank sales values uniquely from highest to lowest
Cell Reference Map
    A          B
1 Product    Sales
2 Apples     300
3 Bananas    450
4 Cherries   200
5 Dates      450
6 Elderberries 150

Arrows: Sales values in B2:B6 feed into RANK_UNIQUE calculation.
The rank calculation uses the Sales values from cells B2 to B6.
Result
    A          B       C
1 Product    Sales   Rank
2 Apples     300     3
3 Bananas    450     1
4 Cherries   200     4
5 Dates      450     2
6 Elderberries 150    5
The Rank column shows the unique rank of each product's sales, with 1 being the highest sales.
Sheet Trace Quiz - 3 Questions
Test your understanding
What is the sum of sales for Cherries used in the rank calculation?
A150
B200
C300
D450
Key Result
RANK_UNIQUE ranks values uniquely from highest to lowest, assigning distinct ranks even when values tie.

Practice

(1/5)
1.

What does the RANK() function in Tableau do?

easy
A. It sums all values in a column.
B. It assigns a position number to each value based on order.
C. It filters data based on a condition.
D. It changes the data type of a field.

Solution

  1. Step 1: Understand the purpose of RANK()

    The RANK() function orders values and assigns a rank number to each based on their size.
  2. Step 2: Identify what RANK() does not do

    It does not sum, filter, or change data types; it only ranks values.
  3. Final Answer:

    It assigns a position number to each value based on order. -> Option B
  4. Quick Check:

    RANK() = position number [OK]
Hint: RANK() numbers items by size, like a race position [OK]
Common Mistakes:
  • Thinking RANK() sums values
  • Confusing RANK() with filtering
  • Assuming RANK() changes data types
2.

Which of the following is the correct syntax to rank sales in descending order in Tableau?

RANK(____, 'desc')
easy
A. COUNT(Sales)
B. AVG(Sales)
C. SUM(Sales)
D. MIN(Sales)

Solution

  1. Step 1: Identify the aggregation for ranking sales

    Ranking sales usually uses the total sales, so SUM(Sales) is appropriate.
  2. Step 2: Confirm syntax correctness

    RANK(SUM(Sales), 'desc') ranks sales from highest to lowest correctly.
  3. Final Answer:

    SUM(Sales) -> Option C
  4. Quick Check:

    Use SUM for total sales ranking [OK]
Hint: Rank totals with SUM() for correct order [OK]
Common Mistakes:
  • Using COUNT instead of SUM for sales
  • Using MIN or AVG which changes ranking meaning
  • Omitting aggregation inside RANK()
3.

Given the sales data below, what is the rank of Product B using RANK(SUM(Sales), 'desc')?

  • Product A: 500
  • Product B: 300
  • Product C: 700
  • Product D: 300
medium
A. 3
B. 2
C. 1
D. 4

Solution

  1. Step 1: Order products by sales descending

    Product C (700) is 1, Product A (500) is 2, Product B and D (300) tie next.
  2. Step 2: Assign ranks with ties

    Since B and D tie at 300, they share rank 3.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    Product B rank = 3 [OK]
Hint: Ties share rank, next rank skips accordingly [OK]
Common Mistakes:
  • Assigning different ranks to tied values
  • Ignoring descending order
  • Ranking Product B as 2 instead of 3
4.

Identify the error in this Tableau rank calculation:
RANK(SUM(Sales), 'ascending')

medium
A. RANK() does not accept a second argument.
B. SUM(Sales) cannot be used inside RANK().
C. The function should be RANK_DESC() instead.
D. The direction should be 'asc' not 'ascending'.

Solution

  1. Step 1: Check valid direction keywords

    Tableau accepts 'asc' or 'desc' for direction, not 'ascending'.
  2. Step 2: Confirm other parts are correct

    SUM(Sales) is valid, RANK() accepts second argument, and RANK_DESC() is not a function.
  3. Final Answer:

    The direction should be 'asc' not 'ascending'. -> Option D
  4. Quick Check:

    Use 'asc' or 'desc' for direction [OK]
Hint: Use 'asc' or 'desc' exactly for rank direction [OK]
Common Mistakes:
  • Using full words like 'ascending' instead of 'asc'
  • Thinking RANK() can't take direction
  • Confusing RANK() with other functions
5.

You want to show the top 3 salespeople ranked by total sales, but if two salespeople tie for 3rd place, you want to show both. Which Tableau calculation should you use?

hard
A. Use RANK(SUM(Sales), 'desc') <= 3 to filter top 3 including ties.
B. Use INDEX() <= 3 to filter top 3 rows.
C. Use RANK(SUM(Sales), 'asc') <= 3 to filter top 3.
D. Use RANK_DENSE(SUM(Sales), 'desc') < 3 to filter top 3.

Solution

  1. Step 1: Understand ranking with ties

    RANK() assigns same rank to ties, so filtering with <= 3 includes all tied at 3rd.
  2. Step 2: Compare with other options

    INDEX() filters rows, not ranks; 'asc' ranks lowest sales; RANK_DENSE() does not skip ranks, so < 3 excludes ties at 3.
  3. Final Answer:

    Use RANK(SUM(Sales), 'desc') <= 3 to filter top 3 including ties. -> Option A
  4. Quick Check:

    RANK() <= 3 includes ties at 3rd [OK]
Hint: Filter with RANK() <= 3 to include ties at third place [OK]
Common Mistakes:
  • Using INDEX() which ignores ranking
  • Using ascending rank for top sales
  • Using RANK_DENSE() < 3 excludes ties at 3