Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi! I am trying to calculate a turnover not based on the price that appears on each row of my fact table, but based on the first price found.
Example:
Month | Quantity | Price | Turnover |
1 | 145 | 1,187 | 172,115 |
2 | 149 | 1,187 | 176,863 |
3 | 182 | 1,187 | 216,034 |
4 | 155 | 1,187 | 183,985 |
5 | 111 | 1,187 | 131,757 |
6 | 128 | 1,187 | 151,936 |
7 | 105 | 1,187 | 124,635 |
8 | 142 | 1,187 | 168,554 |
9 | 118 | 1,163 | 137,234 |
10 | 162 | 1,163 | 188,406 |
11 | 175 | 1,163 | 203,525 |
12 | 155 | 1,163 | 180,265 |
2,035,309 |
For the turnover, I would have something like:
Solved! Go to Solution.
Thanks for the data.
I changed the formula to take different Material into account.
Create a column
EarlyPrice Revenue = VAR _CurrMaterial = FactPrices[Material] RETURN FactPrices[Quantity] * CALCULATE(SUM(FactPrices[Price]) , FILTER(FactPrices, FactPrices[Material] = _CurrMaterial && FactPrices[DateKey] = MIN(FactPrices[DateKey]) ) )
You could add a column. I'm not sure if SELECTCOLUMNS function is better or worse than LOOKUPVALUE in terms of efficiency but it should get you the answer
Column 2 = VAR _minRow = TOPN(1, Table4, Table4[Month], 1) VAR _firstPrice = SELECTCOLUMNS(_minRow, "pr", Table4[Price] ) RETURN _firstPrice * Table4[Quantity]
Thanks!
I am still getting an error: "A table of multiple values was supplied where a single value was expected."
Last row doesn't accept a column. Any idea?
Is that with the sample data provided or your real data?
With the real data.
OK, do you want to provide a more realistic sample of data? It doesn't have to be real (if the data is confidential) but obviously the real data is more complex
Hi,
Let's take a more realistic example. I have a table FactPrices:
This table is related to dimDates with the dimension DateKey:
I want to calculate the total revenue based on the first price found for each Material.
What I want to achieve, in this example, is to calculate (12 (first price for Product 1) * 6535) + (17(first price for Product 2) * 6320).
I tried to create the following calculated table:
Could you post the data (not a picture) , so that i don't have to type it in. In a similar way to how you posted the initial data.
Or link your pbix.
Thanks
Thanks for the data.
I changed the formula to take different Material into account.
Create a column
EarlyPrice Revenue = VAR _CurrMaterial = FactPrices[Material] RETURN FactPrices[Quantity] * CALCULATE(SUM(FactPrices[Price]) , FILTER(FactPrices, FactPrices[Material] = _CurrMaterial && FactPrices[DateKey] = MIN(FactPrices[DateKey]) ) )
Thanks a lot, @HotChilli ! That's what I needed.
Do you need whether I could obtain the same result via a measure?
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
21 | |
21 | |
19 | |
13 | |
12 |
User | Count |
---|---|
42 | |
28 | |
23 | |
22 | |
22 |