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
Chanise89
Helper I
Helper I

Tableau Formula translated into DAX

HI all,

 

I have been trying to translate this Tableau formula into a DAX expression but it keeps failing. 

 

Can someone help?

 

if CONTAINS( [Acc Level 1 Des],"Oper") and CONTAINS([Acc Level 2 Des],"Misc") then [Acc Level 3 Des]

ELSEIF CONTAINS( [Acc Level 1 Des],"Oper") and CONTAINS([Acc Level 2 Des],"Head") then [Acc Level 3 Des]

ELSEIF CONTAINS([Acc Level 3],"E7421") then [Acc Level 3 Des]

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

@Chanise89 Try:

Column = 
  SWITCH(TRUE(),
    FIND("Oper",[Acc Level 1 Des],,-1) > -1 && FIND("Misc",[Acc Level 2 Des],,-1)>-1, [Acc Level 3 Des],
    FIND("Oper",[Acc Level 1 Des],,-1) > -1 && FIND("Head",[Acc Level 2 Des],,-1)>-1, [Acc Level 3 Des],
    FIND("E7421",[Acc Level 3],,-1) > -1, [Acc Level 3 Des]
  )

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Super User
Super User

@Chanise89 Try:

Column = 
  SWITCH(TRUE(),
    FIND("Oper",[Acc Level 1 Des],,-1) > -1 && FIND("Misc",[Acc Level 2 Des],,-1)>-1, [Acc Level 3 Des],
    FIND("Oper",[Acc Level 1 Des],,-1) > -1 && FIND("Head",[Acc Level 2 Des],,-1)>-1, [Acc Level 3 Des],
    FIND("E7421",[Acc Level 3],,-1) > -1, [Acc Level 3 Des]
  )

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Thank you Greg. Sorry I left off some of the formula... Here is the entire thing:

 

if CONTAINS( [Acc Level 1 Des],"Oper") and CONTAINS([Acc Level 2 Des],"Misc") then [Acc Level 3 Des]

ELSEIF CONTAINS( [Acc Level 1 Des],"Oper") and CONTAINS([Acc Level 2 Des],"Head") then [Acc Level 3 Des]

ELSEIF CONTAINS([Acc Level 3],"E7421") then [Acc Level 3 Des]
else [Acc Level 2 Des]
END

 

It would essentially be the same right?

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.