> For the complete documentation index, see [llms.txt](https://docs.fabricplan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fabricplan.com/documentation/plan/intelligence-sheets/how-tos/plan-projects-with-gantt-charts.md).

# Monitor project progress with Gantt charts

The intelligence sheet includes a best-in-class Gantt chart for Microsoft Fabric that provides a clear, interactive view of project timelines, task dependencies, and resource allocation. Build a Gantt chart directly on your semantic models or import project management data from file sources. The fully customizable Gantt chart enables you to:

* Organize work into tasks with defined start and end dates.
* Identify task dependencies and anticipate potential delays.
* Assign resources to tasks and balance workloads across teams.
* Track key deliverables, approvals, and project milestones.

In this article, you learn how to assign data to plot a Gantt chart, add milestones and references, configure timeline zoom, and customize the appearance of the Gantt chart.&#x20;

### Sample data

The data used to plot the Gantt chart in this article can be found in the Fabric Samples GitHub repository: [gantt-data.csv](https://github.com/microsoft/fabric-samples/tree/main/docs-samples/iq/plan/gantt-data.csv).

### Prerequisites

Before you build a Gantt chart, you need to have the following in place:

* Add an intelligence sheet to your plan item.
* Import data from a file or a semantic model.

### Configure Gantt charts

Follow these steps to build a basic Gantt chart:

1. Add the **Gantt** visual to the canvas.
2. Assign the dimensions that define the task hierarchy to the **Task** data well. The chart uses the order of the assigned fields to build the hierarchy, displaying parent tasks and their nested subtasks.
3. Assign the fields containing the start and end dates for each task to the **Start Date** and **End Date** data wells. The Gantt chart uses these values to render the task bars along the timeline.

<figure><img src="/files/cDY9k7qlY1WVBJ60VFHY" alt=""><figcaption></figcaption></figure>

4. Select the drill-down icon to expand the hierarchy and show the sub-tasks.

<figure><img src="/files/dolSUKz9Gvk2WvTWFU7F" alt=""><figcaption></figcaption></figure>

5. Assign the measure that defines the completion percentage for each task to the **Progress** data well. The chart displays the completed portion of each task based on this valu&#x65;**.**

<figure><img src="/files/9MwXDJPBsOGfysxzwuoi" alt=""><figcaption></figcaption></figure>

6. Assign the measures that identify milestone tasks to the **Milestone** data well. The chart uses this value to distinguish key project milestones from regular tasks and display them with milestone markers on the timeline. In this example, the black diamond symbols represent milestones.

<figure><img src="/files/dMnkrj2plVxOIGEeaajl" alt=""><figcaption></figcaption></figure>

7. Assign the field that captures interdependencies between tasks to the **Connect to** bucket. You see connector lines rendered between tasks that have dependencies.

<figure><img src="/files/c6ftuLgyvgamhVKWqyZE" alt=""><figcaption></figcaption></figure>

8. Capture phases or project sprints with reference lines or reference bands. Go to **References** > **Analytics** and select **Add new reference**.&#x20;

{% hint style="info" %}
Plot a reference line for the current date ("Today") to quickly determine whether tasks are on schedule, overdue, or planned for the future.
{% endhint %}

9. Use reference lines to emphasize significant dates on the timeline. Mark the current date, project end date, or a custom date or date range. Set **Date(s)** to **Custom Date***,* and use the calendar icon to select the date. Edit the **Label** to a name relevant to your project.&#x20;
10. Adjust the **Offset** to change the default position of the label.

<figure><img src="/files/WNyCoFmAOzNA8QyxVNlf" alt=""><figcaption></figcaption></figure>

11. Change the line format to a dashed line. Select **Apply**. This action adds a reference line indicating a custom holiday in the Gantt chart. Add multiple reference lines and bands as required.&#x20;

<figure><img src="/files/Xn2AJIkMOMLYlGFYdSLy" alt=""><figcaption></figcaption></figure>

12. Select **Gantt Options** > **Data colors** to customize the colors, style, and border of the progress bars.&#x20;
13. Assign colors to clearly demarcate the completed and pending segments in the Gantt bars. In the **Color by** section, the fill colors indicate the pending segments, and the track colors represent the completed segments in each bar. Set different track and fill colors to visually distinguish between parent and child bars.&#x20;

<figure><img src="/files/x1Co3pe8mvLZOFxE6zWZ" alt=""><figcaption></figcaption></figure>

14. Go to the **Connector** section to change the appearance of the connector lines. Customize the line and arrow colors, line style, and thickness.

<figure><img src="/files/ZOPgT5HaW4YbXsXQNnzC" alt=""><figcaption></figcaption></figure>

15. Go to **Gantt Options** > **Timeline** to customize the multi-level timeline by setting the background, font color, and selecting the header and date formats. Each level in the timeline has dedicated customization options. Adjust the default padding on either side of the Gantt chart as needed.

<figure><img src="/files/US0T7T5rVhvPFuPGPZxU" alt=""><figcaption></figcaption></figure>

16. Similarly, go to **Gantt Options** > **Grid** to customize the grid font and background colors and configure the grid line thickness and color.

<figure><img src="/files/TH8zVvyI8A5m5Aa8pMCQ" alt=""><figcaption></figcaption></figure>

17. Go to **Gantt Options** > **Columns** to rename the task and subtask column header. To display the duration for each task, enable **Actual duration** and select the **Duration unit** (Hours, Days, Weeks, Months, or Years).

<figure><img src="/files/CwfwC2d98kIzo5NZB7Ew" alt=""><figcaption></figcaption></figure>

18. Zoom in and out on the Gantt timeline for high-level project overviews and detailed task status tracking. Go to **Gantt Options** > **General** and set **Zoom Option** to **Button**.
19. &#x20;To configure zoom intervals, go to **Settings** > **Zoom levels** and turn on the **Enabled** toggle. Create yearly, quarterly, monthly, or weekly timelines by configuring zoom levels.

* The **Max** level is the highest-level summarized Gantt chart - for example, at the year level.
* The **Min** level is the lowest-level Gantt chart for detailed tracking - for example, at the day or hour level.
* Set the interval to determine the number of years/quarters/months/days to show at each level.

<figure><img src="/files/7DCH0nL8yEJPbVz8m3Yi" alt=""><figcaption></figcaption></figure>

20. Use the **Zoom in** and **Zoom out** buttons to change the timeline scale. The following screenshot shows the timeline displayed at the Month > Week > Day level.

<figure><img src="/files/9XoV3Q6WRDJ7d0YzksZU" alt=""><figcaption></figcaption></figure>

21. In the **Gantt** ribbon, select **Milestones** to configure milestone settings. You can customize the color and icon used to represent a milestone. Additionally, you can upload custom icons. Set the **Icon configuration** to **Individual** to use different icons for each milestone field.&#x20;

<figure><img src="/files/1pOCWqe96Ew7qQOVVl7l" alt=""><figcaption></figcaption></figure>

22. Go to **Settings** > **Data Labels** to customize the position and appearance of data labels. Place data labels outside or inside the Gantt progress bars. You can also set the background color, font, and offset position.

<figure><img src="/files/YYYGeep25NIrVAOgW6Wv" alt=""><figcaption></figcaption></figure>

The following screenshot shows the final Gantt chart:

<figure><img src="/files/Ropta7fPOVHxRwcvczkf" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fabricplan.com/documentation/plan/intelligence-sheets/how-tos/plan-projects-with-gantt-charts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
