Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi,
I'm trying to create a measure that calculates the difference between values of the last date entry and the previous last date entry.
Similar to the post:
https://community.fabric.microsoft.com/t5/Desktop/Finding-the-difference-between-values-on-two-dates...
But I have that grouped by a category (material)
The table (Base) is:
Material Value Date
A 20 04/03/2024
B 25 04/03/2024
C 30 04/03/2024
A 20 04/01/2024
B 24 04/01/2024
C 25 04/01/2024
A 19 03/25/2024
B 21 03/25/2024
C 12 03/25/2024
I Will put them on a pivot table (matrix) and the result must be:
Material 03/25/2024 04/01/2024 04/03/2024
A blank 1 0
B blank 3 1
C blank 13 5
I've tried something like that
measure
VAR _currDate = MAX(Base[Date])
VAR _previous = CALCULATE (
MAX (Base[Date]),
FILTER ( ALLSELECTED(Base), Base[Date] < _currDate )
)
VAR _mat = Base[Material]
RETURN
MAX (Base[Value]) - LOOKUPVALUE (Base[Value], Base[Date], _previous, Base[Material]=_mat)
but I'm getting a error
Thanks in advance
Solved! Go to Solution.
@cctanakabr
Use this calculation to your requirements
Another approach would be something like...
Measure =
var _currentSum =
SUM(materialTable[Value])
var _currentMaterial =
SELECTEDVALUE(materialTable[Material])
var _currentDate =
SELECTEDVALUE(materialTable[Date])
var _previousDay =
MAXX(
FILTER(ALL(materialTable), materialTable[Material] = _currentMaterial && materialTable[Date] < _currentDate),
materialTable[Date]
)
var _previousSum =
SUMX(
FILTER(ALL(materialTable), materialTable[Date] = _previousDay && materialTable[Material] = _currentMaterial),
materialTable[Value]
)
RETURN
IF(
ISBLANK(_previousDay),
BLANK(),
_currentSum - _previousSum
)
Proud to be a Super User! | |
Another approach would be something like...
Measure =
var _currentSum =
SUM(materialTable[Value])
var _currentMaterial =
SELECTEDVALUE(materialTable[Material])
var _currentDate =
SELECTEDVALUE(materialTable[Date])
var _previousDay =
MAXX(
FILTER(ALL(materialTable), materialTable[Material] = _currentMaterial && materialTable[Date] < _currentDate),
materialTable[Date]
)
var _previousSum =
SUMX(
FILTER(ALL(materialTable), materialTable[Date] = _previousDay && materialTable[Material] = _currentMaterial),
materialTable[Value]
)
RETURN
IF(
ISBLANK(_previousDay),
BLANK(),
_currentSum - _previousSum
)
Proud to be a Super User! | |
@cctanakabr
Use this calculation to your requirements
Thanks for your help
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 59 | |
| 46 | |
| 42 | |
| 23 | |
| 18 |
| User | Count |
|---|---|
| 193 | |
| 123 | |
| 99 | |
| 67 | |
| 49 |