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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Not applicable

YOY Total with IF Condition on customer value

Hi All, 


I need to show the Total Value for each YEAR based on IF condition applied on the customer. 


Example for 1 customer in current year:

If (Total Sales = 0 , Last Year Sales, Total Sales)


I have tried the following: 

value_last_FY = CALCULATE(SUM(Sales[Value]),SAMEPERIODLASTYEAR('Date'[Date]))
tmp_value = IF(SUM(Sales[Value]) = 0 , [value_last_FY] , SUM(Sales[Value]))
total_value = SUMX('Date', [tmp_value ])
total_value works well when Year & Customer column is added in the table view, 
BUT, When I remove Customer column, the total value for each year does not sum up correctly 
Thank you in advacne




@Anonymous , Please find the file. I have corrected tmp_value. Refer Page 4

I created a new table for customer 

View solution in original post

Super User
Super User

@Anonymous , you can have 

value_last_FY = CALCULATE(SUM(Sales[Value]),SAMEPERIODLASTYEAR('Date'[Date]))
value_last_FY = CALCULATE(SUM(Sales[Value]),dateadd('Date'[Date],-1,year))


use isblank

tmp_value = IF( isblank(SUM(Sales[Value])) , [value_last_FY] , SUM(Sales[Value]))


tmp_value = IF( isblank(SUM(Sales[Value])) || SUM(Sales[Value]) =0  , [value_last_FY] , SUM(Sales[Value]))

Not applicable

@amitchandak :  Thanks for your response.

Please see the screen shot.  total_value measure works well with Year ->   Customer -> total_value 

BUT, on the aggregated view the Total does not sum up correctly


@Anonymous , you have try like


total_value = SUMX(values('Date'[Date]), [tmp_value ])


total_value = SUMX(values('Date'[Year]), [tmp_value ]) // on second one if first one does work there


That is the row context. So the grand total is calculated again.  This will force it take from row totals

Not applicable

@amitchandak : Somehow it is not working, but I think of the following issue. 


In IF measure , I would like to consider prevoius year value of the same customer , ONLY when customer has NO order in current FULL  year. 

In the current scenario, it is picking prevoius year value based on the Date[Date]. It seems like something to do with SUMMARIZE 


Any Idea?



Not applicable

@amitchandak  I have uploaded a sample PBIX file. Can you please take a look .


The correct Estimate_Value measure should be total of tmp_value measure per year. (Total at year level is not correct).

FY Year starts from 01st Sept. Below is the desired result .


2018 - 18558377 

2019 - 22658571

2020 - 25084241

2021 - 29162252


What am I missing here ? Thanks a lot for your support.



@Anonymous , Please find the file. I have corrected tmp_value. Refer Page 4

I created a new table for customer 

Helpful resources

Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Power BI Header Change

Power BI Header Update

Read about the exciting updates for the Power BI forum.

Top Solution Authors