Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi guys,
I have a measure (amount) whose define my amount of raw material and a table with this columns
-raw material
-price
-amount
-date of purchase
What I need is another measure to define my price. For example, if my measure amount is 5000 for material 1 and my table is like:
| raw material | price | amount | date of purchase |
| material1 | 2,9 | 2000 | 18/dec/2023 |
| material1 | 1,8 | 3500 | 20/dec/2023 |
| material2 | 3,4 | 1000 | 12/dec/2023 |
| material2 | 0,8 | 1500 | 10/oct/2023 |
I need to order my table by date of purchase descendent and calculate something like this:
3500*1,8 + (1500)*2,9 = 10650
Important, my amount is 5000, so I cant to surpass this amount, that's why I used 1500 instead of 2000 to multiply by 2,9.
How can I do this measure?
Solved! Go to Solution.
Hello @IgorAM,
Can you please try this:
Calculate Price =
VAR TotalAmountNeeded = 5000
VAR CumulativeTable =
ADDCOLUMNS(
FILTER(
'YourTable',
'YourTable'[raw material] = "material1"
),
"CumulativeAmount",
CALCULATE(
SUM('YourTable'[amount]),
FILTER(
ALL('YourTable'),
'YourTable'[date of purchase] <= EARLIER('YourTable'[date of purchase]) &&
'YourTable'[raw material] = EARLIER('YourTable'[raw material])
)
)
)
VAR Result =
SUMX(
CumulativeTable,
IF(
[CumulativeAmount] <= TotalAmountNeeded,
[amount] * [price],
MAX(0, TotalAmountNeeded - [CumulativeAmount] + [amount]) * [price]
)
)
RETURN
Result
Hello @IgorAM,
Can you please try this:
Calculate Price =
VAR TotalAmountNeeded = 5000
VAR CumulativeTable =
ADDCOLUMNS(
FILTER(
'YourTable',
'YourTable'[raw material] = "material1"
),
"CumulativeAmount",
CALCULATE(
SUM('YourTable'[amount]),
FILTER(
ALL('YourTable'),
'YourTable'[date of purchase] <= EARLIER('YourTable'[date of purchase]) &&
'YourTable'[raw material] = EARLIER('YourTable'[raw material])
)
)
)
VAR Result =
SUMX(
CumulativeTable,
IF(
[CumulativeAmount] <= TotalAmountNeeded,
[amount] * [price],
MAX(0, TotalAmountNeeded - [CumulativeAmount] + [amount]) * [price]
)
)
RETURN
Result
Thank you very much, @Sahir_Maharaj!
It is just what I needed, I just made some little changes, but the main logic is what you did!
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 4 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 25 | |
| 17 | |
| 8 | |
| 8 | |
| 7 |