Forum Discussion

Saxon10's avatar
Saxon10
Icon for Post Prodigy rankPost Prodigy
4 years ago
Solved

SUMIFS with multiple columns with DAX

 

Hi,

 

How can I do sumifs in Power BI based on the below mentioned data.

 

In Excel I am apply the following formula =IF(OR($C3="Not Pair",SUMIFS(D$3:D$73,A$3:A$73,A3,C$3:C$73,C3)=1),$B3,"Not Okay") to achieve my final output.

 

I am looking for new calculated column option.

 

 

ItemColour CodeColour CodeUnique CountDesired Result
123OrangeA11Orange
124GreenA11Green
125OrangeA21Orange
126GreenA21Green
127OrangeNot Pair1Orange
128OrangeNot Pair1Orange
135OrangeA11Orange
135GreenA21Green
136OrangeA21Not Okay
136GreenA21Not Okay
137OrangeA11Orange
137OrangeNot Pair1Orange
137OrangeNot Pair1Orange
138GreenA11Green
138OrangeNot Pair1Orange
138OrangeNot Pair1Orange
139OrangeA11Orange
139OrangeNot Pair1Orange
140GreenA11Green
140OrangeNot Pair1Orange
141OrangeA21Orange
141OrangeNot Pair1Orange
141OrangeNot Pair1Orange
142GreenA21Green
142OrangeNot Pair1Orange
142OrangeNot Pair1Orange
143GreenA11Green
143GreenA21Green
143OrangeNot Pair1Orange
144OrangeA11Not Okay
144GreenA11Not Okay
144OrangeNot Pair1Orange
145OrangeA11Not Okay
145GreenA11Not Okay
145OrangeA21Not Okay
145GreenA21Not Okay
147GreenA20.5Green
147GreenA20.5Green
148OrangeA10.5Orange
148OrangeA10.5Orange
149GreenA10.5Green
149GreenA10.5Green
150OrangeA11Orange
150OrangeA21Orange
151GreenA11Green
151GreenA21Green
152OrangeA11Orange
152OrangeNot Pair1Orange
152OrangeA21Orange
153OrangeA11Not Okay
153GreenA11Not Okay
153OrangeA21Orange
1999OrangeA21Not Okay
1999GreenA21Not Okay
1999OrangeA11Orange
155GreenA10.5Green
155GreenA21Not Okay
156OrangeA20.5Orange
156GreenA10.5Green
157OrangeNot Pair1Orange
157OrangeNot Pair1Orange
154OrangeA11Not Okay
154OrangeA21Orange
154GreenA11Not Okay
155OrangeA21Not Okay
155GreenA10.5Green
155OrangeNot Pair1Orange
156OrangeA20.5Orange
156GreenA10.5Green
156OrangeNot Pair1Orange
156OrangeNot Pair1Orange

 

 

 

  • You can't have two columns with the same name, so I change the first to "Colour" and second to "Code":

     

    Result =
    VAR SumIfs =
        CALCULATE (
            SUM ( Table1[Unique Count] ),
            ALLEXCEPT ( Table1, Table1[Item], Table1[Code] )
        )
    RETURN
        IF ( Table1[Code] = "Not Pair" || SumIfs = 1, Table1[Colour], "Not Okay" )

     

  • Hi Saxon10 ,

     

    Please add the ROUND function to the formula of AlexisOlson.

     

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

    Best Regards,
    Winniz

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

10 Replies

  • Saxon10 , Try a new column like

     

    new col =
    var _1 = countx(filter(Table, [Item] && earlier([Item]) && [Colour Code] <> "Not Pair"), [Item])
    return
    if([Colour Code] = "Not Pair" || isblank(_1) || _1=1, [Colour], "Not Okay")

    • Saxon10's avatar
      Saxon10
      Icon for Post Prodigy rankPost Prodigy

      thanks for your reply.

       

      I am receving the error can't convert value "item column" of type text to type true /false.

       

      Could you please share your PBI. 

       

    • Saxon10's avatar
      Saxon10
      Icon for Post Prodigy rankPost Prodigy

      I am receeving error if I apply your code "The syntax for 'Table' is incorrect. (DAX(var _1 = countx(filter(Table, [Item] && earlier([Item]) && [Colour Code] <> "Not Pair"), [Item])returnif([Colour Code] = "Not Pair" || isblank(_1) || _1=1, [Colour Code], "Not Okay"))).

       



  • You can't have two columns with the same name, so I change the first to "Colour" and second to "Code":

     

    Result =
    VAR SumIfs =
        CALCULATE (
            SUM ( Table1[Unique Count] ),
            ALLEXCEPT ( Table1, Table1[Item], Table1[Code] )
        )
    RETURN
        IF ( Table1[Code] = "Not Pair" || SumIfs = 1, Table1[Colour], "Not Okay" )

     

    • Saxon10's avatar
      Saxon10
      Icon for Post Prodigy rankPost Prodigy

      AlexisOlson ,

       

      Thanks for your respones and sorry for the late reply.
      Your solution almost working fine but I recevied incorrect result were the same itms has repeat multiple times

       

       


      • AlexisOlson's avatar
        AlexisOlson
        Icon for Super User rankSuper User

        I'm guessing you have some kind of rounding error so that Unique Count isn't adding up to exactly 1.

         

        I don't understand why you have duplicated rows, so it's hard to suggest a fix.