Forum Discussion

Melissa's avatar
Melissa
Frequent Visitor
9 years ago
Solved

count distinct by month

Hi All

 

 

I am triying to create a pareto chart but currently having some issues when doing so

The problem is that I need to count distinct the number of clients for the first month of the year and for the second month  just add all new cound distinc clients and so on until the end of the year

I.E January my data shows 450 unique clients February 500 but I just want to show those clients who are no part of the 450 group in January...at the end of the year I had 1450 unique clients and this is the 100% that my pareto chart has to show.

Any advice to build this pareto chart?

 

Thank you

 

  • Melissa

     

    I’m not sure about your exact table. I write some DAX formulas for following sample table (There is another Calendar table which has relationship with this fact table). Please take a look at the result to see if it is you desired.

     

     

    Year = 
    YEAR ( Table1[Date] )
    

     

    Month =
    MONTH ( Table1[Date] )
    

     

    ExistClient = 
    CALCULATE (
        COUNTROWS ( Table1 ),
        FILTER (
            ALL ( Table1 ),
            Table1[Year] = EARLIER ( Table1[Year] )
                && Table1[Month] < EARLIER ( Table1[Month] )
                && Table1[Client] = EARLIER ( Table1[Client] )
        )
    )
    

     

    DistinctCount = 
    CALCULATE ( DISTINCTCOUNT ( Table1[Client] ), Table1[ExistClient] = BLANK () )
    

     

    Percent = 
    CALCULATE (
        DISTINCTCOUNT ( Table1[Client] ),
        FILTER (
            ALL ( Table1 ),
            Table1[Month] <= MAX ( Table1[Month] )
                && Table1[Year] = MAX ( Table1[Year] )
                && Table1[ExistClient] = BLANK ()
        )
    )
        / CALCULATE (
            DISTINCTCOUNT ( Table1[Client] ),
            FILTER ( ALL ( Table1 ), Table1[ExistClient] = BLANK () )
    )
    

     

     

    There are also some documents about Pareto Chart in PowerBI. Hope they are helpful to you.

    http://powerbi.tips/2016/10/pareto-charting/

    http://www.dutchdatadude.com/power-bi-pro-tip-pareto-analysis-with-dax/

     

    Best Regards,

    Herbert

3 Replies

  • v-haibl-msft's avatar
    v-haibl-msft
    Icon for Microsoft Employee rankMicrosoft Employee

    Melissa

     

    I’m not sure about your exact table. I write some DAX formulas for following sample table (There is another Calendar table which has relationship with this fact table). Please take a look at the result to see if it is you desired.

     

     

    Year = 
    YEAR ( Table1[Date] )
    

     

    Month =
    MONTH ( Table1[Date] )
    

     

    ExistClient = 
    CALCULATE (
        COUNTROWS ( Table1 ),
        FILTER (
            ALL ( Table1 ),
            Table1[Year] = EARLIER ( Table1[Year] )
                && Table1[Month] < EARLIER ( Table1[Month] )
                && Table1[Client] = EARLIER ( Table1[Client] )
        )
    )
    

     

    DistinctCount = 
    CALCULATE ( DISTINCTCOUNT ( Table1[Client] ), Table1[ExistClient] = BLANK () )
    

     

    Percent = 
    CALCULATE (
        DISTINCTCOUNT ( Table1[Client] ),
        FILTER (
            ALL ( Table1 ),
            Table1[Month] <= MAX ( Table1[Month] )
                && Table1[Year] = MAX ( Table1[Year] )
                && Table1[ExistClient] = BLANK ()
        )
    )
        / CALCULATE (
            DISTINCTCOUNT ( Table1[Client] ),
            FILTER ( ALL ( Table1 ), Table1[ExistClient] = BLANK () )
    )
    

     

     

    There are also some documents about Pareto Chart in PowerBI. Hope they are helpful to you.

    http://powerbi.tips/2016/10/pareto-charting/

    http://www.dutchdatadude.com/power-bi-pro-tip-pareto-analysis-with-dax/

     

    Best Regards,

    Herbert

    • Melissa's avatar
      Melissa
      Frequent Visitor

      Hi Herbert

       

      You are awesome!!

       

      Just tested your suggested solution and it worked perfectly in my dataset. 

      The pareto chart I was trying to build now looks great!

       

      Thanks again

       

      Regards

      Melissa

       

       

    • sevens0001's avatar
      sevens0001
      Frequent Visitor

      I'm wondering if I can revive this thread? I've got a similiar need. However, I would need the existing client flag to drop after 12 months has passed. Is there any way to add that additional piece of logic?