Forum Discussion

PowerToBI's avatar
PowerToBI
Frequent Visitor
7 months ago
Solved

Waterfall visual: add additional disconnected bart

Hi community,

 

I have been struggeling now for some time to cretae a waterfall visual displaying three categories but only one breakdown.

 

What:

I would like to build a waterfall chart showing the three categories in example "Intro", "Start", "End".Only the category "Start" should be broken down by the subcategories "A","B","C". 

 

In generall is there anyway to achive the supression of the breakdowns of "Intro" and "End" using the standard waterfall chart ?

Model:

There is a fact table that is connected and filtered by a date table. Furthermore there is a category table containing one column category showing the category values "Intro", "Start", "End". This table is discoonected from all other. 

 

Does anyone had a similar issue in the past? I unfortunately could not find any ressources showing how to achive this using the standard waterfall chart. 

 

 

  • Hi PowerToBI ,

    In the standard Power BI waterfall chart, the running baseline is fixed and continuous across the entire visual.
    The chart does not support restarting or resetting the baseline at an intermediate category. A baseline reset is only possible when using the automatic final Total column, or splitting the logic across separate visuals. Because of this built-in behavior, two categories cannot independently start from the same baseline within a single standard waterfall.
    Consequently, a configuration where multiple categories e.g. Intro and Start independently originate from the same baseline cannot be achieved within a single instance of the standard Power BI waterfall visual.

    Hope this helps.
    Thank you.

