The Data Model
The data loaded to Power BI sits at trade level. There are over 84,000 trades with accompanying trade legs. These records consist of Forwards, Option Forwards, Spots, Swaps and Take Ups.
To keep the dashboard performant, all visualizations except the Sankey chart use a DAX summary table grouped by trade date, country, industry and currency pair.
The Sankey chart uses its own summary table, as a union is required to create the central buy/sell destination which is the source for end currency destination.
The code below is for the country Sankey. The industry Sankey is identical except the first source is industry.