This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Solved! Go to Solution.
Hey @dineshj23 ,
the following screenshot shows my sample data and also the result:
Here is the DAX statement to create the Calculated Column:
timeline =
var StartDate = 'Table'[start date]
var CompletedDateIsMissing = IF( ISBLANK( 'Table'[completed date] ) , 1 , 0)
return
SWITCH(
CompletedDateIsMissing
, 0
, var __DateDiff = DATEDIFF( StartDate , 'Table'[completed date] , DAY )
return
IF( __DateDiff < 30 , "On time" , "Late" )
, 1
, var DateToday = TODAY()
var __DateDiff = DATEDIFF( StartDate , DateToday , DAY )
return
IF( __DateDiff < 30 , "On time" , "Pending Late" )
)
I branch the decision-making by using SWITCH (completed date is missing or not). In both cases I calculate the number of days and return a value.
Hopefully, this what you are looking for.
Regards,
Tom
Hey @dineshj23 ,
the following screenshot shows my sample data and also the result:
Here is the DAX statement to create the Calculated Column:
timeline =
var StartDate = 'Table'[start date]
var CompletedDateIsMissing = IF( ISBLANK( 'Table'[completed date] ) , 1 , 0)
return
SWITCH(
CompletedDateIsMissing
, 0
, var __DateDiff = DATEDIFF( StartDate , 'Table'[completed date] , DAY )
return
IF( __DateDiff < 30 , "On time" , "Late" )
, 1
, var DateToday = TODAY()
var __DateDiff = DATEDIFF( StartDate , DateToday , DAY )
return
IF( __DateDiff < 30 , "On time" , "Pending Late" )
)
I branch the decision-making by using SWITCH (completed date is missing or not). In both cases I calculate the number of days and return a value.
Hopefully, this what you are looking for.
Regards,
Tom
Hi @TomMartens, How can I see if there's completed date missing but it's less than 30 days from Today and to label it as "Pending On time?
Thank you.
Hey @dineshj23 ,
just change this part
, 1
, var DateToday = TODAY()
var __DateDiff = DATEDIFF( StartDate , DateToday , DAY )
return
IF( __DateDiff < 30 , "On time" , "Pending Late" )
)
to this
, 1
, var DateToday = TODAY()
var __DateDiff = DATEDIFF( StartDate , DateToday , DAY )
return
IF( __DateDiff < 30 , "Pending On time" , "Pending Late" )
)
Regards,
Tom
Hi @dineshj23 ,
Try below formula:
Q Timeline =
var completed = if(isblank([completed date]),today(),[completed date])
var date_diff = datediff([start date],[completed date],day)
return
IF(date_diff>30,"late","on time")
Best Regards,
Jay
Hi @Anonymous Thank you for your reply.
What about the ones that don't have a completed date entered but are already running late? I would call this variable "Pending Late".
@Anonymous Hi. I think you might ahve not finished writing the complete code.
Hi @dineshj23 ,
--How do I calculate the ones that are running late that don't have the completed date but only the start date. We can use today's date to calculate how late it is.
if(isblank([completed date]),today(),[completed date])
Below part of formula means:
If the [completed date] is blank, then use today's date in date difference calculation.
If you only want to show "Pending Late" when [completed date] is blank, modify the formula as below:
Q Timeline =
var a = if(isblank([completed date]),-1,datediff([start date],[completed date],day))
return
IF(a = -1,"pending late",if(date_diff>30,"late","on time"))
Best Regards,
Jay
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 30 | |
| 23 | |
| 23 | |
| 16 | |
| 15 |
| User | Count |
|---|---|
| 61 | |
| 35 | |
| 28 | |
| 22 | |
| 21 |