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
DanielHolland
Frequent Visitor

If Statement

Hi All im after help on this, 

 

Im Reporting on SLAs and need to show the "SLA status" 

 

Please can I have a DAX forumla that will output this? 

 

Here is an example Data set, Status of the ticket. When the fault is to be fixed by, Todays date and Time, If todays date is Past the expected fix date and the ticket is still in open status it needs to show "breach" .

 

StatusExpected fix Date Todays DateSLA Status
Open30/02/2022  14:5228/03/2022 13:05Breach
Open05/04/2022 15:0928/03/2022 13:05On Track
Closed27/03/2022 14:0528/03/2022 13:05HIT

 

Thanks 

Dan

1 ACCEPTED SOLUTION
jennratten
Super User
Super User

This is how you can do it with Power Query.

 

Table.AddColumn(#"Changed Type", "Breach Status", each if [Todays Date] > [#"Expected fix Date "] and [Status] = "Open" then "Breach" else "Not Breach", type text)

 

Sample Script

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8i9IzVPSUTIw0jey0DcyMDJSMDSxMjUCCRkjhIytDEyBQk5FqYnJGUqxOgh9JvoGplBFplYGltj1+ecphBQlJmeDdTrn5BenpkAVmsPtBCvEotfDM0QpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Status = _t, #"Expected fix Date " = _t, #"Todays Date" = _t, #"SLA Status" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Todays Date", type datetime}, {"Expected fix Date ", type datetime}}),
    #"Added Custom1" = Table.AddColumn(#"Changed Type", "Breach Status", each if [Todays Date] > [#"Expected fix Date "] and [Status] = "Open" then "Breach" else "Not Breach", type text)
in
    #"Added Custom1"

jennratten_0-1648650094588.png

 

This is how you can do it with DAX:

Breach Status DAX = if(and('Table'[Status] = "Open",'Table'[Expected fix Date ]<'Table'[Todays Date]),"Breach","Not Breach")

 

jennratten_1-1648650264243.png

 

 

View solution in original post

2 REPLIES 2
jennratten
Super User
Super User

This is how you can do it with Power Query.

 

Table.AddColumn(#"Changed Type", "Breach Status", each if [Todays Date] > [#"Expected fix Date "] and [Status] = "Open" then "Breach" else "Not Breach", type text)

 

Sample Script

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8i9IzVPSUTIw0jey0DcyMDJSMDSxMjUCCRkjhIytDEyBQk5FqYnJGUqxOgh9JvoGplBFplYGltj1+ecphBQlJmeDdTrn5BenpkAVmsPtBCvEotfDM0QpNhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Status = _t, #"Expected fix Date " = _t, #"Todays Date" = _t, #"SLA Status" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Todays Date", type datetime}, {"Expected fix Date ", type datetime}}),
    #"Added Custom1" = Table.AddColumn(#"Changed Type", "Breach Status", each if [Todays Date] > [#"Expected fix Date "] and [Status] = "Open" then "Breach" else "Not Breach", type text)
in
    #"Added Custom1"

jennratten_0-1648650094588.png

 

This is how you can do it with DAX:

Breach Status DAX = if(and('Table'[Status] = "Open",'Table'[Expected fix Date ]<'Table'[Todays Date]),"Breach","Not Breach")

 

jennratten_1-1648650264243.png

 

 

Vijay_A_Verma
Super User
Super User

Whatever data you have supplied, you can use following formula

=if([Status]="Open",if([Expected fix Date]<[Todays Date],"Breach","On Track"),"HIT")

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors