Forum Discussion

Silsil's avatar
Silsil
New Member
25 days ago

Microsoft Sankey Visual: How can I prevent destination nodes being automatically reordered?

Hi all,

I'm using the Microsoft Sankey visual in Power BI Desktop and would like to keep the node order consistent between the left and right sides of the chart.

My source data is structured as:

From To Value
ApplesApples45
ApplesPears7
PearsFig26
FigCherry115
CherryCherry13

Intended category order:

  1. Apple
  2. Pear
  3. Fig
  4. Cherry

However, the Sankey visual automatically changes the order of the destination nodes presumably to reduce flow crossings.

I have already tried:

  • Creating a numeric sort column (1 = Severe, 2 = Moderate, 3 = Mild, 4 = Normal renal function)
  • Using Sort by Column on the destination field (To)
  • Creating a separate Category/SortOrder lookup table
  • Sorting both the source data and lookup table correctly
  • Disabling Auto links reorder in the visual settings

Power BI accepts the sort order without errors, but the Sankey visual continues to reorder the destination nodes.

Manually dragging is not ideal, as the freehand movement does not allow precision. My questions are:

  1. Does the Microsoft Sankey visual support a fixed destination node order?
  2. Is there a supported way to force the same category order on both sides of the Sankey

Any advice would be greatly appreciated.

Thanks!

1 Reply

  • ShivekMaharaj's avatar
    ShivekMaharaj
    Impactful Individual

    Hi Silsil,

     

    I don’t think you’re missing a sort setting here.

     

    The Microsoft Sankey visual does its own node layout, so the order of the destination nodes is not driven reliably by the model’s Sort by column order. That is why your 1 = Apple, 2 = Pear, 3 = Fig, 4 = Cherry column can sort correctly elsewhere in the model but still be ignored by the Sankey.

     

    There also does not appear to be a supported option in the visual to lock the destination nodes into a fixed order. Turning off Auto links reorder affects the links, but it does not give you a fixed node sort order.

     

    So for the exact requirement you have, I see two realistic options:

    1. Manually position the nodes in the Microsoft visual, which as you mentioned is not ideal if you need repeatable placement.
    2. Use a visual where node position/order can be explicitly controlled, for example Deneb or another Sankey custom visual that exposes node ordering.

    I would not spend more time trying different DAX sort columns here. From what you’ve tested, this looks like the Sankey visual is deciding the node placement itself rather than following the model sort order.