Forum Discussion

Nandor's avatar
Nandor
Icon for Helper I rankHelper I
10 years ago
Solved

Sum only Distinct values in PowerBI Report bar chart

Dear All,   I have a database that contains the date, the activity name and the minutes that activity lasted:   Activity_StartTime Activity_Name Activity_Duration_Minutes 09/08/2016 15:01...
  • samdthompson's avatar
    10 years ago

    Hi, welcome to the community. This solution assumes that there is no other data being used and that all activities have a different start time

     

    1. Make a new calculated column called year to use for the x axis. in it put the DAX =year(Activity_StartTime)

    2. Make a second calculated column with the DAX =divide(calculate(average(Table1[Activity_Duration_Minutes]),ALLEXCEPT(Table1,Table1[Activity_StartTime],Table1[Activity_Name])),calculate(COUNTA(Table1[Activity_StartTime]),ALLEXCEPT(Table1,Table1[Activity_StartTime],Table1[Activity_Name])),0)

    3. Use the calculated column as the value in the stacked chart

     

     

     

     

    // please mark as solution if it answers your question.

  • samdthompson's avatar
    samdthompson
    10 years ago

    Hi, i have formatted the DAX a little better for you:

    =
    DIVIDE (
        CALCULATE (
            AVERAGE ( Table1[Activity_Duration_Minutes] ),
            ALLEXCEPT ( Table1, Table1[Activity_StartTime], Table1[Activity_Name] )
        ),
        CALCULATE (
            COUNTA ( Table1[Activity_StartTime] ),
            ALLEXCEPT ( Table1, Table1[Activity_StartTime], Table1[Activity_Name] )
        ),
        0
    )

     

    its working it out by gouping together the numbers that share the same activity name and the same start time and dividing them by the count of how many in each group eg: average(45,45)/count(45,45) = 2 * 22.5; average(30,30,30)/count(30,30,30) = 3 * 10; average(20,20)/count(20,20) = 2 * 10. When you add that to your chart it will sum up the individual calculations.