Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

DAX

HI, I have a requirement where I have to check for each category, and if for that category any flag is "Yes', then I need another column which says "True" for all values of that category. eg. `

Column1    Flag      Final_Answer

A                Yes       True

A                No       True

A                No       True

B                 No      False

B                 No      False

C                No         False 

 

 

Notice that only if a category in Column1 has the value "Yes" in Flag then Final_Answer will be "True" for all the rows for the category. Since, "B" and "C" do not have "Yes', the corresponding value in Final_answer is "False:. How can I achieve this in DAX powerbi? Any help is appreciate. Thanks

  • dax's avatar
    dax
    6 years ago

    Hi Anonymous , 

    You could change amitchandak 's expression like below, it is calculated column

    Column = if(isblank(countx(filter('Table', [Column1] = earlier([Column1]) && [Flag] ="Yes"),[Column1])),"False", "True")

    Or you also could try to use measure to achieve this.

    Measure = if(CALCULATE(DISTINCTCOUNT('Table'[Flag]),ALLEXCEPT('Table','Table'[Column1]))>1,"True", "False")

     

    Best Regards,
    Zoe Zhi

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

     

3 Replies

  • Anonymous , Try a new column like

    new column = isblank(countx(filter(Table, [Column1] = earlier([Column1]) && [Flag] ="Yes"),[Column1]),"No","Yes")

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Amit, Thanks for replying. But, im getting errors on the last part of your DAX query. Could you please check once? Thanks

      • dax's avatar
        dax
        Community Support

        Hi Anonymous , 

        You could change amitchandak 's expression like below, it is calculated column

        Column = if(isblank(countx(filter('Table', [Column1] = earlier([Column1]) && [Flag] ="Yes"),[Column1])),"False", "True")

        Or you also could try to use measure to achieve this.

        Measure = if(CALCULATE(DISTINCTCOUNT('Table'[Flag]),ALLEXCEPT('Table','Table'[Column1]))>1,"True", "False")

         

        Best Regards,
        Zoe Zhi

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