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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
ironboy0418
Helper II
Helper II

What is the additional if statement that will return the first-non zero value from previous row?

I am currently doing a COVID-19 reports/dashboard through Power BI. I have this dax formula that will return the new cases for each day. However, the problem with this formula is that I am not able to return the value of the first case - it returns 0. May I ask for suggestion on how to make this formula return the value of first case as well?

 

Datasource: https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/...

 

Source code:

New_Cases = 
VAR Countries = ConfirmedCases[Country/Region]
VAR State = ConfirmedCases[Province/State]
VAR dates = ConfirmedCases[Date]
VAR PrevDay =
CALCULATE(
    MAX(ConfirmedCases[Cases]),
    FILTER('ConfirmedCases',
    ConfirmedCases[Country/Region]=Countries && ConfirmedCases[Province/State]=State && ConfirmedCases[Date]<dates))
RETURN
IF(PrevDay=0,0,
IF(PrevDay>[Cases],0,
IF(PrevDay>0,[Cases]-PrevDay)))

Here is the current output: stackoverflow_dax01.PNG

 

1 ACCEPTED SOLUTION
ironboy0418
Helper II
Helper II

We got the answer! Sharing the appropriate solution:

 

New_Cases =
VAR Countries = Confirmed_Cases[Country/Region]
VAR State = Confirmed_Cases[Province/State]
VAR dates = Confirmed_Cases[Date]
VAR tbl =   FILTER('Confirmed_Cases',
    Confirmed_Cases[Country/Region]=Countries && Confirmed_Cases[Province/State]=State && Confirmed_Cases[Date]<dates)
VAR PrevDay =
CALCULATE(
    MAX(Confirmed_Cases[Cases]),
     tbl)
RETURN
[Cases] - PrevDay

View solution in original post

3 REPLIES 3
ironboy0418
Helper II
Helper II

We got the answer! Sharing the appropriate solution:

 

New_Cases =
VAR Countries = Confirmed_Cases[Country/Region]
VAR State = Confirmed_Cases[Province/State]
VAR dates = Confirmed_Cases[Date]
VAR tbl =   FILTER('Confirmed_Cases',
    Confirmed_Cases[Country/Region]=Countries && Confirmed_Cases[Province/State]=State && Confirmed_Cases[Date]<dates)
VAR PrevDay =
CALCULATE(
    MAX(Confirmed_Cases[Cases]),
     tbl)
RETURN
[Cases] - PrevDay
amitchandak
Super User
Super User

@ironboy0418 , Previous date when cases were 0 (New column)

 

New_Cases =
VAR Countries = ConfirmedCases[Country/Region]
VAR State = ConfirmedCases[Province/State]
VAR dates = ConfirmedCases[Date]
VAR PrevDay =
CALCULATE(
MAX(ConfirmedCases[dates]),
FILTER('ConfirmedCases',
ConfirmedCases[Country/Region]=Countries && ConfirmedCases[Province/State]=State && ConfirmedCases[Date]<dates && ConfirmedCases[New_Cases]=0))
RETURN
PrevDay

 

 

1st date when case were 0

 

New_Cases =
VAR Countries = ConfirmedCases[Country/Region]
VAR State = ConfirmedCases[Province/State]
VAR dates = ConfirmedCases[Date]
VAR PrevDay =
CALCULATE(
Min(ConfirmedCases[dates]),
FILTER('ConfirmedCases',
ConfirmedCases[Country/Region]=Countries && ConfirmedCases[Province/State]=State && ConfirmedCases[Date]<dates && ConfirmedCases[New_Cases]=0))
RETURN
PrevDay

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Thanks amitchandak! Do I need to create two columns for these?

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.