This guide gives UK SME teams a practical implementation path: start with the business question, check the data or workflow, build the smallest useful version, then document what has changed.
This guide gives UK SME teams a practical implementation path: start with the business question, check the data or workflow, build the smallest useful version, then document what has changed.
Create a Power BI running total that resets each year or fiscal year while keeping date filters reliable.
2026-06-16 8 min read min read Digital Adaption On this pageA running total should be boring and predictable. It becomes difficult when the total carries across year boundaries, ignores fiscal periods, or changes unexpectedly when a user touches a slicer. For broader reporting repair work, see the Power BI consultancy and ERP reporting analytics pages.
Practical answerUse a date table, filter dates up to the current visible date, and keep the filter inside the selected year or fiscal year so the measure resets at the right boundary.
A running total should start from a base measure such as sales, orders, cost or quantity. Keep that base measure simple and reconciled before adding cumulative logic.
The date table must contain the year or fiscal year column that defines the reset point.
Sales Amount =
SUM ( Sales[Net Amount] )
The pattern below keeps all dates in the same calendar year as the current row and includes dates up to the current maximum date.
This is suitable for calendar-year reporting where January should always reset to zero before accumulating again.
Sales Running Total Year =
VAR CurrentDate = MAX ( 'Date'[Date] )
VAR CurrentYear = MAX ( 'Date'[Year] )
RETURN
CALCULATE (
[Sales Amount],
FILTER (
ALL ( 'Date' ),
'Date'[Date] <= CurrentDate
&& 'Date'[Year] = CurrentYear
)
)
For fiscal reporting, use the fiscal year column rather than the calendar year. This avoids the common April problem where the running total resets in January even though the business year does not.
If the report has slicers for customer, product or site, those filters should remain active. The ALL function is used on the date table only.
Sales Running Total Fiscal Year =
VAR CurrentDate = MAX ( 'Date'[Date] )
VAR CurrentFiscalYear = MAX ( 'Date'[Fiscal Year] )
RETURN
CALCULATE (
[Sales Amount],
FILTER (
ALL ( 'Date' ),
'Date'[Date] <= CurrentDate
&& 'Date'[Fiscal Year] = CurrentFiscalYear
)
)
Using ALL on the whole model can ignore customer, product or site slicers. Remove filters from the date table only unless there is a deliberate reason.
If the business year starts in April, a January reset is wrong even if the DAX runs without errors.
Running totals can behave differently at day, month and year level. Test the visual at the lowest required grain.
Digital Adaption helps UK SMEs rebuild trusted Power BI, ERP and operational reporting after migrations, ownership gaps and model drift.
The measure may not be filtering by year, or the visual may be using a different date table column from the relationship.
Use ALL when the running total should ignore date slicer boundaries inside the selected year. Use ALLSELECTED when the cumulative total should respect the user-selected date range.
Start with a 30-minute data risk call