Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowJuly 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more
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_Date | CATEGORY | COUNT | AREA_ID | SEVERITY_ID |
| 11/18/2024 | Older_Criticals | 40 | 1 | 1 |
| 11/18/2024 | New_Criticals | 10 | 1 | 1 |
| 11/18/2024 | New_Criticals | -5 | 1 | 1 |
| 11/18/2024 | Older_Criticals | -20 | 1 | 1 |
| 11/25/2025 | Older_Criticals | 25 | 1 | 1 |
| 11/25/2024 | New_Criticals | 15 | 1 | 1 |
| 11/25/2026 | New_Criticals | -10 | 1 | 1 |
| 11/25/2027 | Older_Criticals | -15 | 1 | 1 |
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:
Your data represents incidents with positive and negative counts:
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:
Import Your Data into Power BI.
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])
)
)
Insert a Waterfall Chart Visual into your report.
Configure the Fields:
Set Up the Waterfall Steps:
Customize the Visual:
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
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.
| User | Count |
|---|---|
| 22 | |
| 18 | |
| 18 | |
| 17 | |
| 13 |
| User | Count |
|---|---|
| 61 | |
| 53 | |
| 47 | |
| 40 | |
| 38 |