Forum Discussion
IF Statement Amendment
- 11 months ago
Hi ArchStanton , try this formula.
Logic Used:
When the Created On equals the Resolution Date , return 1 day;
otherwise for resolved cases return an inclusive day count (DATEDIFF + 1).
For active cases the existing behaviour is preserved (you can switch to inclusive there too if you prefer).Case Length = VAR StartDate = IF( ISBLANK( 'Cases'[legacycasecreationdate] ), 'Cases'[Created On], 'Cases'[legacycasecreationdate] ) VAR IsActive = 'Cases'[statecode] = "Active" VAR ResDate = 'Cases'[Resolution Date] RETURN IF( IsActive, -- Active: difference between StartDate and now (unchanged behaviour) DATEDIFF( StartDate, NOW(), DAY ), -- Resolved: handle blanks, same-day, otherwise inclusive DATEDIFF (+1) IF( ISBLANK( ResDate ), BLANK(), IF( DATEVALUE( StartDate ) = DATEVALUE( ResDate ), 1, -- same calendar day => 1 DATEDIFF( StartDate, ResDate, DAY ) + 1 -- inclusive count ) ) )Notes / rationale
DATEVALUE(...) is used when comparing StartDate and ResDate so time components don’t make two same-day timestamps look different.
DATEDIFF(...)+1 gives an inclusive day count (e.g., start = 1-Jan, end = 2-Jan → 2 days).
If you want inclusive logic for active cases too, change the active branch to DATEDIFF( StartDate, NOW(), DAY ) + 1.
If you prefer to always return 0 rather than BLANK() for missing Resolution Date, replace BLANK() with 0.
⭐Hope this solution helps you make the most of Power BI! If it did, click 'Mark as Solution' to help others find the right answers.
💡Found it helpful? Show some love with kudos 👍 as your support keeps our community thriving!
🚀Let’s keep building smarter, data-driven solutions together!🚀 [Explore More]
Case Length =
VAR StartDate = IF(ISBLANK('Cases'[legacycasecreationdate]), 'Cases'[Created On], 'Cases'[legacycasecreationdate])
VAR EndDate = IF('Cases'[statecode] = "Active", NOW(), 'Cases'[Resolution Date])
VAR DaysDiff = DATEDIFF(StartDate, EndDate, DAY)
RETURN
IF(StartDate = EndDate, DaysDiff + 1, DaysDiff)
If this answer helped, please click Kudos or mark as Solution.
-Kedar
LinkedIn: https://www.linkedin.com/in/kedar-pande
- ArchStanton11 months ago
Power Participant
I've accepted another solution but I did try this and its not correct.
An Active case is active so it cannot be resolved & have a resolution date
I'm seeing cases with a created on = resolution date showing as 0 days when it should be 1
A small amendment and it will work I think