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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
amlopez45
Frequent Visitor

Incorrect output for IF function

Hi Everyone, 

 

I am not sure what is going on with the IF function but it is not working as I would expected to. I want to get the number of days between two dates if a certain condition is met. If the condition is not met I want it get me the number of days that have passed. 

 

This is my current formula. 

DateDiff = IF('Table'[Status] = "Closed", DATEDIFF('Table'[Return Date].[Date], 'Table' [Shipping Date].[Date], DAY), DATEDIFF('Table'[Return Date].[Date], TODAY(), DAY))
 
For example, when I add the DateDiff column that contains the formula above it outputs 4 for every row. 
CustomerStatusReturn DateShipping DateDateDiff
AClosed1/28/20192/1/20194
BActive2/4/2019 4
CActive  4
DActive2/4/2019 4

 

How do I get it to output the correct value?

 

Note: When I take out the IF function and seperate the DATEDIFF functions the output is correct. 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

HI @amlopez45,

 

Can you please share pbix file for test? Your formula works well on my side.

 

Regards,
Xiaoxin Sheng

View solution in original post

6 REPLIES 6
Anonymous
Not applicable

HI @amlopez45,

 

Can you please share pbix file for test? Your formula works well on my side.

 

Regards,
Xiaoxin Sheng

Hi @Anonymous,

 

The formula is working well now. I tried Collins method and it seemed to do the job. Not really sure what happened. Thank you for offering to help. Smiley Happy

amlopez45
Frequent Visitor

Hi Everyone, 

 

I am not sure what is going on with the IF function but it is not working as I would expected to. I want to get the number of days between two dates if a certain condition is met. If the condition is not met I want it get me the number of days that have passed. 

 

This is my current formula. 

DateDiff = IF('Table'[Status] = "Closed", DATEDIFF('Table'[Return Date].[Date], 'Table' [Shipping Date].[Date], DAY), DATEDIFF('Table'[Return Date].[Date], TODAY(), DAY))
 
For example, when I add the DateDiff column that contains the formula above it outputs 4 for every row. 
CustomerStatusReturn DateShipping DateDateDiff
AClosed1/28/20192/1/20194
BActive2/4/2019 4
CActive  4
DActive2/4/2019 4

 

How do I get it to output the correct value?

 

Note: When I take out the IF function and seperate the DATEDIFF functions the output is correct. 

Anonymous
Not applicable

hello @amlopez45

 

first things first, try changing your data format (top of modeling tab) to date for your calculated column and see if that fixes your issue

 

here is a picture of what I did.

dateeeeeeeeeeeee.PNG

best regards,

Collin

Hello @Anonymous,

 

Thank you for the suggestion, the formula is working well now. Smiley Happy

Anonymous
Not applicable

@amlopez45

 

Great to hear, be sure to mark the post as the solution for anyone else that comes along. 

 

best Regards,

Collin

 

 

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.