Forum Discussion
How to prevent running total from being recalculated when using a year slicer
Hey everyone,
First time working with PowerBI and having a bit of trouble with understanding the slicers and running total.
I am trying to track equipment deployment over months and wanted to compare them year to year.
I needed the running total to not reset each year as we need to know that 10 units were deployed in December 2010 and then +1 (11) in January 2011.
I'm also trying to show this in a line chart with the series being each year.
However, I also have another splicer for Company which will need to recalculate the running total if a specific company is selected.
(To add to the complication, I have another slicer for products but we can ignore that for now)
Ex)
I'm using the year slicer as a way to filter out the other series / lines.
How do I go about setting the running total to only be affected by the company slicer and not the year slicer?
Formulas I have tried:
Attempt 1:
- Anonymous7 years ago
Figured it out!
To calculate the running total while preserving filters from other tables and excluding the date table, I had to modify the FILTER function.
NetQuantityRunningTotal =
CALCULATE(
SUM('transactionrecord'[net_quantity]),
FILTER(
ALL('Date'),
'Date'[Date] <= MAX('Date'[Date])
)
)By calling ALL on the Date Table, I was able to remove any filtering on the date table.
Running total was preserved across the entire time span and now when I filter by the date, the initial value does not reset to '0'.
Thanks for the assistance!
4 Replies
- Greg_Deckler
Community Champion
Well, seems like ALLEXCEPT should be your path to victory, what problem were you having? You would want to use something like ALLEXCEPT('Table'[Company])
- AnonymousNot applicable
Thanks for the quick response!
So my 'contractor name' is part of another table, so when I use the ALLEXCEPT and provide the contractor table, the conditional line that comes after cannot find 'transaction_date'.
NetQuantityRunningTotal =
CALCULATE(
SUM('transactionrecord'[net_quantity]),
FILTER(
ALLEXCEPT('contractor', 'contractor'[Contractor Name]),
'transactionrecord'[transaction_date] <= MAX('Date'[Date])
)
)- AnonymousNot applicable
Figured it out!
To calculate the running total while preserving filters from other tables and excluding the date table, I had to modify the FILTER function.
NetQuantityRunningTotal =
CALCULATE(
SUM('transactionrecord'[net_quantity]),
FILTER(
ALL('Date'),
'Date'[Date] <= MAX('Date'[Date])
)
)By calling ALL on the Date Table, I was able to remove any filtering on the date table.
Running total was preserved across the entire time span and now when I filter by the date, the initial value does not reset to '0'.
Thanks for the assistance!
- AnonymousNot applicable
Hi I am using a running 12 month total measure like below
TTM_Income =var currentDate = max('EOM Date'[End of the month])var previousdate = date(year(currentDate),month(currentDate)-12,day(currentDate))var result= calculate( sum('Raffle Transaction'[amount]), filter('Raffle Transaction','Raffle Transaction'[End of the month]>=previousdate && 'Raffle Transaction'[End of the month]<=currentDate))Returnresultwhere 'EOM Date' is a date table disconnected from the actual table "Raffle Transcation". I need to group the values of the measure in bands to show the count such as 0-£50,£50-£100,£100+ etc. if £100+ then show the ID. I tried to create a summarize table and band the measure TTM_Income there but It didnt work. Is it because of the diconnected table 'EOM Date' ?