Forum Discussion

vinaydavid's avatar
vinaydavid
Icon for Helper III rankHelper III
6 years ago
Solved

Count based on Percentage Category

Hi,

 

How should be go about to get the count of employees(distinct) in the below scenario.

 

ActivityEmpBudget hrshours
a12.52
b12.52
c12.52
x231
y231

 

Then I want to plot the count on a clustered bar chart...like below

 

For 2 employees:

Category (y-axis) 50% - 80% ----------> 1

                            30% - 49%-----------> 1

 

Thanks in advance for your time and efforts.

 

 

Regards,

David

  • Hi vinaydavid ,

     

    First of all, we need to create a calculated table as x-axis, you can change the value in this table to generate different category:

     

    x-axis = 
    ADDCOLUMNS (
        DATATABLE (
            "MinPercent", DOUBLE,
            "MaxPercent", DOUBLE,
            {
                { 0, 0.2 },
                { 0.21, 0.5 },
                { 0.51, 0.75 },
                { 0.76, 1 }
            }
        ),
        "Category", FORMAT ( [MinPercent], "0%" ) & " - "
            & FORMAT ( [MaxPercent], "0%" )
    )

     

     

     Then we can create a measure as the value of this chart:

     

    EmplyCount = 
    COUNTX (
        FILTER (
            SUMMARIZE (
                'Table',
                'Table'[Emp],
                "Percent", DIVIDE ( SUM ( 'Table'[hours] ), SUM ( 'Table'[Budget hrs] ), 0 )
            ),
            [Percent] > MAX ( 'x-axis'[MinPercent] )
                && [Percent] < MIN ( 'x-axis'[MaxPercent] )
        ),
        [Emp]
    )

     

     


    Best regards,

     

4 Replies

  • The first part is easy. If you want a count distinct and lets say your table is called Employees, we can create a measure as bellow.

     

    DistinctEmp = DISTINCTCOUNT(Employees[Emp])

     

    I did not understand the second part of the question

    • vinaydavid's avatar
      vinaydavid
      Icon for Helper III rankHelper III

      Thanks for your reply,

       

      2nd part,

      Is to find the Productivity % of each employee (Hours/Budgeted hours - which I can do) and based on the % values, I need to categorize and show the count of employees falling in say, 0% - 20%, 21% - 50%, 51% - 75% & 76% - 100% in a bar chart.

       

      Thanks!

      • v-lid-msft's avatar
        v-lid-msft
        Icon for Community Support rankCommunity Support

        Hi vinaydavid ,

         

        How about the result after you follow the suggestions mentioned in my original post?Could you please provide more details about it If it doesn't meet your requirement?


        Best regards,

         

  • v-lid-msft's avatar
    v-lid-msft
    Icon for Community Support rankCommunity Support

    Hi vinaydavid ,

     

    First of all, we need to create a calculated table as x-axis, you can change the value in this table to generate different category:

     

    x-axis = 
    ADDCOLUMNS (
        DATATABLE (
            "MinPercent", DOUBLE,
            "MaxPercent", DOUBLE,
            {
                { 0, 0.2 },
                { 0.21, 0.5 },
                { 0.51, 0.75 },
                { 0.76, 1 }
            }
        ),
        "Category", FORMAT ( [MinPercent], "0%" ) & " - "
            & FORMAT ( [MaxPercent], "0%" )
    )

     

     

     Then we can create a measure as the value of this chart:

     

    EmplyCount = 
    COUNTX (
        FILTER (
            SUMMARIZE (
                'Table',
                'Table'[Emp],
                "Percent", DIVIDE ( SUM ( 'Table'[hours] ), SUM ( 'Table'[Budget hrs] ), 0 )
            ),
            [Percent] > MAX ( 'x-axis'[MinPercent] )
                && [Percent] < MIN ( 'x-axis'[MaxPercent] )
        ),
        [Emp]
    )

     

     


    Best regards,