Bird
Raised Fist0
Tableaubi_tool~5 mins

Rank calculations in Tableau - Step-by-Step Guide

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
Introduction
Rank calculations help you order your data by value, like showing top salespeople or best-selling products. This makes it easy to see who or what is performing best in your data.
When you want to show the top 5 products by sales on a dashboard.
When you need to rank employees by their monthly performance.
When comparing regions to see which has the highest revenue.
When creating a leaderboard for customer satisfaction scores.
When filtering data to show only the top-ranked items.
Steps
Step 1: Open your Tableau workbook
- Tableau Desktop main window
Your data and worksheets are visible
Step 2: Click
- Analysis menu > Create Calculated Field
A dialog box opens to create a new calculation
Step 3: Type
- Calculated Field dialog box
You enter the rank formula
💡 Use the formula RANK(SUM([Sales])) to rank by total sales
Step 4: Name
- Calculated Field dialog box
The calculation is saved with a clear name like 'Sales Rank'
Step 5: Drag
- New calculated field 'Sales Rank' to Rows or Columns shelf
The view updates to show rank numbers alongside your data
Step 6: Sort
- Right-click on the dimension or measure in the view > Sort
Data is ordered by rank ascending or descending
Before vs After
Before
A table shows product names with sales amounts but no order
After
The table shows product names with sales amounts and a rank number from 1 to N based on sales
Settings Reference
Compute Using
📍 Right-click calculated field in view > Edit Table Calculation
Defines how Tableau calculates rank across rows or columns
Default: Table (Across)
Rank Function Type
📍 Calculated Field formula
Determines how ties are handled in ranking
Default: RANK
Common Mistakes
Using RANK without setting 'Compute Using' correctly
The rank numbers do not reflect the intended dimension or level of detail
Edit the table calculation and set 'Compute Using' to the correct dimension, like 'Product Name'
Ranking a measure without aggregation
The rank calculation fails or shows unexpected results
Always use an aggregation like SUM or AVG inside the RANK function, e.g., RANK(SUM([Sales]))
Summary
Rank calculations order your data by value to highlight top or bottom performers.
You create rank calculations by making a calculated field with RANK and an aggregation.
Remember to set 'Compute Using' properly to get correct ranking results.

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