12 Replies

  • Hi PowerToBI ,

     

    Please attach some sample data and expected output (or a mockup that gives an idea of how output should look like) so that we can assist you better.

  • Please include, in a usable format, not an image, a small set of rows for each of the tables involved in your request and show the data model in a picture, so that we can import the tables in Power BI and reproduce the data model. The subset of rows you provide, even is just a subset of the original tables, must cover your issue or question completely. Alternatively, you can share your .pbix via some cloud service and paste the link here. Do not include sensitive information and do not include anything that is unrelated to the issue or question. Please show the expected outcome based on the sample data you provided and make sure, in case you show a Power BI visual, to clarify the columns used in the grouping sections of the visual.

     

    Need help uploading data? click here

     

    Want faster answers? click here

  • PowerToBI's avatar
    PowerToBI
    Frequent Visitor

    Hi FBergamaschi ,hi alish_b 

    of course. I hope this helps. otherwise I adjust.

     

    KPI detail

    In the very end: Intro shall show the value for full year 2024. Start should display YTD 2024 and End should display YTD 2025. The calculation of full year and YTD figures are not an issue. 

     

    Tables

    The example tables are as follows:

     

    1. CategoryTable

    CategoryIndex
    Intro0
    Start1
    End2

     

    2. BreakdownTable

    Breakdown
    A
    B
    C

     

    3. FactTable

    DateBreakdownAmount
    Monday, January 1, 2024A100
    Thursday, February 1, 2024A120
    Friday, March 1, 2024B150
    Monday, April 1, 2024C130
    Wednesday, May 1, 2024A140
    Saturday, June 1, 2024B160
    Monday, July 1, 2024C170
    Thursday, August 1, 2024A180
    Sunday, September 1, 2024B190
    Tuesday, October 1, 2024C200
    Friday, November 1, 2024A210
    Sunday, December 1, 2024B220
    Wednesday, January 1, 2025A200
    Saturday, February 1, 2025B210
    Saturday, March 1, 2025C220
    Tuesday, April 1, 2025A230
    Thursday, May 1, 2025B240
    Sunday, June 1, 2025C250
    Tuesday, July 1, 2025A260
    Friday, August 1, 2025B270
    Monday, September 1, 2025C280
    Wednesday, October 1, 2025A

    290

     

    4. DateTable

    DateYearMonth
    Monday, January 1, 202420241
    Tuesday, January 2, 202420241
    Tuesday, January 2, 202420241
    Wednesday, January 3, 202420241
    Wednesday, January 3, 202420241
    Thursday, January 4, 202420241
    Thursday, January 4, 202420241
    .........
    Wednesday, October 1, 202520251

     

     

     

  • PowerToBI's avatar
    PowerToBI
    Frequent Visitor

    Hi FBergamaschi , alish_b 

     

    Of course some here are the tables from my example. 

    In general and some more context. For the category Intro I want to display kpi FY 2024, for category Start YTD 2024 (Jan-Oct) and for End YTD 2025 (Jan-Oct) shall be displayed. The kpis I do know how to calculate.

     

    The date table is filtering the fact table

     

    1. CategoryTable

    Category
    Intro
    Start
    End

     

    2.breakdownTable

    Breakdown
    A
    B
    C

     

    3.FactTable

    DateBreakdownAmount
    01.01.2024A100
    01.02.2024A120
    01.03.2024B150
    01.04.2024C130
    01.05.2024A140
    01.06.2024B160
    01.07.2024C170
    01.08.2024A180
    01.09.2024B190
    01.10.2024C200
    01.11.2024A210
    01.12.2024B220
    01.01.2025A200
    01.02.2025B210
    01.03.2025C220
    01.04.2025A230
    01.05.2025B240
    01.06.2025C250
    01.07.2025A260
    01.08.2025B270
    01.09.2025C280
    01.10.2025A290

     

    4.date table

    DateYearMonth
    01.01.202420241
    02.01.202420241
    02.01.202420241
    03.01.202420241
    03.01.202420241
    04.01.202420241
    ..........
    01.10.2025202510

     

  • AshokKunwar's avatar
    AshokKunwar
    Continued Contributor

    Hii PowerToBI 

     

    You want a single visual to display three different time calculations (Full Year 2024, YTD 2024, and YTD 2025) side-by-side. Because these categories don't exist in your data, a standard relationship will not work.

    The Solution: The "SWITCH" Selection Pattern

    Step 1: Ensure CategoryTable is Disconnected

    ​Make sure there is no relationship line between your CategoryTable and any other table in the Model View. This allows the category to act as a "switch" without filtering the data prematurely.

    Step 2: Create the Master KPI Measure

    ​Use this measure to detect which row of the CategoryTable is being rendered and apply the specific date logic for each.

    Dynamic Category KPI = 
    VAR SelectedCat = SELECTEDVALUE('CategoryTable'[Category])
    
    -- Basic Amount Sum
    VAR TotalAmount = SUM('FactTable'[Amount])
    
    -- 1. Full Year 2024 (Intro)
    VAR FY2024 = 
        CALCULATE(
            TotalAmount,
            'DateTable'[Year] = 2024,
            REMOVEFILTERS('DateTable')
        )
    
    -- 2. YTD 2024 (Start) - Jan to Oct
    VAR YTD2024 = 
        CALCULATE(
            TotalAmount,
            'DateTable'[Year] = 2024,
            'DateTable'[Month] <= 10,
            REMOVEFILTERS('DateTable')
        )
    
    -- 3. YTD 2025 (End) - Jan to Oct
    VAR YTD2025 = 
        CALCULATE(
            TotalAmount,
            'DateTable'[Year] = 2025,
            'DateTable'[Month] <= 10,
            REMOVEFILTERS('DateTable')
        )
    
    RETURN
    SWITCH(
        SelectedCat,
        "Intro", FY2024,
        "Start", YTD2024,
        "End", YTD2025,
        BLANK()
    )

     

    Step 3: Build the Visual

    1. ​Put Category from your CategoryTable on the X-Axis or Rows.
    2. ​Put Breakdown from your BreakdownTable in the Legend or Columns.
    3. ​Add the [Dynamic Category KPI] measure to the Values.

    Summary for the Community

    ​To show different time periods in one visual, use a disconnected table for your headers and a SWITCH measure to inject the specific CALCULATE logic for each header.

     

    If this dynamic calculation solves your category-based KPI tracking, please mark this as the "Accepted Solution"!

  • AshokKunwar's avatar
    AshokKunwar
    Continued Contributor

    HII PowerToBI 

     

    If this dynamic calculation solves your category-based KPI tracking, please mark this as the "Accepted Solution"!

     

     

  • PowerToBI's avatar
    PowerToBI
    Frequent Visitor

    Hi AshokKunwar , hi all

     

    Thanks for the help. I tried these thing unfortunately without any success. Below a screenshot of the example model as well as the current visual outcome using the idea of AshokKunwar .

    With all my tries I usually would either get the same picture as below or one that contains a breakdown for Intro as well which is not what I want to achive. 

     

    Any further tip would be high appreciated. 

    best regards

    • AshokKunwar's avatar
      AshokKunwar
      Continued Contributor

      Hii PowerToBI 

       

      standard waterfall chart doesn't support "selective" breakdowns, you must trick the chart by putting both your main categories and your subcategories into the Category bucket of the visual, leaving the Breakdown bucket empty.

      ​1. Create a "Waterfall Axis" Table

      ​Create a new calculated table that contains every label you want to see on the X-axis in the exact order you want them.

      WaterfallAxis = 
      UNION(
          DATATABLE("Label", STRING, "Order", INTEGER, "Type", STRING,
              {
                  {"Intro", 1, "Pillar"},
                  {"A", 2, "Breakdown"},
                  {"B", 3, "Breakdown"},
                  {"C", 4, "Breakdown"},
                  {"Start", 5, "Pillar"}, -- Or "End", depending on your logic
                  {"End", 6, "Pillar"}
              }
          )
      )

       

      Note: Ensure you set the Sort by Column for "Label" to the "Order" column.

      ​2. Create the Dynamic Measure

      ​You need a measure that calculates the correct value based on which label is being filtered on the axis.

      Dynamic Waterfall Value = 
      VAR CurrentLabel = SELECTEDVALUE('WaterfallAxis'[Label])
      RETURN
      SWITCH( CurrentLabel,
          "Intro", [YourIntroMeasure],
          "A", CALCULATE([Amount], 'BreakdownTable'[Breakdown] = "A"),
          "B", CALCULATE([Amount], 'BreakdownTable'[Breakdown] = "B"),
          "C", CALCULATE([Amount], 'BreakdownTable'[Breakdown] = "C"),
          "Start", [YourStartTotalMeasure],
          "End", [YourEndTotalMeasure]
      )

       

      3. Configure the Visual

      • Category: Use 'WaterfallAxis'[Label].
      • Breakdown: Leave this Empty.
      • Values: Use your [Dynamic Waterfall Value] measure.

      Important Note on Totals

      ​In a standard waterfall, the "Total" column is usually automatically generated. If you want "Start" or "End" to act as a "running total" or "summary" pillar, you may need to go to the Format Pane > Pillars and manually define "End" as a total, or ensure your DAX measure for that specific label returns the cumulative sum rather than a delta.

       

      If this dynamic calculation solves your category-based KPI tracking, please mark this as the "Accepted Solution"!

       

  • PowerToBI's avatar
    PowerToBI
    Frequent Visitor

    Hi AshokKunwar ,

    Thank you very much. 

    This was very helpful so far. With a little switch of the labels I was able to almost obtain what I am looking for.

     

     

     

     

     

     

     

     

     

     

    Is there a way that the visual displays the data as follows.

    The start label starts at the same level as the Intro. Then Breakdowns are added on top (done) and the End label is the total label for the chart (Start+Breakdowns). Currently it seems that Intro is the starting point for the chart and all other are breakdwon added on top.