Skip to content
Plume Visuals
← Back
Getting startedBeginner6 min read· Published on October 21, 2026

Dumbbell chart in Power BI: the gap between two values

Get started with Dumbbell Plume: prepare the data, create two measures, insert the visual, sort by gap, read the ▲▼ gap and color by direction.

Lire en français

In short

What is a dumbbell? Two points on the same row joined by a bar: the first point is a starting value (last year, plan, before), the second one the ending value (this year, actual, after). The length of the bar is the gap. You compare dozens of categories at a glance, without placing two bars side by side.

Mini example. The Manchester store made $498K in 2024 and $541K in 2025: one point at 498, one at 541, a bar between them, and the gap "▲ +$43K" written on the right.

  • What the visual does. Dumbbell Plume draws one dumbbell per category, writes the gap as a value or a percentage with ▲ ▼, colors it by direction (favorable or unfavorable), sorts by gap, horizontally or vertically. Premium (★): animated play axis, stability threshold, averages, logarithmic scale, more than two points, arrows, images, targets, ranges, groups and small multiples.
  • When to use it. Before / after, plan / actual, last year / this year, men / women, two scenarios, two regions: whenever you want to read the gap between two values across many categories.
  • When to use something else. A trend over many periods: Line Plume. Breaking a total gap down into contributions: Waterfall Plume.
  • What you will learn. Prepare a table, create two measures, insert the visual, sort, read the gap, color by direction, filter the page by clicking.
  • What you need: Power BI Desktop, the Dumbbell Plume visual installed (see the common basics), a table with a category and two values. The PlumeDumbbell-Sample-EN sample report, in your "Downloads" area, shows the sales of 12 stores (page 1), an animated pay gap and a budget (page 2), and the ★ features (page 3).

The data to provide

The shape. One row per category (a store, a product, a country), with the two values to compare. They can be in two columns, or in one column with a "Year" column (see the use cases).

StoreRegionSales 2024Sales 2025
BristolSouth West412,000468,000
BathSouth West386,000352,000
ManchesterNorth498,000541,000
YorkNorth178,000151,000
CambridgeEast356,000402,000
NorwichEast201,000188,000
CardiffWales318,000377,000
NewportWales109,00097,000

To try it without a file: Modeling › New table, then paste:

Stores =
DATATABLE (
    "Store", STRING, "Region", STRING, "Sales 2024", INTEGER, "Sales 2025", INTEGER,
    {
        { "Bristol", "South West", 412000, 468000 },
        { "Bath", "South West", 386000, 352000 },
        { "Manchester", "North", 498000, 541000 },
        { "York", "North", 178000, 151000 },
        { "Cambridge", "East", 356000, 402000 },
        { "Norwich", "East", 201000, 188000 },
        { "Cardiff", "Wales", 318000, 377000 },
        { "Newport", "Wales", 109000, 97000 }
    }
)

The measures. The Start and End wells expect measures (a calculation Power BI recomputes for each filter, written in DAX; see the glossary):

Sales 2024 = SUM ( Stores[Sales 2024] )   -- one row per store: the sum is the store's value
Sales 2025 = SUM ( Stores[Sales 2025] )

Give them a format (Measure tools › Format: Currency, Whole number…): the visual uses it for labels, the axis and the gap.

Pitfalls.

  • The gap is always End − Start: put the starting value in Start.
  • With a single dated sales table, write both measures with a year filter, for example Sales 2025 = CALCULATE ( [Sales], 'Calendar'[Year] = 2025 ).
  • A category whose two values are blank is not drawn; with only one value, a single point is shown, without bar or gap.

Step by step: your first dumbbell chart in 10 minutes

  1. In the Visualizations pane, click the Dumbbell Plume icon. An empty frame appears with a landing page that lists the fields to drop.
  2. Drop Store into Category (one dumbbell each).
  3. Drop Sales 2024 into Start (first point), then Sales 2025 into End (last point). One dumbbell per store appears, sorted from the largest 2025 sales to the smallest, with a legend and the Gap column on the right.
  4. Hover a dumbbell: the tooltip gives both values, the gap and the gap in %.
  5. Open Format › Gap › Content and choose Value and percentage: the column shows "▲ +$43K (+8.6%)".
  6. Open Format › Sort › Sort by and choose Gap (end − start): the largest increases go to the top, the decreases to the bottom.
  7. Open Format › Data colors › Coloring and choose By direction of the gap; in Format › Dumbbells › Connector › Color, also choose By direction of the gap. Increases turn green, decreases red, the first point lighter.
  8. For costs or delays, turn on Format › Gap direction › A decrease is favorable: decreases turn green. The ▲ or ▼ stays written: the direction never depends on color alone.
  9. Turn on Format › Dumbbells › Points › Hollow first point: the starting point becomes a ring, the eye goes from the ring to the full point.
  10. Click a dumbbell: the other visuals on the page filter on that store (cross-filtering, see the glossary). Click an empty area to clear.

Expected result: one dumbbell per store, sorted by gap, green or red by direction, with the gap as a value and a percentage in the right-hand column.

Troubleshooting

What you seeLikely causeFix
"Add fields to get started" landing pageNo measure in Start, End or ValuesAdd at least one measure
A single dumbbellNo field in CategoryDrop the category column into Category
Single points, no bar or gapOnly one measureAdd the second one in Start or End
Gap with the wrong signThe measures are swappedPut the starting value in Start
"No dumbbell to show"All values are blank (filter)Check the filters and the measures
The chart scrollsMany categoriesExpected: lower Format › Dumbbells › Layout › Minimum row height, or Format › Sort › Show the first N
"Premium preview" watermarkA ★ feature is used without a keyKey in Format › Plume Studio License, or a free setting
Gap in "pp" instead of %The measure has a percentage formatExpected: the gap between two rates is in percentage points; Percentage in Format › Gap › Content for the relative gap

Key takeaways

  • One row per category; Start = from, End = to; gap = End − Start.
  • The default sort follows the last point; sort by gap to see the largest changes.
  • The direction of the gap is always written (▲ ▼); color only underlines it.
  • Two points, the gap direction, the gap as a value or a % and sorting are free; the play axis, the stability threshold, averages, the logarithmic scale and the ratio gap are ★.

Learn more