Forum Discussion

skiely's avatar
skiely
Frequent Visitor
9 years ago
Solved

Problem With Countrows Function

I'm strugling with DAX, I have been trying to create a New Column that counts the number of times a User in my database has a certain Role.

 

I have been using unsucessfully trying CALCULATE(COUNTROWS(FILTER('Contact role','Contact role'[Level]="Primary")))

 

I think I may be using the wrong functions for this, but have been unable to find a solution. Any help is greatly appreciated. 

 

For more structure, here is the fake subset of the table named 'Contact role':

NameRole
John DoePrimary
Jane DoeBackup
John DoeBackup
John DoeBackup
Jane DoeBackup
Jane DoePrimary
Jane Doe

Primary

 

 

  • I just used your formula in a measure (and not a calculated column), and then used it on our sample data. It seems to give the right results.

    cntrows = CALCULATE(COUNTROWS(Table1), FILTER(Table1, Table1[Role]="Primary")) & " P  " &  CALCULATE(COUNTROWS(Table1), FILTER(Table1, Table1[Role]="Backup")) & " B"

     

    It would be easier for us to help you if you give sample data (like you gave), and then show exactly what the results should be with the sample data. Feel free to change the sample data but make sure that you show what the end results also need to be, so that we can replicate it in Power BI

4 Replies

  • SqlJason's avatar
    SqlJason
    Memorable Member

    Can you tell us what the output needs to be? 

    If you make a table with the name, role and a simple countrows measure  

    cntrows = COUNTROWS(Table1)

    You will get the following output

     

    If you want it as a caclulated column (maybe as an intermediate step for some other calculation), you can use the formula below

     

     

    Cntrows_col = CALCULATE(COUNTROWS(Table1), ALLEXCEPT(Table1, Table1[Name], Table1[Role]))

     

    So depends on what your use is.

     

    • skiely's avatar
      skiely
      Frequent Visitor

      I'm trying to make it so I can show Both on a single table

       

      I censored the table I am trying to create. The Associate is the name, and the role is relative to the Borough of New York City. 

       

      The formula I used for this is CALCULATE(COUNTROWS(FILTER('Contact role','Contact role'[Level]="Primary")))&" (P) "&CALCULATE(COUNTROWS(FILTER('Contact role','Contact role'[Level]="Backup")))&" (B) "

       

      • SqlJason's avatar
        SqlJason
        Memorable Member

        I just used your formula in a measure (and not a calculated column), and then used it on our sample data. It seems to give the right results.

        cntrows = CALCULATE(COUNTROWS(Table1), FILTER(Table1, Table1[Role]="Primary")) & " P  " &  CALCULATE(COUNTROWS(Table1), FILTER(Table1, Table1[Role]="Backup")) & " B"

         

        It would be easier for us to help you if you give sample data (like you gave), and then show exactly what the results should be with the sample data. Feel free to change the sample data but make sure that you show what the end results also need to be, so that we can replicate it in Power BI