Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
consider this data
| Label | Value |
| A | 1 |
| A | 2 |
| B | 3 |
| B | 4 |
| C | 4 |
| C | 5 |
and then compare this calculated columns
Column1 = CALCULATE(SUM('Table'[Value]),ALL('Table'), 'Table'[Label]='Table'[Label])
Column2 =
CALCULATE(
SUM('Table'[Value]),
ALL('Table'),
'Table'[Label]=EARLIER('Table'[Label]) --we iterate over Table[Label] comparing it over the evalulation of the column in the filter context outside of CALCULATE
)
Column3 =
VAR CurrentLabel = 'Table'[Label] -- evaluated in the unmodified row specific context
RETURN
CALCULATE(
SUM('Table'[Value]),
ALL('Table'), --changes filter context to the whole table
'Table'[Label]= CurrentLabel
)
you can use it to change the filter context of a column to one of its previous states
https://dax.guide/earlier/
https://docs.microsoft.com/en-us/dax/earlier-function-dax
Can you please explain me with a real time example?
consider this data
| Label | Value |
| A | 1 |
| A | 2 |
| B | 3 |
| B | 4 |
| C | 4 |
| C | 5 |
and then compare this calculated columns
Column1 = CALCULATE(SUM('Table'[Value]),ALL('Table'), 'Table'[Label]='Table'[Label])
Column2 =
CALCULATE(
SUM('Table'[Value]),
ALL('Table'),
'Table'[Label]=EARLIER('Table'[Label]) --we iterate over Table[Label] comparing it over the evalulation of the column in the filter context outside of CALCULATE
)
Column3 =
VAR CurrentLabel = 'Table'[Label] -- evaluated in the unmodified row specific context
RETURN
CALCULATE(
SUM('Table'[Value]),
ALL('Table'), --changes filter context to the whole table
'Table'[Label]= CurrentLabel
)
| User | Count |
|---|---|
| 22 | |
| 21 | |
| 20 | |
| 20 | |
| 11 |
| User | Count |
|---|---|
| 62 | |
| 55 | |
| 46 | |
| 45 | |
| 35 |