Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi Everyone
I need to calculate a weighted average price from an invoice and convert it back to the price unit of the related contract.
For examples:
An invoice of 100'000USD corresponding to 1'000MT of goods, the weighted average will give 100USD/MT but in the contract the price unit was in USC/LB.
Another invoice will have an amount of 25'000 EUR corresponding XXX MT and in the related contract the price unit was EUR/Kg.
The problematic is to convert the unit price back in the price unit of related contract...
In my data model, I should have a table storing the conversion factor from USD to USC, EUR to EUR... and another table storing the conversion factor from MT to LB, and MT to Kg.
Till so far it's more or less clear in my mind, but I don't how to retrieve what is the price unit from contract to use to filter out the conversion tables and do the right calculation.
If the weighted average price unit would have been always USC/LC, it would have been simpler...
Do you have any idea, suggestions of data model/DAX expression to achieve that?
Thanks
Solved! Go to Solution.
If you want to convert 100'000 USD / 1'000 MT to CAD/LB then you'd do
[100'000 USD * (1.33 CAD/USD)] / [1'000 MT * (2205 LB/MT)] = 0.06 CAD/LB
To set this up in your model, I'd start with the currency conversion patterns:
https://www.daxpatterns.com/currency-conversion/
Weight conversions are simpler since they don't change over time.
If you want to convert 100'000 USD / 1'000 MT to CAD/LB then you'd do
[100'000 USD * (1.33 CAD/USD)] / [1'000 MT * (2205 LB/MT)] = 0.06 CAD/LB
To set this up in your model, I'd start with the currency conversion patterns:
https://www.daxpatterns.com/currency-conversion/
Weight conversions are simpler since they don't change over time.
Thanks Alexis, your link makes me on the right track.
In my case there is a kind of currency conversion only to convert USD to USC which is a kind a subcurrency since you always need to multiply by 100.
My main issue was how to retrieve the contract price currency and unit from the dimension but I think I will put them in the fact tables. Like this I will have the weight unit, amount currency, price unit and price currency in the same table and then I will join on conversion tables (price and weight) to calculate the weighted average price.
Thanks again
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 48 | |
| 45 | |
| 41 | |
| 20 | |
| 17 |
| User | Count |
|---|---|
| 69 | |
| 64 | |
| 32 | |
| 31 | |
| 27 |