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
dexter2424
Helper I
Helper I

Cumulative SamePeriodLastYear by category

Hi, 

I'm facing an issue in the last 3 days. I thought I can solve it, but no luck. 

 

I have a measure with LY Amount:

 

LY Amount = CALCULATE([CY Amount],SAMEPERIODLASTYEAR(vw_Prem_ToO_ID[Date]),ALL(vw_Prem_ToO_ID[Date]))

 

vw_prem_toO_ID is my calendar, I know, it's a stupid name. 
I calculate the LY Amount from CY Amount. 
(This is working fine)
I have a slicer, and once I slide it, it's also work fine.

The issue I have, when I try to calculate the cumulative value of the period. 
For example, if I select period from 1/Jan/2020 till 1/May/2020 The first date amount should be 1st of Jan, and the last added to the cumulative is 1st of May. 
This is working in CY Amount:

 

Cumulative CY Amount = 
IF(
    MIN(vw_Prem_ToO_ID[Date]) <= CALCULATE(MAX(vw_Prem_ToO_ID[Date]),ALL(vw_Prem_ToO_ID)),
    CALCULATE(([CY Amount]),FILTER(ALLSELECTED(vw_Prem_ToO_ID),vw_Prem_ToO_ID[Date] <= MAX(vw_Prem_ToO_ID[Date])),VALUES(TradeTable[TradeCategory])))​

(The TradeCategory just added to split by category in a linechart later)
This is also working fine with the "CY Amount", but not working with the PY Amount. 
I have tried almost everything. 
I have checked many code, tried in different ways, but The results I got: empty, LY Amount (not the cumulative), Sum of the LY Amount.
I would like to have it in Month split like the CY.
May it's messy, but If you know anything would be helpful, I would appreciate.

Cumulative LY Amount= 
var MinDate = MIN(vw_Prem_ToO_ID[Date])
var MaxDate = MAX(vw_Prem_ToO_ID[Date])
var PYearBottom = DATE(YEAR(MinDate)-1,MONTH(MinDate),DAY(MinDate))
var PYearTop = DATE(YEAR(MaxDate)-1,MONTH(MaxDate),DAY(MaxDate))
return
       /*IF(
    PYearBottom <= CALCULATE(MaxDate,ALL(vw_Prem_ToO_ID)),
    CALCULATE(([CY Amount]),FILTER(ALLSELECTED(vw_Prem_ToO_ID),PYearBottom <= PYearTop),VALUES(Trade[TradeCategory])))*/

    
    ---IF(PYearBottom <= CALCULATE(PYearTop,ALL(vw_Prem_ToO_ID)),
    --- CALCULATE([CY GWP],FILTER(ALLSELECTED(vw_Prem_ToO_ID),vw_Prem_ToO_ID[Date] <= PYearTop)
    ---))

    ---CALCULATE([CY Amount],SAMEPERIODLASTYEAR(vw_Prem_ToO_ID[Date]))

    
    CALCULATE([LY Amount],FILTER(ALLSELECTED(vw_Prem_ToO_ID),vw_Prem_ToO_ID[Date] <= MAX(vw_Prem_ToO_ID[Date])))​


This are and the combination of these I have tried.
Thanks, Denes

 

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@dexter2424 , Not very clear. Have to try formula like?

YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@dexter2424 , Not very clear. Have to try formula like?

YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))

No, I have missed this, but helped me a lot! 

Thank You!

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.