Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi
I am trying to calculate the fiscal YTD amount for all previous years for multiple companies. I need the fiscal period to be dynamic as each company has a different fiscal period. At the moment I can get it to work using the following code but the fiscal year end is not dynamic (is is 03-31 for all companies for which the calculation is applied)
Turnover FY:= CALCULATE ( [Turnover Amount], DATESYTD ( 'AccountingPeriod'[Date], "03-31" ) )
Anyone solve this before or could guide me to a solution?
Here is an example data set, in it I have company A and B with fiscal periods ending 01/10 and 01/06. Column 'Turnover FY' is the calculation I am trying to create
Thanks in advance 🙂
Solved! Go to Solution.
Hi @Monty0
you can download the file: https://1drv.ms/u/s!AiiWkkwHZChHj0ItKq-ShSK2gIqr
build this model:
Then add this measure:
Measure = IF ( HASONEVALUE ( 'Calendar'[Month] ), SUMX ( Companies, VAR FYEDate = DATE ( YEAR ( MAX ( 'Calendar'[Date] ) ), Companies[FYE Month], Companies[FYE Day] ) VAR PeriodBegin = IF ( MAX ( 'Calendar'[Date] ) > FYEDate, FYEDate + 1, EDATE ( FYEDate, -12 ) + 1 ) RETURN CALCULATE ( SUM ( Turnover[Turnover Amount] ), DATESBETWEEN ( 'Calendar'[Date], PeriodBegin, MAX ( 'Calendar'[Date] ) ) ) ) )
Did I answer your question correctly? Mark my answer as a solution!
Proud to be a Datanaut!
Hi @Monty0
are you able to post a sample dataset?
Did I answer your question correctly? Mark my answer as a solution!
Proud to be a Datanaut!
Hi @Monty0
you can download the file: https://1drv.ms/u/s!AiiWkkwHZChHj0ItKq-ShSK2gIqr
build this model:
Then add this measure:
Measure = IF ( HASONEVALUE ( 'Calendar'[Month] ), SUMX ( Companies, VAR FYEDate = DATE ( YEAR ( MAX ( 'Calendar'[Date] ) ), Companies[FYE Month], Companies[FYE Day] ) VAR PeriodBegin = IF ( MAX ( 'Calendar'[Date] ) > FYEDate, FYEDate + 1, EDATE ( FYEDate, -12 ) + 1 ) RETURN CALCULATE ( SUM ( Turnover[Turnover Amount] ), DATESBETWEEN ( 'Calendar'[Date], PeriodBegin, MAX ( 'Calendar'[Date] ) ) ) ) )
Did I answer your question correctly? Mark my answer as a solution!
Proud to be a Datanaut!
Thank you LivioLanzo, outstanding!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
89 | |
84 | |
77 | |
49 |
User | Count |
---|---|
143 | |
140 | |
109 | |
69 | |
55 |