Sankey & Sankey Path Data Structure


Hi all,

I am building a sankey chart to show the flow of transactions.

Ideally I would like to use the Sankey Path visualisation.

My data is structured with column names:

from, from_type, to, to_type, value

There are 4 stages to the flow. I would like to be able to filter the visualisation to show the flow for certain types of transactions across 4 stages of the sankey path chart.

  1. Inflow
  2. Classification
  3. Clearing
  4. Root Cause

from_type can = Inflow, Classification and Clearing

to_type can = Classification, Clearing and Root Cause

I was hoping to make the visualisation filter the value in the sankey flow based on the selections in the 'from' list.

It doesn't. The sankey continues the flow with the filtered out values.

Here, I have filtered on "Price Differences" in the from list and also on "Valid" and "Invalid".

However, I would like the sankey to only show values in the rest of the flow that originate with "Price Differences". As you can see, it seems to consider the values from the other "inflow" category

I appreciate this is messy and I have probably not articulated the problem too well (I've done my best) so if there are any kind souls out there who can help, I would be very grateful.


  • This appears to be a graph that is filtered on "price differences", "valid" and "invalid", so I'm not sure what the problem is. Maybe it would help to describe or sketch what you were hoping to see after your filter?

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

  • GrantSmith

    because you’re filtering on price differences and valid and invalid it’s filtering out all downstream data which is why you get what you’re seeing. If you’re wanting to filter on the top level then you’d need to calculate the top level value and included that on all you records so you can filter on that value instead

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**