March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hi Team,
Need help with DAX query.
We need to report whether an incident is Inside SLA or Outside SLA
Condition/Criteria -
If INC is P1 and time taken to resolve more than 4 hrs - OSLA
If INC is P2 and time taken to resolve more than 8 hrs - OSLA
If INC is P3 and time taken to resolve more than 5 days - OSLA
If INC is P4 and time taken to resolve more than 7 days - OSLA
I tried this query (method1) :
Solved! Go to Solution.
I was assuming that if the elapsed time is blank amd ageing Mins > 240, irrespective of the priority, the result should be ""OUTSIDE SLA" (which is what the first line of code in the Switch expression checks).
If there are different criteria for each priority where the elapsed time is blank, can you specify them?
Does your second method deliver the expected result? If so, it can also be written like this:
SLA MET 2 =
SWITCH (
TRUE (),
Incident[PRIORITY] = "1 - Critical"
&& OR (
Incident[Actual elapse time] > 240,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 240 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "2 - High"
&& OR (
Incident[Actual elapse time] > 480,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 480 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "3 - Moderate"
&& OR (
Incident[Actual elapse time] > 7200,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 7200 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "4 - Low"
&& OR (
Incident[Actual elapse time] > 10080,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Days] > 10080 )
), "OUTSIDE SLA",
"INSIDE SLA"
)
Proud to be a Super User!
Paul on Linkedin.
Try:
SLA MET =
SWITCH (
TRUE (),
Incident[Actual elapse time] = BLANK ()
&& Incident[Ageing Mins] > 240, "OUTSIDE SLA",
Incident[PRIORITY] = "1 - Critical"
&& Incident[Actual elapse time] > 240, "OUTSIDE SLA",
Incident[PRIORITY] = "2 - High"
&& Incident[Actual elapse time] > 480, "OUTSIDE SLA",
Incident[PRIORITY] = "3 - Moderate"
&& Incident[Actual elapse time] > 7200, "OUTSIDE SLA",
Incident[PRIORITY] = "4 - Low"
&& Incident[Actual elapse time] > 10080, "OUTSIDE SLA",
"INSIDE SLA"
)
Proud to be a Super User!
Paul on Linkedin.
Hi ,
I did not get this part :
Incident[Actual elapse time] = BLANK () && Incident[Ageing Mins] > 240, "OUTSIDE SLA",
Ageins mins criteria is different for different Priority. Above query you are just checking for P1.
I was assuming that if the elapsed time is blank amd ageing Mins > 240, irrespective of the priority, the result should be ""OUTSIDE SLA" (which is what the first line of code in the Switch expression checks).
If there are different criteria for each priority where the elapsed time is blank, can you specify them?
Does your second method deliver the expected result? If so, it can also be written like this:
SLA MET 2 =
SWITCH (
TRUE (),
Incident[PRIORITY] = "1 - Critical"
&& OR (
Incident[Actual elapse time] > 240,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 240 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "2 - High"
&& OR (
Incident[Actual elapse time] > 480,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 480 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "3 - Moderate"
&& OR (
Incident[Actual elapse time] > 7200,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Mins] > 7200 )
), "OUTSIDE SLA",
Incident[PRIORITY] = "4 - Low"
&& OR (
Incident[Actual elapse time] > 10080,
AND ( Incident[Actual elapse time] = BLANK (), Incident[Ageing Days] > 10080 )
), "OUTSIDE SLA",
"INSIDE SLA"
)
Proud to be a Super User!
Paul on Linkedin.
Thanks, this works perfectly. Thought its more complex than what I wrote but helped me in understanding how we can use logical operators.
Bdw, any problem/complexity issue with the query I wrote or it can be used as well ?
I don't think there should be any problems with how you wrote the query. Reducing the SWITCH expression from your 9 lines to the more succinct 5 lines might help improve performance though...
Proud to be a Super User!
Paul on Linkedin.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
133 | |
91 | |
88 | |
64 | |
58 |
User | Count |
---|---|
201 | |
137 | |
108 | |
73 | |
68 |