Forum Discussion

Jay20024's avatar
Jay20024
Helper I
1 year ago
Solved

Custom horizontal barchart

Hi,

For esthetic purpose, I like to create a horizontal stack barchart with values, that looks like a 100% stacked barchart.

So i need to calculate the most expensive category, substracting the result to other categories to fill the gap in the barchart.

Starting with this kind of dataset.

DateCategoryCost
2025-01-01Compute

100

2025-01-01Storage50
2025-01-01Network10
2025-02-01Compute150
2025-02-01Storage60
2025-02-01Network20
2025-03-01Compute200
2025-03-01Storage70
2025-03-01Network30

 

Got a pivot table like this, I'd like to calculate the gap column through a dax measure.

Category[TotalCost]GAP to be calculated
Compute450450-450 = 0
Storage180450-180 = 270
Network60450 - 60 = 390

So I can built a horizontal barchart that looks like a 100%

 

 

 

 

 

 

 

 

 

 

I'm struggling to calculate this gap column, any clue ?

I thank you in advance folks.

 

  • Jay20024 Create a new measure to calculate the total cost for each category.
    Create another measure to calculate the GAP.

     

    TotalCost = SUM('YourTable'[Cost])

    MaxCost = CALCULATE(MAXX(ALL('YourTable'[Category]), [TotalCost]))

    GAP = [MaxCost] - [TotalCost]

     

    Add a stacked bar chart to your report.
    Drag the Category field to the Axis.
    Drag the TotalCost measure to the Values.
    Drag the GAP measure to the Values.

5 Replies

  • Hello Jay20024 

     

    This measure should return what you need

     

    GAP =
    VAR MaxCost = CALCULATE(MAX('Table'[TotalCost]), ALL('Table'))
    RETURN
    MaxCost - SUM('Table'[TotalCost])
     

     

    If it is not what you are trying to achieve, let me know 🙂
    • Jay20024's avatar
      Jay20024
      Helper I

      Another way to do it, Many thanks for this feedback

  • Jay20024 Create a new measure to calculate the total cost for each category.
    Create another measure to calculate the GAP.

     

    TotalCost = SUM('YourTable'[Cost])

    MaxCost = CALCULATE(MAXX(ALL('YourTable'[Category]), [TotalCost]))

    GAP = [MaxCost] - [TotalCost]

     

    Add a stacked bar chart to your report.
    Drag the Category field to the Axis.
    Drag the TotalCost measure to the Values.
    Drag the GAP measure to the Values.

    • Jay20024's avatar
      Jay20024
      Helper I

      Works like a charm ! Many thanks bhanu_gautam  ! You rock, and you allowed me to improve my understanding of Dax !