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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Zed11
Regular Visitor

Cumulative Savings Profile - partial year vs annual figure

Hi all

 

I am trying to forecast values by month and year based on their project schedule completion date (Finish_Date) and estimated annualised budget savings (Revenue_Benefit). If a project completes half way through a year, 50% of the annual saving should be profiled onwards from that point that year and 100% for all following years. The end result will be a line/area graph and a table summarising cumulative Revenue_Benefit by month and fiscal year (Apr-Mar), demonstrating when total budget savings are predicted to be made. 

 

TaskCostDetail_Table

Project*Finish_DateRevenue_Benefit
A25/03/2022£10,000
B4/06/2022£165,000
C16/11/2021£96,000
D26/9/2020£106,000

*Relationship

Calendar

*DateMonthFiscal Year
01/04/2020Apr20/21
02/04/2020Apr20/21
03/04/2020Apr20/21
04/04/2020Apr20/21
05/04/2020Apr20/21

 

From browsing the forums I currently have the below which profiles my savings to their project dates and continues that saving figure onwards for future days/months/years which is great.

 

CumulativeBenefit:=VAR MaxDate=MAX('Calendar'[Date])

RETURN

CALCULATE(

SUM(TaskCostDetail_Table[Revenue_Benefit]),

'Calendar'[Date]<=MaxDate)

 

But what it doesn't yet do is reduce the annualised saving figure in its first year when the project is scheduled for completion mid-year e.g. currently shows mid-year saving at 100% annual saving rather than 50% annual saving in the first year and 100% for following years.

 

The kind of output I'm after is the below table which I'll also use the total to graph. For this demonstration I have ignored project finish day of month and just assumed the partial year figure = RevenueBenefit * (# months left in fiscal year after project finish / 12). In reality I was trying to use YEARFRAC to make this more accurate and account for day of the year, not just month of the year. 

 

  Project    
Fiscal year   Month   ABCDTotal
21/22Apr   £106,000£106,000
21/22May   £106,000£106,000
21/22Jun   £106,000£106,000
21/22Jul   £106,000£106,000
21/22Aug   £106,000£106,000
21/22Sep   £106,000£106,000
21/22Oct   £106,000£106,000
21/22Nov  £40,000£106,000£146,000
21/22Dec  £40,000£106,000£146,000
21/22Jan  £40,000£106,000£146,000
21/22Feb  £40,000£106,000£146,000
21/22Mar£833.33 £40,000£106,000£146,833
22/23Apr£10,000 £96,000£106,000£212,000
22/23May£10,000 £96,000£106,000£212,000
22/23Jun£10,000£137,500£96,000£106,000£349,500
22/23Jul£10,000£137,500£96,000£106,000£349,500
22/23Aug£10,000£137,500£96,000£106,000£349,500
22/23Sep£10,000£137,500£96,000£106,000£349,500
22/23Oct£10,000£137,500£96,000£106,000£349,500
22/23Nov£10,000£137,500£96,000£106,000£349,500
22/23Dec£10,000£137,500£96,000£106,000£349,500
22/23Jan£10,000£137,500£96,000£106,000£349,500
22/23Feb£10,000£137,500£96,000£106,000£349,500
22/23Mar£10,000£137,500£96,000£106,000£349,500
23/24Apr£10,000   £165,000   £96,000   £106,000   £377,000   
...      

 

I want to show that in the first year a project is complete it only gives a proportion of its annual benefit saving e.g. Project A finishes Mar 22 therefore only 1 month's worth of the annual figure = £833. But in the following year it will give a full year saving of £10,000 from the start. This is all around annual budget setting if that helps. I am trying to determine impact on annual budget in year 1 of a project and then impact on all future years e.g. for project C I can reduce my annual budget by £40,000 in November 21 and then by the full annual figure of £96,000 at the start of the new year.

 

To achieve this I tried the below (our budget year is Apr-Mar hence 31/3 as end of year).

 

CashRevenueBenefit:=VAR MaxDate=MAX('Calendar'[Date])

RETURN

CALCULATE(

IF(MaxDate>ENDOFYEAR(TaskCostDetail_Table[Finish_Date],"31/3"),SUM(TaskCostDetail_Table[Revenue_Benefit]),

(1-YEARFRAC(MAX(TaskCostDetail_Table[Finish_Date]),ENDOFYEAR(TaskCostDetail_Table[Finish_Date],"31/3")))

*SUM(TaskCostDetail_Table[Revenue_Benefit])),

'Calendar'[Date]<=MaxDate)

 

But this doesn't produce the desired results of how much partial annual budget can be saved at a given project completion date.

 

I would really appreciate any help and pointers in the right direction as I'm stuck after lots of tinkering with different variations.

 

Many thanks

2 REPLIES 2
v-luwang-msft
Community Support
Community Support

Hi @Zed11 ,

Could you show me the output you want? I got the following result data based on your dax, but it's not very clear what you want.

vluwangmsft_0-1632123529325.png

 

Best Regards

Lucien

Hi Lucien

 

Yes of course, apologies.

 

So the calendar table I included is just the first few rows as an example but my actual table stretches over a 5 year range 1/4/20 - 31/3/25 with a row for each day. The project table is also much longer in reality but I've just given some dummy data.

 

The kind of output I'm after is the below table which I'll also use the total to graph. For this demonstration I have ignored project finish day of month and just assumed the partial year figure = RevenueBenefit * (# months left in fiscal year after project finish / 12). In reality I was trying to use YEARFRAC to make this more accurate and account for day of the year, not just month of the year. 

 

  Project    
Fiscal year   Month   ABCDTotal
21/22Apr   £106,000£106,000
21/22May   £106,000£106,000
21/22Jun   £106,000£106,000
21/22Jul   £106,000£106,000
21/22Aug   £106,000£106,000
21/22Sep   £106,000£106,000
21/22Oct   £106,000£106,000
21/22Nov  £40,000£106,000£146,000
21/22Dec  £40,000£106,000£146,000
21/22Jan  £40,000£106,000£146,000
21/22Feb  £40,000£106,000£146,000
21/22Mar£833.33 £40,000£106,000£146,833
22/23Apr£10,000 £96,000£106,000£212,000
22/23May£10,000 £96,000£106,000£212,000
22/23Jun£10,000£137,500£96,000£106,000£349,500
22/23Jul£10,000£137,500£96,000£106,000£349,500
22/23Aug£10,000£137,500£96,000£106,000£349,500
22/23Sep£10,000£137,500£96,000£106,000£349,500
22/23Oct£10,000£137,500£96,000£106,000£349,500
22/23Nov£10,000£137,500£96,000£106,000£349,500
22/23Dec£10,000£137,500£96,000£106,000£349,500
22/23Jan£10,000£137,500£96,000£106,000£349,500
22/23Feb£10,000£137,500£96,000£106,000£349,500
22/23Mar£10,000£137,500£96,000£106,000£349,500
23/24Apr£10,000   £165,000   £96,000   £106,000   £377,000   
...      

 

I want to show that in the first year a project is complete it only gives a proportion of its annual benefit saving e.g. Project A finishes Mar 22 therefore only 1 month's worth of the annual figure = £833. But in the following year it will give a full year saving of £10,000 from the start. This is all around annual budget setting if that helps. I am trying to determine impact on annual budget in year 1 of a project and then impact on all future years e.g. for project C I can reduce my annual budget by £40,000 in November 21 and then by the full annual figure of £96,000 at the start of the new year.

 

Many thanks

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.