cancel
Showing results for
Did you mean:
Helper I

## 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 Activity 1 45 09/08/2016 15:01 Activity 1 45 10/08/2016 16:46 Activity 1 30 10/08/2016 16:46 Activity 1 30 10/08/2016 16:46 Activity 1 30 11/08/2016 19:00 Activity 1 20 11/08/2016 19:00 Activity 1 20

I would need a bar chart.

On the X axes I would like to have the year and

on the Y axes I would need the number of minutes of the activity.

In this case the hight of the bar should be 45+30+20=95

Thank you for picking up this challenge.

2 ACCEPTED SOLUTIONS
Super User

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

// if this is a solution please mark as such. Kudos always appreciated.
Super User

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.

// if this is a solution please mark as such. Kudos always appreciated.
5 REPLIES 5
Super User

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

// if this is a solution please mark as such. Kudos always appreciated.
Helper I

Thank you, it is working as expected.

Best regards,

Nandor

Helper I

Hi, Thank you again for the solution. I am struggling to understand the formula, could you please explaint the logics behind your script.

Thank you,

Nandor

Super User

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.

// if this is a solution please mark as such. Kudos always appreciated.
Helper I

Thank you!

Announcements

#### CollabDays Lisbon - 26 November 2022

Sessions include practical, hands-on experience that will help you take the next step in your career and know-how.

#### Difinity Conference 2022

Difinity is the largest Microsoft Data, AI, Power BI, Power Platform and Business Applications Conference in New Zealand.

#### European Share Point Conference

This conference returns live and in-person in Copenhagen this 28 November-01 December with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

#### Microsoft 365 Conference - 06-08 December

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Solution Authors
Top Kudoed Authors