Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
yasbos
Resolver II
Resolver II

Waterfall plotting and data structuring

Hi. Is there a way to plot the below waterfall chart in PBI based on this data? Do I need to restructure the data? How so?

Basically, The blue bar is how many incidents we started the week with. The reason for the suffix "Criticals" under the Category column is because there will be also High, Medium and Low levels of severity (the severity_ID column will later have 2, 3 and 4, in addition to the existing 1.) The Area_ID column will have the business unit that generated the incident. 

Thanks so much.

 

Start_DateCATEGORY       COUNT           AREA_ID             SEVERITY_ID   
11/18/2024   Older_Criticals     40    1    1
11/18/2024 New_Criticals   10    1    1
11/18/2024New_Criticals   -5    1    1
11/18/2024Older_Criticals   -20    1    1
11/25/2025Older_Criticals   25    1    1
11/25/2024New_Criticals   15    1    1
11/25/2026New_Criticals   -10    1    1
11/25/2027Older_Criticals   -15    1    1

 

yasbos_1-1732670862944.png

 

1 REPLY 1
VahidDM
Super User
Super User

Hi @yasbos 

Yes, you can create the desired waterfall chart in Power BI based on your data, but you'll need to restructure it slightly to fit the requirements of a waterfall chart. Here's how you can do it:

Step 1: Understand Your Data Structure

Your data represents incidents with positive and negative counts:

  • Positive Counts: New incidents added.
  • Negative Counts: Incidents resolved or closed.
  • Categories: Represent different stages or types (e.g., Older_Criticals, New_Criticals).

Step 2: Restructure Your Data

To create a waterfall chart, you need a dataset where each row represents a step in the waterfall with a category and a value. You may need to aggregate your data to summarize the counts per category and date.

Restructured Data Example:

Start_Date Category Value AREA_ID SEVERITY_ID
11/18/2024 Start Balance 40 1 1
11/18/2024 New Incidents 5 1 1
11/18/2024 Resolved Incidents -25 1 1
11/18/2024 End Balance 20 1 1
11/25/2024 Start Balance 20 1 1
11/25/2024 New Incidents 5 1 1
11/25/2024 Resolved Incidents -25 1 1
11/25/2024 End Balance 0 1 1

Notes:

  • Start Balance: The number of incidents carried over from the previous period.
  • New Incidents: Net new incidents (New_Criticals positive counts minus negative counts).
  • Resolved Incidents: Incidents resolved (negative counts from Older_Criticals and New_Criticals).
  • End Balance: Calculated as Start Balance + New Incidents + Resolved Incidents.

Step 3: Prepare the Data in Power BI

  1. Import Your Data into Power BI.

  2. Create a Calculated Table (if necessary) to aggregate and restructure your data:

WaterfallData =
VAR StartBalances =
    SUMMARIZE(
        FILTER('YourTable', 'YourTable'[CATEGORY] = "Older_Criticals"),
        'YourTable'[Start_Date],
        "Category", "Start Balance",
        "Value", SUM('YourTable'[COUNT])
    )
VAR NewIncidents =
    SUMMARIZE(
        FILTER('YourTable', 'YourTable'[CATEGORY] = "New_Criticals" && 'YourTable'[COUNT] > 0),
        'YourTable'[Start_Date],
        "Category", "New Incidents",
        "Value", SUM('YourTable'[COUNT])
    )
VAR ResolvedIncidents =
    SUMMARIZE(
        FILTER('YourTable', 'YourTable'[COUNT] < 0),
        'YourTable'[Start_Date],
        "Category", "Resolved Incidents",
        "Value", SUM('YourTable'[COUNT])
    )
RETURN
UNION(StartBalances, NewIncidents, ResolvedIncidents)

Calculate End Balance:

  • Create a Measure to calculate the running total (End Balance):

EndBalance =
CALCULATE(
    SUM(WaterfallData[Value]),
    FILTER(
        ALL(WaterfallData),
        WaterfallData[Start_Date] <= MAX(WaterfallData[Start_Date])
    )
)

Step 4: Create the Waterfall Chart

  1. Insert a Waterfall Chart Visual into your report.

  2. Configure the Fields:

  • Category: Add WaterfallData[Category].
  • Y-Axis (Value): Add WaterfallData[Value].
  • Breakdown (if needed): Add WaterfallData[Start_Date] to separate by date.
  • Tooltips: Include AREA_ID, SEVERITY_ID as needed.
  1. Set Up the Waterfall Steps:

    • Starting Point: Ensure that "Start Balance" is set as the starting point.
    • Increases and Decreases: "New Incidents" as increases, "Resolved Incidents" as decreases.
    • Ending Point: "End Balance" can be set as the subtotal or final bar.
  2. Customize the Visual:

    • Data Colors: Assign specific colors to increases, decreases, and totals.
    • Sorting: Sort the categories in the logical order of the steps.

Step 5: Handle Multiple Severities and Areas

  • Filters or Slicers: Add slicers for SEVERITY_ID and AREA_ID to allow users to filter the chart.
  • Dynamic Titles: Use measures to display the selected severity and area in the chart title.

Example Visual Flow

  • Start Balance: Represents incidents carried over.
  • New Incidents: Added to the start balance.
  • Resolved Incidents: Subtracted from the total.
  • End Balance: Shows the total incidents at the end of the period.

Additional Tips

  • Data Validation: Ensure that your counts are accurate after restructuring.
  • Date Handling: Verify that the dates are consistent and correct any typos.
  • Dynamic Calculations: Use DAX measures to handle calculations if your data updates frequently.

 

If this post helps, please consider accepting it as the solution to help the other members find it more quickly.

Appreciate your Kudos!! 

 

LinkedIn|Twitter|Blog |YouTube 

 

 

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.