Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Berl21
Helper III
Helper III

Rolling sales from the last 24 months

Hi,

 

management wants to see the accumulated sales until now vs the accumulated sales from the last two years in a graphic displaying the last 24 months.

I have written this measure for the rolling numbers, thinking that MAX Date was related to our current time (today). Instead, Max date looks at row level and so it computes rolling numbers backwards, which is not what we want.

Sales cumulated rolling =

CALCULATE (
[Total Sales],
DATESINPERIOD ( 'Datetable'[Date],
MAX ( 'Datetable'[Date] ),
-24,
MONTH
))

 

With this, I will see the accumulated sales with May 2022 as a label but including numbers from 2020. What I need is basically the raw numbers since January 2022, accumulated.

I have looked around, but I am lost. Can someone help here?

Thanks!

Pauline.


4 REPLIES 4
talespin
Solution Sage
Solution Sage

hi @Berl21 ,

 

If you can share pbix file with any sensitive data removed that will help. This is what you can try

 

Create a Measure(Assuming you have date field in your visual)

 
//This variable will capture the current date(current filter context).
VAR _dt = SELECTEDVALUE(Date)
 
//In CALCULATE first you will remove any filter on date table column. Then provide a new filter for sales calculation, Date >= 24 months prior from date in current filter context and less than equal to date in current filter context.
CALCULATE( [Total Sales], ALL(Dates[column in visual]), Date >= EDATE(_dt, -24), Date <= _dt )
 
If this is not what you want, please explain.
Greg_Deckler
Super User
Super User

@Berl21 Try this, just use SUMX instead of AVERAGEX: Better Rolling Average - Microsoft Fabric Community


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Hi,

I still have the issue with the backward calculation. Don't know how to get around this, maybe the issue is that the date table should be switched for another one.

The last available date in this table is 31st of December 2030. Instead of today.

Hence, this can't work either:
VAR __DATE_PERIOD =
DATESBETWEEN(
'Datetable'[Date].[Date],
STARTOFMONTH(DATEADD(__LAST_DATE, -24, MONTH)),
ENDOFMONTH(DATEADD(__LAST_DATE, 0, MONTH))

How can I replace these lines?

@Berl21 I don't see why that makes a difference how many dates are in the Dates table. What matters is what date is in context at the time and for dates beyond today, you can just add a condition where if that is the case, return BLANK.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.