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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
NatalyZot
New Member

Determining delivery status in Power BI

Hello!
I am new to Power BI. I need to add a "Status" column that will display "on time", "late", "not delivered".
If Planned Date is greater than or equal to Actual Date + 3 days, then "on time". If Planned Date is less than Actual Date + 3 days, then "late".
If Actual Date is not present, then the status should be "not delivered". Please help me write a formula in DAX.

The result should be like this:

Plan dateFact dateStatus
31.03.202531.03.2025on time
24.12.202409.01.2025late
30.06.2025 not delivered
11.02.202509.02.2025on time
25.04.202528.04.2025on time
25.04.202529.04.2025late

 Thank you in advance

1 ACCEPTED SOLUTION
DataNinja777
Super User
Super User

Hi @NatalyZot ,

 

Welcome to Power BI! You can create a calculated column in your table using this DAX formula to determine the delivery Status as you described:

Status = 
IF(
    ISBLANK('Table'[Fact date]),
    "not delivered",
    IF(
        'Table'[Plan date] >= 'Table'[Fact date] + 3,
        "on time",
        "late"
    )
)

Make sure to replace 'Table' with the actual name of your table, and ensure both Plan date and Fact date are in date format.

Here's how it works:

If the Fact date (Actual Date) is blank → "not delivered"

Else if the Plan date is at least 3 days later than Fact date → "on time"

Otherwise → "late"

Let me know if you'd like to visualize this in a table or apply conditional formatting next!

 

Best regards,

View solution in original post

2 REPLIES 2
NatalyZot
New Member

Thank you very much for your help!

DataNinja777
Super User
Super User

Hi @NatalyZot ,

 

Welcome to Power BI! You can create a calculated column in your table using this DAX formula to determine the delivery Status as you described:

Status = 
IF(
    ISBLANK('Table'[Fact date]),
    "not delivered",
    IF(
        'Table'[Plan date] >= 'Table'[Fact date] + 3,
        "on time",
        "late"
    )
)

Make sure to replace 'Table' with the actual name of your table, and ensure both Plan date and Fact date are in date format.

Here's how it works:

If the Fact date (Actual Date) is blank → "not delivered"

Else if the Plan date is at least 3 days later than Fact date → "on time"

Otherwise → "late"

Let me know if you'd like to visualize this in a table or apply conditional formatting next!

 

Best regards,

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

September Power BI Update Carousel

Power BI Monthly Update - September 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.