Forum Discussion
kalpesh07
2 years agoFrequent Visitor
Rolling Period
Hi All, I need help with Calculating on Rolling period Basis. MAT means last 12 Month. So I've to calculate Sales% basis Last 12 month for every month like Jan'24 MAT (Feb23-Jan24) Feb'24 MAT (...
- Anonymous2 years ago
Hi, kalpesh07
Thanks for bhanu_gautam reply. Here is the complementary method, which still primarily utilizes the time-intelligent function.Measure:
%Sales = VAR _dateEnd = SELECTEDVALUE ( 'Table'[Date] ) VAR _dateEndDay = DAY ( _dateEnd ) + 1 VAR _dateStart = EOMONTH ( _dateEnd, -13 ) + _dateEndDay VAR _monthStart = EOMONTH ( _dateEnd, -2 ) + _dateEndDay VAR _TotalSales = CALCULATE ( SUM ( 'Table'[Sales] ), 'Table'[Date] >= _dateStart && 'Table'[Date] <= _dateEnd ) VAR _MonthSales = CALCULATE ( SUM ( 'Table'[Sales] ), 'Table'[Date] >= _monthStart && 'Table'[Date] <= _dateEnd ) VAR _result = DIVIDE ( _MonthSales, _TotalSales ) RETURN _resultBest Regards,
Yang
Community Support TeamIf there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!How to get your questions answered quickly -- How to provide sample data in the Power BI Forum
bhanu_gautam
Super User
2 years agokalpesh07 , You can achieve this by using DAX measures in Power BI
First make sure you have a date table in your model, if not than create one using
DateTable =
ADDCOLUMNS (
CALENDAR (DATE(2020, 1, 1), DATE(2030, 12, 31)),
"Year", YEAR([Date]),
"Month", MONTH([Date]),
"MonthName", FORMAT([Date], "MMMM"),
"YearMonth", FORMAT([Date], "YYYYMM")
)
Then create a sales measure
TotalSales = SUM(Sales[SalesAmount])
Then create a sales percentage measure
SalesPercentage = DIVIDE([TotalSales], CALCULATE([TotalSales], ALL(Sales)))
In Last create a new measure as Mat sales %
MAT Sales% =
VAR CurrentDate = MAX(DateTable[Date])
VAR StartDate = EDATE(CurrentDate, -11) -- 11 months back from the current month
RETURN
CALCULATE(
[SalesPercentage],
DATESBETWEEN(DateTable[Date], StartDate, CurrentDate)
)