See attached workbook. Most of the calculations have been borrowed from the sankey template from my website: Chart Templates Part 1: Sankeys - Ken Flerlage: Analytics Architecture, Strategy, & Visualization
Adjustments have been made to show flow between measures related to a single dimension (instead of flow of a single measure from/to separate dimensions).
The chart has two data sources: 1) Superstore data and 2) Model (same model as on the template noted above). These are joined using a cross join (uses a 1=1 join calculation).
See attached data and packaged workbook.
Looks like you nailed it, Ken. I figured this would be one that looked simple at a glance but was quite complicated under the hood. I look forward to hearing how you arrived at the solution though, and seeing whether it's a solution befitting a one-off or a maintainable visualization. Really great job!
Thanks Vince. Under the covers, it's pretty much the same calculations as a sankey, which as you know, are fairly complex. But, with the basic workbook and the model template, it's not too difficult to add in your own data. That being said, if you have a lot of non-aggregated data, then it's going to cross join that to the model data, duplicating each record 98 times. So, ideally, you'd want to use pre-aggregated data.
As discussed, I'll write up a more thorough explanation of all this and put it in a blog. I think it'll probably be a while before I get a chance to do that though, so if you have any specific questions, let me know.
Thanks for the challenge!!