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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
galbatrox9
Helper I
Helper I

Power Query M formula not working ( Nested IF with and)

Hi Team,

 

I am trying to add a custom column based on two columns. I want the new column to tell me all rows where the Subject contains "trade" and "fail" but Contacts does not contain no-reply@123.com.

 

if (Text.Contains([Subject],"trade"))
and (Text.Contains([Contacts],"no-reply@123.com"))
and (Text.Contains([Subject],"fail"))
and not Text.Contains([Subject],"scheduled")
then "Trade Failure"
else ""

 

 

But the output is blank. When i run the code without the and not line, its working (but obviously not pulling what i want).

 

 

1 ACCEPTED SOLUTION

I just tried this and it worked .

 

if (Text.Contains([Subject],"trade"))
and (Text.Contains([Subject],"fail"))
and (
    (Text.Contains([Contacts],"noreply@123.com"))
or 
(Text.Contains([Contacts],"no-reply@123.com"))
)

and not (Text.Contains([Subject],"scheduled"))
and not (Text.Contains([Subject],"re:"))
then "Trade-In Failure"

else if (Text.Contains([Subject],"scheduled"))
and (Text.Contains([Subject],"fail"))
and (
    (Text.Contains([Contacts],"noreply@123.com"))
or 
(Text.Contains([Contacts],"no-reply@123.com"))
)

and not (Text.Contains([Subject],"trade"))
and not (Text.Contains([Subject],"re:"))
then "Report Failure"

else ""

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

What if you try:

 

IF (Text.Contains([Subject],"scheduled"), "", 

if (Text.Contains([Subject],"trade"))
and (Text.Contains([Contacts],"no-reply@123.com"))
and (Text.Contains([Subject],"fail"))

Well there is another IF that i was wanting to nest into it so this wont work.

 

This is the currently the code with the nested if, but it doesn't work. 

 

if (Text.Contains([Subject],"scheduled"))
and (Text.Contains([Contacts],"no-reply@123.com"))
then "Report Failure"

else if (Text.Contains([Subject],"trade"))
and (Text.Contains([Subject],"fail"))
and (Text.Contains([Contacts],"no-reply@123.com"))
then "Trade Failure"

 

I just tried this and it worked .

 

if (Text.Contains([Subject],"trade"))
and (Text.Contains([Subject],"fail"))
and (
    (Text.Contains([Contacts],"noreply@123.com"))
or 
(Text.Contains([Contacts],"no-reply@123.com"))
)

and not (Text.Contains([Subject],"scheduled"))
and not (Text.Contains([Subject],"re:"))
then "Trade-In Failure"

else if (Text.Contains([Subject],"scheduled"))
and (Text.Contains([Subject],"fail"))
and (
    (Text.Contains([Contacts],"noreply@123.com"))
or 
(Text.Contains([Contacts],"no-reply@123.com"))
)

and not (Text.Contains([Subject],"trade"))
and not (Text.Contains([Subject],"re:"))
then "Report Failure"

else ""

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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