Forum Discussion

Elios's avatar
Elios
Regular Visitor
5 years ago
Solved

Convert Excel functions to DAX

Hello there,

 

I am a new user of power BI, I have quite the complex formula in excel that return conditional values. I tried to put it in Power BI however the error:

"Too many arguments were passed to the OR function. The maximum argument count for the function is 2." happens.

 

While this works perfectly in Excel. Could you help me see what could be changes in it and convert it in DAX ? Thank you

 

The Excel forumula is:

 

=IF([@[Aa]]="YES";IF(OR(ISNUMBER(SEARCH("TM TD";[@[Bb]];1));[@[Bb]]="TM BOLOGNA";[@[Bb]]="TM TOLOS";[@[Bb]]="PROJECT");IF(AND([@[Cc]]=0;OR([@[Dd]]="";[@[Ee]]=""));"valid";"conflict");IF(AND([@[Cc]]=1;AND([@[Dd]]>0;[@[Ee]]>0));"conflict";IF(OR([@[Ff]]=1;[@[Gg]]=1);"valid";IF(AND([@[Hh]]="SECTOR";[@[Ii]]=[@[Jj]];[@[Jj]]=[@[Kk]]);"sector ag";""))));"N/A")

 

The current DAX formula that gives me the error is :

 

Sitation = IF(Sheet1[Aa]="YES",

 

IF

(OR

(ISNUMBER

(SEARCH

("TM TD",Sheet1[Bb],1,"0")),

Sheet1[Bb]="TM BOLOGNA",Sheet1[Bb]="TM TOLOS",Sheet1[Bb]="PROJECT"),

IF

(AND

(Sheet1[Cc]=0,

OR(Sheet1[Dd]="",Sheet1[Ee]="")

),"valid","conflict"),

 

IF

(AND

(Sheet1[Cc]=1,

 

AND

(Sheet1[Dd]>0,Sheet1[Ee]>0)),

 

"conflict",

IF(

OR(

Sheet1[Ff]=1,Sheet1[Gg]=1)

,"valid",IF

(AND

(Sheet1[Hh]="SECTOR",Sheet1[Ii]=Sheet1[Jj],Sheet1[Jj]=Sheet1[Kk]),"sector ag","")))),

 

"N/A")

 

  • Elios , parry2k  mentioned below matching syntax:

    || -> OR

    && -> AND
    You can use OR/AND when you compare 2 arguments, and you should use 

    || / && when having more than 2 arguments

5 Replies

  • nandic's avatar
    nandic
    Resident Rockstar

    Hi Elios ,
    It seems your are passing multiple conditions to OR function? OR function accepts only 2 parameters.
    If you need multiple conditions in OR function, use this syntax:
    If(Table[Criteria1] = "A" || Table[Criteria2] = "B" || Table[Criteria3] = "C" || ...

    Regards,
    Nemanja Andic

    • Elios's avatar
      Elios
      Regular Visitor

      Thank you that seems to be what I need, what are the || ? Do they play a similar role to the OR function ?

       

      Also I have a similar problem with the AND function that is less flexible than on excel. Do you have any idea how to replace it with something that can accept more than 2 parameters ?

      • nandic's avatar
        nandic
        Resident Rockstar

        Elios , parry2k  mentioned below matching syntax:

        || -> OR

        && -> AND
        You can use OR/AND when you compare 2 arguments, and you should use 

        || / && when having more than 2 arguments