Ranking & Top N
Ranking is what the Bump Chart does for you. You bind a raw measure; the visual turns it into a position at every period, and draws the lines between those positions. This page explains exactly how that happens, and how to keep the chart readable when you have more series than a chart can hold.
How ranks are calculated
At each period independently:
- Every series that has a value is collected.
- They are sorted by that value, highest first.
- They are numbered 1, 2, 3… from the top.
Nothing carries over between periods — a rank is only ever a statement about the period it sits in.
| Quarter | Product | Revenue | Rank |
|---|---|---|---|
| 2026 Q1 | Aurora | 412,000 | 1 |
| 2026 Q1 | Beacon | 388,500 | 2 |
| 2026 Q1 | Cascade | 301,900 | 3 |
| 2026 Q2 | Beacon | 402,100 | 1 |
| 2026 Q2 | Aurora | 355,000 | 2 |
| 2026 Q2 | Cascade | 344,700 | 3 |
Between Q1 and Q2 the Aurora and Beacon lines cross — the overtake a bump chart exists to show.
Blank values don't hold a slot. If 8 of your 10 series have a value in a period, that period's ranks run 1 to 8 — the two blank series are simply absent. See Blank values.
Ties
Two series with exactly the same value still get two different ranks — there are no shared positions, and no gaps in the numbering.
Which of them takes the higher rank follows the order Power BI delivers the series in (usually the sort order of your Series column), and it stays consistent from period to period, so the chart doesn't flicker. It is still an arbitrary choice.
If ties are common and meaningful — points tables, scores out of 10, small integer counts — add a deliberate tie-breaker to the measure so the order is yours rather than the model's. A tiny secondary term does it, for example points plus goal difference divided by a large constant.
How many rank rows are drawn
The vertical scale runs from rank 1 down to the deepest rank actually displayed, stretched over the plot area. So a chart of 5 series has 5 well-spaced rows, and one of 30 series packs 30 rows into the same height. Turning on Top N re-spaces the chart around the smaller band.
Reverse Rank
Format → Ranking → Reverse Rank (default: off)
Flips the vertical axis so that rank 1 sits at the bottom and the field climbs upward.
| Setting | Rank 1 is | Reads as |
|---|---|---|
| Off (default) | At the top | A league table — first place at the top of the list |
| On | At the bottom | A climb — the winner has risen highest |
The rank numbers themselves don't change: rank 1 is still the highest value, it is just drawn lower. Use it when your audience reads "up" as "better" — growth, promotion, progress toward a goal.
Top N
Format → Ranking → Show only Top N items (default: off) and Top N (1–100, default 10)
The single most useful setting in the visual. With more than a dozen series, a bump chart becomes a knot; Top N cuts it back to the contenders.
What it does
- Series that never reach the top N in any period are removed entirely — from the chart, from the legend, and from the Data Colors list.
- Series that reach it sometimes are kept, but their line is broken for the periods where they fall outside — you see them enter and leave the band.
- Markers below rank N are not drawn.
- End labels are dropped for a series that is outside the top N at that end of the timeline.
What it does not do
- Ranks are still calculated over everything. A series shown at rank 9 is 9th in your whole dataset, not 9th of the ten drawn. Filter the data itself if you want ranks calculated on a subset.
- The rest of the report is untouched. Top N is a display setting on this visual, not a filter — other visuals still show every series.
- Selection still points at the real data. Clicking a line cross-filters the report by that series exactly as it would with Top N off.
Start at 10. Use a smaller N for a crowded field where only the podium matters, and a larger one when you want to show the traffic beneath the leaders. Values from 1 to 100 are accepted, but a chart above about 15 rows stops being legible whatever you set.
When lowest is best
The visual always ranks the highest value first. For measures where low is good — lap times, cost per unit, error counts, days to close — invert the measure so that the best performer produces the largest number:
Rank Basis = -1 * [Average Lap Time]
Bind Rank Basis to Value, and add the real measure to Tooltips so readers still see the honest number on hover.
Using a pre-calculated rank
If your model already contains a rank column (from a source system, or a DAX RANKX), you can use it — but remember the visual ranks highest first, and a rank column counts upward from 1 being best. Bound directly, it would put last place at the top.
Negate it the same way:
Rank Basis = -1 * [Existing Rank]
The line positions are then correct, and the numbers inside the markers are the visual's own 1-2-3 sequence — which matches your source rank whenever every series reports in every period. Where they can diverge (a series missing in some periods), either accept the visual's numbering or turn the markers' numbers off under Format → Data Points → Show Rank.
Bump charts are usually better fed the underlying measure. Letting the visual rank keeps the tooltip's value meaningful, keeps ties under your control, and means a filtered report re-ranks itself instead of showing stale positions computed over the whole model.
Related
- Data fields — how blanks, ties and period ordering are read.
- Lines, markers & labels — showing and styling the rank numbers.
- Troubleshooting — when a line vanishes or the order looks wrong.