Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin 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.
Hi everyone,
I’m working with a Gantt chart in Power BI that displays main tasks (as "parent") and subtasks (as "tasks").
My goal is to show a status indicator next to each main task based on the worst status of its subtasks:
- If any subtask is Late, then the main task should be marked as Late.
- If none are Late but any subtask is Started Late, then the main task should be Started Late.
- If all subtasks are on time, then the main task should be On Time.
To do this, I created the following calculated column (and use it in Parent in Gantt):
DAX:
StatusMainTasks =
VAR ThisMainTasks = 'Table'[Main Task]
VAR VisibleTasks =
FILTER(
ALLSELECTED('Table'),
'Table'[Main Task] = ThisMainTasks
)
VAR Status =
SWITCH(
TRUE(),
COUNTROWS(FILTER(VisibleTasks, 'Table'[Status] = "Late")) > 0, "Late",
COUNTROWS(FILTER(VisibleTasks, 'Table'[Status] = "Started Late")) > 0, "Started Late",
"On Time"
)
RETURN
Status & " " & ThisMainTasks
The problem is: since this is a calculated column, it does not respect report or visual-level filters. And I can't use a measure in the Gantt chart's "Parent" or "Group Tasks" field — only columns are allowed.
So now, for example:
If a new subtask is added to the source data (e.g., with status “Started Late”), it can incorrectly affect the calculated column of a main task even if that subtask is not part of the current filtered view in the Gantt chart.
In this case, the main task is shown as "Started Late" instead of "On Time", which is incorrect for the current visual.
So the Gantt chart displays the correct tasks, but the status is wrong, because the calculated column includes tasks that are filtered out in the visual.
I’ve been trying to solve this for a long time and haven’t found a working solution. I'm starting to feel like this might just not be possible with the current limitations of Power BI.
Has anyone found a solution or decent workaround for this? I’d be grateful for any ideas!
Please let me know if you need any clarification or additional information — thanks in advance!
Hi @Gandhia ,
We are following up once again regarding your query. Could you please confirm whether the issue has been resolved through your support ticket with Microsoft?
If so, we would appreciate it if you could share the resolution or any key insights here to benefit others in the community. If we don’t receive a response, we will proceed with closing this thread.
If you need further assistance in the future, feel free to start a new thread in the Microsoft Fabric Community Forum. We will be happy to support you there.
Thank you.
Hello @v-venuppu
I haven't send the idea to them yet. I chose different approach to this problem (I made a different matrix to the report where I can use measures and did it with DAX there). It isn't the optimal, but at least I did it somehow.
Thank you for your messages and I am sorry didn't answer before - I was (or am) in rush 😄
Hi @Gandhia ,
Have you had a chance to raise a Ideas forum and resolve this issue? If so, please consider sharing the solution in the forum and marking it as accepted, this will help other members find the answer more easily.
Thank you.
Hi @Gandhia ,
Sorry for the Inconvenience caused.
I recommend submitting your detailed feedback and ideas through Microsoft's official feedback channels, such as the:
Fabric Ideas - Microsoft Fabric Community
Thank you.
Hi @Gandhia ,
If you're trying to update a parent task’s status based on its child tasks dynamically (e.g., through slicers), Power BI's Gantt visuals don’t support this directly because they rely on static columns.
Instead of creating multiple tables or visuals, a better approach is to use DAX logic to calculate the parent status based on the statuses of its child tasks.
You can try to do it as below:
1.Use a calculated column or measure in DAX that checks the statuses of all related child tasks.
2.If all child tasks are "Complete", show "Complete". If they vary, show "Mixed", etc.
3.This logic will respond to slicers and filters naturally if implemented as a measure.
Visual Limitation:
If your Gantt chart doesn’t support dynamic measures, use:
A calculated column for parent status
Or switch to a Matrix visual, which is more flexible for such custom logic
This method is much cleaner and more scalable than duplicating tables for each filter or status type.
If this post helps, then please consider Accepting as solution to help the other members find it more quickly.
Thank you.
Thank you for your response.
Yeah, PBI Gantt doesn't support measures, only columns. And my main goal was to show Main tasks as I said "Late" if one or more child tasks are late, "Started Late" if no child tasks late, but at least one "Started Late" and in other scenarios show "On Time". So if I understood correctly, your solution "Mixed" is not what I want.
So this is possible to do with Power BI Gantt 3.0.12.0 (without creating new tables for each different filter stasuses - if there could be for example 100 or 1000 different filter stasuses, the better option is just to forget whole thing and settle for less.
Sad, but at least I tried 🙂
Hi @Gandhia ,
As PBI gantt chart takes column referances only, it will not change status based on slicers. to solve this you need to create different tables for each different filter status like "Building", "Planning" etc and to switch entire visual based on slicer. it a long task and need significant development.
In my suggesation, you must indicate the status in some other way rather row level text change. may be using conditional formatting.
Another way is to use a Matrix visual insted of gantt chart visual and customize it to a gantt chart. Matrix have more flexibility.
Thank you for your response. So this is possible to do with Power BI Gantt 3.0.12.0 (without creating new tables for each different filter stasuses - if there could be for example 100 or 1000 different filter stasuses, the better option is just to forget whole thing and settle for less.
Sad, but at least I tried 🙂
Hi @Gandhia ,
Thank you for your Patience.
I dont think that it's a disturbance as it's our responsibility to support the community.
I am exploring things to solve the issue, as soon as If I find some workarounds will update you and post my reply here.
Thank you.
Hi @Gandhia ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you @Rupak_bi for the prompt response.
I have replicated the scenario using sample data.Please go through the attached PBIX file for your reference.
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it!
Thank you.
Hi @v-pn
And thank you for your response!
You have a same problem as I mentioned, don't you?
Your MainTask2 should be On Time when every Task BUT Task4 are "On Time"
So please change your "Task 11" to "On Time" and try to get MainTask2 "On Time".
Do you get it? Please ask further information if needed!
hi @Gandhia ,
Please share sample data with expected result for better understanding.
Hello @Rupak_bi, was this good enough for better understanding, or do you need something more? 😊
Hi, sure.
So now look at those Excel and PBI, and you can see the problem:
MainTask4 shows now "Started Late", but it SHOULD shown as "On Time" (since there is the filter "MainTasks Filter is Building" and Task4 is NOT Building, it is "Planning". So There is NOT "Task 4" in Gantt (it belong to under MainTask4) and it is correct. But the problem is, that MainTask4 is "Started Late" although every tasks under it are "On Time".
So the expected result is: MainTask4 is On Time (because the visualisation's filter). Do you get it?
I can't share .pbix or Excel, because there isn't Insert file... Or at least I can't find it.. So please look pictures below:
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
80 | |
76 | |
60 | |
36 | |
33 |
User | Count |
---|---|
91 | |
60 | |
59 | |
49 | |
45 |