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

Chord diagram in Power BI: who exchanges with whom, both ways

Get started with Chord Plume: prepare a From / To / Value table, insert the visual, read the ribbons, isolate a name's flows and pick the year to show.

Lire en français

In short

What is a chord diagram? Names (regions, countries, teams, brands) sit as arcs around a circle. Each ribbon links two names and shows what they exchange: people moving, goods, customers switching brands. The wider the ribbon, the bigger the exchange.

Mini example. In 2025, 5,540 people leave Île-de-France for Nouvelle-Aquitaine and 1,540 go the other way. The ribbon linking these two arcs is 5,540 wide on the Île-de-France side and 1,540 wide on the Nouvelle-Aquitaine side: you see at a glance which way the exchange leans.

  • What the visual does. Chord Plume draws these arcs and ribbons, places the labels so they never overlap, groups small names into "Others", isolates a name's flows on hover and filters the page on click. As premium features (★), it adds the play axis (the diagram replayed from one year to the next with animated transitions), two half circles (origins on the left, destinations on the right), a net balance ring, groups (countries by continent) and the change since a reference period.
  • When to use it. Migrations, trade, staff moving between teams, customers moving between offers, commuting: whenever names exchange with each other, both ways.
  • When to use something else. Steps that follow one another (channel, then order, then delivery): Sankey Plume. A single value per name: Bar Plume.
  • What you will learn. Prepare a From / To / Value table, insert the visual, read a ribbon, isolate a name's flows, filter the page, replay the years.
  • What you need: Power BI Desktop, the Chord Plume visual installed (see the common basics), a table with an origin, a destination and a number. The PlumeChord-Sample-EN sample report, in your "Downloads" area, shows moves between regions with the play axis and a matrix between teams (page 1), trade between countries (page 2) and the premium features ★ (page 3).

The data to provide

The shape. One row per flow: an origin, a destination and a quantity. The same pair can appear on several rows (per month, per reason): the visual adds them up.

Origin regionDestination regionYearPeople
Île-de-FranceNouvelle-Aquitaine20255,540
Nouvelle-AquitaineÎle-de-France20251,540
Île-de-FranceOccitanie20255,210
OccitanieÎle-de-France20251,380
Nouvelle-AquitaineOccitanie20251,950
OccitanieNouvelle-Aquitaine20251,620
BrittanyÎle-de-France2025640
Île-de-FranceBrittany20252,300

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

Moves =
DATATABLE (
    "Origin region", STRING, "Destination region", STRING, "Year", INTEGER, "People", INTEGER,
    {
        { "Île-de-France", "Nouvelle-Aquitaine", 2025, 5540 },
        { "Nouvelle-Aquitaine", "Île-de-France", 2025, 1540 },
        { "Île-de-France", "Occitanie", 2025, 5210 },
        { "Occitanie", "Île-de-France", 2025, 1380 },
        { "Nouvelle-Aquitaine", "Occitanie", 2025, 1950 },
        { "Occitanie", "Nouvelle-Aquitaine", 2025, 1620 },
        { "Brittany", "Île-de-France", 2025, 640 },
        { "Île-de-France", "Brittany", 2025, 2300 }
    }
)

The measure. The "Value" well expects a measure (a calculation Power BI redoes for the current filters, written in DAX; see the glossary):

People moving = SUM ( Moves[People] )   -- adds up the rows of each origin → destination pair

Pitfalls.

  • A name must be spelled the same way in both columns ("Île-de-France" on both sides): that is what makes it a single arc.
  • Without a measure in "Value", each row counts as 1: handy to count records, misleading if your rows are already totals.
  • Negative values are left out (a ribbon cannot have a negative width); a warning icon says so.
  • Your data is a matrix (one column per destination, as in Excel)? Leave "To" empty and drop one measure per column into "Value": each measure becomes a destination named after it.

Step by step

  1. Create the table and the measure from the previous section.
  2. In the Visualizations pane, click the Chord Plume icon: an empty frame appears with "Add fields to draw the chord diagram".
  3. Drop Origin region into From and Destination region into To.
  4. Drop the People moving measure into Value. The circle is drawn: one arc per region, one ribbon per pair of regions, with the automatic title "Origin region to Destination region flows".
  5. Read a ribbon: hover the one linking Île-de-France and Nouvelle-Aquitaine. The tooltip gives both directions ("Île-de-France → Nouvelle-Aquitaine", "Nouvelle-Aquitaine → Île-de-France") and the net balance. The wider end is on the side that sends more.
  6. Hover the Île-de-France arc: only its ribbons stay sharp. In Format › Interactions › Hovering an arc: ribbons shown, pick Sent only to see departures only.
  7. Click the Île-de-France arc: the other visuals of the page are filtered on its flows. Click an empty spot of the circle to clear.
  8. Labels: in Format › Category labels › Content, pick Name, value and %. A name that is too long is shortened or goes horizontal with a leader line: two labels never overlap.
  9. To see a single year, add a slicer (native visual) on Year to the page and click 2025: the diagram keeps only that year's flows. To replay the years one by one with animated transitions, see the play axis ★ in the use cases.

Troubleshooting

What you seeLikely causeFix
The landing page stays"From" is missing, or "To" and a measureDrop a column into From and one into To (or at least two measures into Value for a matrix)
A name has two arcsDifferent spelling in the two columns (space, accent, case)Clean the values in Power Query
Pointed ribbons, with no width on one sideThe flow only goes one wayThis is by design: pick Format › Layout › Flow direction › One ribbon per direction, with an arrow if you prefer arrows
A gray "Others" arcMore than 20 namesFormat › Layout › Names shown at most (the rest in « Others ») (up to 60), or filter the page
The circle is smallLong labelsFormat › Category labels › Maximum label room (% of the visual), or Content: Name
The message "Without "Value", each From → To row counts as 1"No measure in ValueDrop a quantity measure into Value
Loops on an arcRows where origin = destination (moves within the same region)Format › Layout › Flows to itself (A → A): Hide

Key takeaways

  • One row per flow: From, To, and a measure in Value.
  • Each end of a ribbon is as wide as what its arc sends to the other; the tooltip gives both directions and the balance.
  • Hover an arc: its ribbons; click: filters the page.
  • A slicer on the year picks the period; the play axis ★ replays it with animated transitions.

Going further: the use cases (matrix, Others, two half circles ★, net balance ★, groups ★…), the fields and settings page, the common basics of Plume visuals, the Chord Plume page and support.