Gantt visual in Power BI (preview)

The Gantt visual in Power BI displays tasks and progress. Use it to plan projects, track schedules, or compare activities across categories in your report. Duration bars show how long tasks take, while progress formatting and milestones provide context about completion and key dates.

Important

The Gantt visual is in preview. For information about preview status, see Preview visuals.

Screenshot of a Gantt visual with project tasks grouped by phase from January through April 2025, progress bars, milestone markers, and the Format visual pane.

Create a Gantt chart

The only required field is the label for each row or task. Add other fields to show dates, progress, groups, and task details.

  1. With nothing selected on the report canvas, select the Gantt visual in the Visualizations pane.
  2. In the Build visual pane, add the field that provides the label for each row or task.
  3. Add fields to Start and End to display duration bars. For milestones, provide a start date and leave End blank.
  4. Optionally, add a measure that calculates the percentage complete for each row to show progress on the bars.
  5. Add up to three levels of categories to group tasks.
  6. Add columns for task details and additional tooltip fields in the Build visual pane.

Show task durations, progress, and milestones

Each row represents a task or activity, with a bar showing its duration on the timeline. Progress formatting shows completion within a bar. Milestone markers identify key dates, such as a project kickoff or release date.

Start and End can both use measures. Use measures to control how dates aggregate at category levels. A milestone is drawn when End is blank rather than a date. For example, an End measure can return a blank when your data has a milestone flag or matching start and end dates.

Format progress

To show progress, add a measure that calculates each row's percentage complete. Use the Format visual pane to configure how progress appears on each bar.

Customize the progress style with formatting controls, including the percentage of the bar's height that the progress indicator occupies. The following examples show two possible styles.

In the following example, tasks are grouped into Planning, Development, Testing, and Deployment phases. The timeline shows how activities are scheduled from January through April 2025.

Show progress with a white overlay that uses transparency to keep the bar's color visible beneath it.

Screenshot of a Gantt visual showing progress on task bars with a transparent white overlay.

Alternatively, use bar borders to outline each task's duration and show progress as a color fill inside the bar.

Screenshot of a Gantt visual showing progress as a color fill within bordered task bars.

Group tasks and add details

Organize tasks into up to three category levels to show related activities together.

Add more tooltip fields in the Build visual pane to provide extra context without adding visible columns.

Add and format extra columns

Add columns next to the task list to show details like owner, status, or duration. To show subtotals at category levels, these columns need to use measures or aggregations.

In the Format visual pane, select a specific column and a level within that column to customize its appearance. For example, style category subtotals differently from task rows. You can also display links as smaller icons instead of text.

The column area automatically adjusts its width to show all columns without a horizontal scrollbar. You can set a specific width for this area and adjust individual column widths. If the combined column widths are greater than the area's width, a horizontal scrollbar appears.

Screenshot of a Gantt visual with layout settings for column widths.

Customize colors

In the Format visual pane, expand Rows > Color to set the Gantt visual's color. The color cascades to categories, task bars, milestones, and row backgrounds. This approach gives your schedule consistent coloring without formatting each element separately.

Screenshot of a Gantt visual using a single color with cascading transparency for categories and task rows.

The visual applies different transparency levels to distinguish elements:

Element Default transparency
Task bars and milestones 0%
First-level category background 70%
Second-level category background 80%
Third-level category background 90%
Task row background 100% (no visible color)

You can modify these transparency defaults in the Format visual pane or a custom report theme.

For more control, select More granular at a category level or the row level to use data colors to differentiate values.

At a category level, use different colors to distinguish groups of tasks.

Screenshot of a Gantt visual with More granular colors applied by category to distinguish task groups.

At the row level, use different colors to distinguish individual tasks.

Screenshot of a Gantt visual with More granular colors applied by row to distinguish individual tasks.

Conditional formatting is also available. Each element can opt out of the cascading color and use a custom color instead.

Customize the axis

Set the start and end dates of the displayed range, and choose how the date axis shows levels. Use Auto-scale to adjust the level automatically, or turn it off to keep your chosen levels.

Auto-scale the axis

With Auto-scale on, the axis displays one level that switches between years, months, and days. The level depends on the start and end range, visual size, and zoom level.

In the Format visual pane, set the display format for each granularity. Choose Custom to type your own format.

Screenshot of a Gantt date axis with auto-scale and display-format settings.

Fixed scale axis

With Auto-scale off, choose up to two levels that remain displayed regardless of the date range, visual size, or zoom level. The primary level is more granular, and the secondary level is less granular. For example, set the primary level to months and the secondary level to years.

Screenshot of a Gantt date axis with different primary and secondary levels.

You can also set both levels to the same granularity and give each a different display format. For example, use days for both levels, with one showing the day-of-week name and the other showing the day of the month.

Screenshot of a Gantt date axis with primary and secondary levels at the same granularity using different display formats.

Shade days

In the Format visual pane, choose which days of the week to shade in the axis columns. Use shading to mark weekends or other days important to your project.

Screenshot of a Gantt visual with shaded axis columns highlighting weekends.

Zoom the axis

The zoom axis feature helps report readers focus on a specific calendar window and then return to the full range. Readers can examine a shorter period within the same visual without losing access to the overall schedule.

Considerations and limitations

  • The Gantt visual supports up to 10,000 rows.
  • When you enable More granular, static colors might not apply at some category levels or to tasks that appear in multiple categories. Use conditional formatting instead.
  • Auto-scale doesn't display levels more granular than days. However, bars can represent partial days when the date values include a time component.
  • Measure display formatting might not appear in tooltips or columns. As a workaround, use Data format on the General tab of the Format visual pane to set the format.