Step 1: Data Foundation
Bind the 4 required fields first, then add optional fields for dependencies, baselines, and categories.
This page turns the full documentation into a readable path: first the essentials, then advanced logic, then complete reference. You can onboard fast and still access every technical detail when needed.
Follow this sequence to avoid configuration mistakes and build a complete ProGantt report faster.
Bind the 4 required fields first, then add optional fields for dependencies, baselines, and categories.
Install ProGantt in Power BI, place it on canvas, bind every role with correct data types.
Turn on dependencies, critical path, and baseline deviation to expose schedule risk early.
Use category styles, swimlanes, legend, and column layout to build stakeholder-friendly reports.
Core capabilities you should master first before deep customization.
Critical Path Method with near-critical threshold and float bars
Dual baseline comparison with delay and overrun indicators
Dependency parsing with FS, SS, FF, SF and lag/lead syntax
Category-driven styling, swimlanes, and legend synchronization
Slot-based column layout with 16 flexible positions
Performance mode for large models and buffered dependency rendering
The full guide below is now presented as a documentation stage: scan the atlas first, then open the complete reference with stronger visual hierarchy, denser information grouping, and cleaner reading rhythm.
Section 1-2
What ProGantt is and why teams adopt it
Section 3
Required fields, optional columns, hierarchy, dependencies
Section 4
Import flow, type conversion, field binding, first-time presets
Section 5
CPM, baselines, milestones, swimlanes, color and status rules
Section 6-8
Tooltips, zoom, splitter, scroll sync, sorting and grouping behavior
Section 9+
Performance tuning, troubleshooting, governance and QA checklist
Action Playbook
Avoid broken relationship chains before review meetings
Action Playbook
Translate schedule variance into executive-level signals
Action Playbook
Make dense plans readable for non-project audiences
ProGantt is a custom Gantt chart visual for Microsoft Power BI. It renders project schedules directly inside Power BI Desktop and Power BI Service, giving project managers, program leads, and stakeholders a timeline-based view of tasks, dependencies, milestones, baselines, and critical paths — all driven by a flat data table without requiring any external project management tools.
What ProGantt solves:
Feature tiers:
ProGantt consists of two main panels separated by a draggable splitter:
┌──────────────────────┬───────────────────────────────────┐
│ │ Timeline header (Year/Qtr/Month) │
│ Task Grid ├───────────────────────────────────┤
│ (left panel) │ │
│ │ Gantt Chart Area │
│ ← splitter → │ (task bars, milestones, │
│ │ dependencies, baselines) │
│ │ │
├──────────────────────┴───────────────────────────────────┤
│ [Legend strip — optional, below chart] │
└──────────────────────────────────────────────────────────┘
Task grid (left): Shows task hierarchy with expand/collapse arrows (▼▶), sortable columns for Task Name, Start, End, Duration, Resource, % Complete, baselines, deadline, critical flag, category, and status indicator circles. Column widths are resizable by dragging column borders.
Splitter: Drag left/right to change the width ratio between grid and chart.
Timeline header (top-right): Up to 3 configurable rows (Year / Quarter / Month / Week / Day), with vertical grid lines and weekend highlighting.
Gantt chart area: Horizontal task bars, progress overlays, milestone shapes, dependency connectors, baseline bars, swimlane background bands.
Legend strip (optional): Horizontal color swatch row above or below the chart, showing one entry per configured category.
ProGantt reads from a single flat Power BI table. Each row is one task. The hierarchy is built from Task ID and Parent ID values — no nested tables or special data models are required.
All four columns must be present and bound for the chart to render.
| Column | Type | Notes |
|---|---|---|
| Task ID | Text or Whole Number | Unique identifier per task. Used in dependency strings (e.g. 3FS means “Task 3, Finish-to-Start”). Cannot be blank. |
| Task Name | Text | Display label for the task row and bar. |
| Start Date | Date | Actual task start date. Must be typed as Date in Power BI (not Text). |
| End Date | Date | Actual task finish date. Must be ≥ Start Date. Equal dates = milestone. |
Bind any combination of these to unlock additional features.
| Column | Type | Feature unlocked |
|---|---|---|
| Parent ID | Text or Whole Number | Hierarchy. Match a Task ID in the same table. Blank = root task. |
| % Complete | Decimal (0–1) or Whole Number (0–100) | Progress overlay on bar. |
| Resource | Text | Shown in Resource grid column and optional bar label. |
| Milestone Type | Text | Any non-blank value renders the task as a milestone shape. |
| Dependencies | Text | Dependency connectors. Format: 3FS, 7SS+2d, 21FF, 28SF-3d. Comma-separated for multiple. |
| Baseline Start | Date | Baseline 1 start — thin bar below actual bar. |
| Baseline End | Date | Baseline 1 finish. |
| Baseline 2 Start | Date | Baseline 2 start. |
| Baseline 2 End | Date | Baseline 2 finish. |
| Critical | Any non-blank | Per-task critical flag (overrides CPM calculation for that task). |
| Deadline Date | Date | Inverted triangle ▼ marker above bar; turns red when End Date > Deadline Date. |
| Color Field | Text | Drives bar color via Color Rules slots (Format panel → Tasks & Summaries). |
| Status Indicator | Text | Drives traffic-light circle in grid via Status Indicator slots. |
| Task Category | Text | Category grouping for per-category styles, swimlanes, and legend. |
| Tooltip Fields | Any | Extra columns shown in hover tooltip (multiple fields allowed). |
The Task Category column is the key to ProGantt’s category-driven features. Assign a category name to every task row. Tasks with the same value are treated as one group.
Rules:
Recommended naming: Use clear business-domain names — “Engineering & Build”, “Quality & Testing”, “Project Management” — so the swimlane headers and legend are immediately readable by stakeholders.
The Dependencies column accepts one or more dependency codes, comma-separated.
Format: [Predecessor Task ID][Type][+/-][Lag][d]
| Code | Meaning |
|---|---|
3FS | Task 3, Finish-to-Start (most common — B starts after A finishes) |
7SS+2d | Task 7, Start-to-Start with 2-day lag (B starts 2 days after A starts) |
21FF | Task 21, Finish-to-Finish (B finishes when A finishes) |
28SF-3d | Task 28, Start-to-Finish with 3-day lead (B finishes 3 days before A starts) |
12FS,15SS+1d | Two dependencies on one task (comma-separated) |
Lag (positive number): a delay after the relationship point. Lead (negative number): overlap — successor can begin before the predecessor completes.
IDs in dependency strings must exactly match Task ID values in the table.
A task renders as a milestone shape (instead of a bar) if either of these is true:
Both conditions independently cause milestone rendering. If you remove the Milestone Type field binding, tasks that relied on condition 2 will revert to bars — but tasks with equal dates will remain milestones.
Power BI’s type system matters for ProGantt:
| Column | Required type in Power Query |
|---|---|
| Start Date, End Date, Baseline dates, Deadline Date | Date (not Date/Time, not Text) |
| Task ID, Parent ID | Text or Whole Number (both work; stay consistent) |
| % Complete | Decimal Number (0.0–1.0) or Whole Number (0–100); ProGantt normalizes both |
| All other columns | Auto-detected type is fine |
To change types in Power Query: click the column header → Transform ribbon → Data Type → select Date.
In Power Query Editor, for each date column (Start Date, End Date, Baseline Start, Baseline End, Baseline 2 Start, Baseline 2 End, Deadline Date):
dist/ folder → select the .pbiviz file → click Open.| Column in your data | ProGantt role slot |
|---|---|
| Task ID | Task ID |
| Task Name | Task Name |
| Start Date | Start Date |
| End Date | End Date |
| Parent ID | Parent ID |
| % Complete | % Complete |
| Resource | Resource |
| Milestone Type | Milestone Type |
| Dependencies | Dependencies |
| Baseline Start | Baseline Start |
| Baseline End | Baseline End |
| Baseline 2 Start | Baseline 2 Start |
| Baseline 2 End | Baseline 2 End |
| Critical | Critical |
| Deadline Date | Deadline Date |
| Color Field | Color Field |
| Status Indicator | Status Indicator |
| Task Category | Task Category |
| Budget, Planned Hours, Risk Score | Tooltip Fields (drag each separately) |
After binding fields, configure these settings in the Format panel for the best first view:
Task bars are horizontal rectangles whose left edge aligns to Start Date and right edge to End Date on the timeline.
Progress overlay: The left portion of the bar is filled with a darker shade proportional to the task’s % Complete value. A fully filled bar (100%) means the task is complete.
Bar appearance settings (Format panel → Tasks & Summaries):
Summary tasks are parent tasks that contain child tasks. They display in a bracket or chevron style (not a normal bar) to distinguish them visually.
Expand/collapse: Click the ▼▶ arrow to the left of a summary task in the grid to show or hide all its descendants. Collapsing a group also removes that group’s task bars, dependency lines, and baseline bars from the chart area — keeping the view focused.
Auto-calculate summary dates (Format panel → Visual → Auto-calculate summary dates):
Milestones are zero-duration events shown as shapes (not bars) at a point in time.
Detection rules (either condition independently triggers milestone rendering):
Shape options (Format panel → Milestones → Milestone shape):
Per-category override: Each Category Style slot can override the milestone shape for tasks in that category (see §5.9).
Milestone labels: Toggle on/off independently from task bar labels; configure font family, size, bold, italic, and color.
Dependency connectors are rectilinear (right-angle) SVG lines with arrowheads drawn between task bars.
Supported types:
| Type | Code | Meaning |
|---|---|---|
| Finish-to-Start | FS | Successor starts after predecessor finishes |
| Start-to-Start | SS | Successor starts after predecessor starts |
| Finish-to-Finish | FF | Successor finishes after predecessor finishes |
| Start-to-Finish | SF | Successor finishes after predecessor starts |
Lag and lead: Positive lag (e.g. +2d) delays the relationship; negative lead (e.g. -3d) allows overlap. Lag values appear as labels at the midpoint of the dependency line.
Critical dependencies: When Critical Path mode is on, dependency lines connecting two critical tasks render in the critical color. Non-critical dependency lines fade when critical path mode is active.
Rendering modes (Format panel → Dependencies → Render range):
Only visible (non-collapsed) tasks have dependency lines rendered.
Baselines are historical snapshots of originally planned dates. ProGantt supports two independent baselines.
Rendering: Baseline bars appear as thin horizontal strips below the actual task bar.
Deviation highlighting (Format panel → Baselines → Deviation highlight):
Multi-layer equal-height mode (Format panel → Baselines → Multi-layer mode):
ProGantt calculates the critical path using the Critical Path Method (CPM) — forward and backward passes through the dependency network.
How it works:
Visual indicators:
d suffix); sortable.Per-task critical override: Bind a column to the Critical role. Any task with a non-blank value in that column is treated as critical regardless of CPM result — useful when you want to manually flag tasks without needing a dependency network.
Color-by-Field maps a categorical text column to bar colors via configurable rules.
Setup:
Color priority chain (highest to lowest):
The status indicator is a colored circle displayed in a dedicated column in the task grid, providing a traffic-light view of each task’s health.
Setup:
Summary task rows can have blank Status Indicator values to keep the summary rows clean.
Toggle: Format panel → Status Rules → Show Status Indicator.
Task categories let you group tasks by work domain and apply consistent styling across all tasks in a group.
Setup:
| Setting | Description |
|---|---|
| Bar Color | Override bar fill color for tasks in this category |
| Progress Color | Override progress overlay fill color |
| Bar Border Color | Optional border line color around the bar |
| Bar Opacity | 0–100; reduces bar transparency (useful for background tasks) |
| Bar Pattern | Solid / Diagonal Stripes / Crosshatch / Dotted |
| Row Background | Background tint color for grid rows and Gantt row bands in this category |
| Font Color | Text color for task names and grid cells in this category |
| Font Bold | Bold font weight for grid cells in this category |
| Milestone Shape | Inherit (use global shape) / Diamond / Circle / Star / Triangle |
Capacity: Supports up to 32 distinct category values. If your data has more than 32 distinct values, only the first 32 are configurable; the remaining categories use the default bar color and no row styling.
Bar patterns are implemented as SVG <pattern> elements in the chart’s <defs> section. They are layered over the bar fill color as a transparent texture. Useful for black-and-white printing — different categories remain distinguishable without color.
Color priority chain: CPM critical > CPM near-critical > Category Bar Color > Color-by-Field > default bar color.
Swimlanes group tasks by category with a visual header band separating each group.
Enable: Format panel → Swimlanes → Show Swimlanes.
What it does:
Sort order options (Format panel → Swimlanes → Sort Order):
Additional options:
The legend is a horizontal strip showing one color swatch + label per configured category.
Enable: Format panel → Legend → Show Legend.
Position options:
Swatch shapes: Rectangle, Circle, Line.
Settings: Legend title, font size, font color, background color, swatch size, max rows (legend wraps to multiple rows if too many categories fit in one line).
Swatches use the bar color from each Category Style slot. Categories without a configured slot appear with the default bar color.
Grid columns are configured entirely through the Column Layout section in the Format panel. There are 16 pre-declared slots, displayed as collapsible groups. Each slot has a Dropdown selector — choose which data column (or special column) to place in that position.
To add a column: Open Format panel → Column Layout → expand an empty slot → select a column from the Dropdown.
To remove a column: Set the slot’s Dropdown to “(none)”.
To reorder columns: Change which slot each column is assigned to (lower slot number = further left).
To resize a column: Drag the right edge of any column header. The last column also has a resize handle on its right side. Widths are saved automatically and survive report refreshes.
Available columns:
| Column | What it shows |
|---|---|
taskName | Task name (indented per hierarchy level) |
startDate | Task start date |
endDate | Task end date |
duration | Computed duration in days |
resource | Resource assignment |
percentComplete | % completion |
baselineStart / baselineEnd | Baseline 1 start / end dates |
baselineStart2 / baselineEnd2 | Baseline 2 start / end dates |
deadlineDate | Deadline date |
critical | Critical flag value |
__rowNumber | Sequential row number (#) |
__statusIndicator | Status circle (traffic light) |
__totalFloat | Total float days (e.g. 5d) — only meaningful when Critical Path is enabled |
categoryValue | Task category value |
tooltip:* | Any column bound to the Tooltip data role |
extra:* | Any column bound to an Extra Column data role |
Default layout (slots 1–6): Task Name → Start Date → End Date → Duration → % Complete → Resource.
Auto mode: If all 16 slots are set to “(none)”, all data-bound columns are shown in their natural order.
Minimum column width: 40 px.
Zooming:
Timeline header rows (Format panel → Timeline Scale → Header Row 1/2/3):
Weekend highlighting: Non-working day columns (Saturday/Sunday) are shaded with a configurable color and opacity.
Today line: A red vertical line marks today’s date. Toggle and color configurable in Format panel → Timeline Scale.
Status date line: A dashed vertical reference line at a configured date (useful for “as-of” reporting). Set date, color, and visibility in Format panel → Timeline Scale → Status Date.
Clicking a column header cycles through three states:
Row Sort Mode (Format panel → Table Layout → Row Sort Mode) controls how sorting applies across the hierarchy:
| Mode | Behaviour |
|---|---|
| Data Order | Sorting is disabled; all levels are pinned to data-source order. Sort indicators are hidden and column headers are not clickable. |
| Within Groups (default) | Only leaf task siblings within the same parent are sorted. Summary tasks keep their original data-source order so the group structure remains stable. |
| All Levels | Every task node — summary and leaf alike — is sorted uniformly by the chosen column. The hierarchy structure is preserved but summary tasks can reorder relative to each other. |
Tiebreaker: When two tasks compare equal on the sorted column, they are ordered by their original data-source position, ensuring stable, predictable results.
ProGantt’s Format panel contains approximately 21 cards. Below is a reference for every card and its key settings.
| Setting | Description |
|---|---|
| Row Height | Height in pixels for each task row (grid and Gantt) |
| Show Grid Lines | Horizontal lines between rows |
| Alternating Row Color | Toggle alternating row background shading |
| Alternating Row Color value | Color for alternate rows |
| Auto-calculate Summary Dates | Parent dates/progress derived from children |
| Show Deadline Markers | Toggle ▼ deadline triangle markers |
| Missed Deadline Color | Color for missed deadline triangles (default red) |
| Show Progress Line | Toggle vertical today-line overlay across all bars |
| Progress Line Color | Color of the progress line |
| Setting | Description |
|---|---|
| Bar Color | Default bar fill color |
| Summary Bar Color | Summary task bar fill color |
| Bar Height Ratio | 0.1–1.0 fraction of row height |
| Corner Radius | Rounded bar ends (px) |
| Summary Bar Style | Brackets or Chevron |
| Show Bar Labels | Toggle task labels on bars |
| Label Content | Name / ID / Duration / % Complete / Resource / None |
| Label Position | Inside / Right / Left |
| Inside Label Color | Color for labels rendered inside the bar |
| Label Font Family/Size/Bold/Italic | Label text style |
| Color Rule 1–8 | Value + Color for color-by-field mapping |
| Setting | Description |
|---|---|
| Show Milestones | Toggle milestone rendering |
| Milestone Shape | Diamond / Triangle / Circle / Star |
| Milestone Color | Fill color for milestone shapes |
| Milestone Size | Size multiplier |
| Show Milestone Labels | Toggle labels next to milestone shapes |
| Label Font Family/Size/Bold/Italic/Color | Milestone label text style |
| Setting | Description |
|---|---|
| Show Dependencies | Toggle dependency connector lines |
| Line Color | Dependency line color |
| Line Width | Line stroke width (px) |
| Arrow Size | Arrowhead size |
| Stroke Style | Solid or Dashed |
| Render Range | Buffered (viewport + buffer) or Full |
| Buffer Count | Rows above/below viewport to include in buffered mode |
| Show Lag Labels | Toggle lag value labels at dependency midpoints |
| Setting | Description |
|---|---|
| Header Background | Timeline header row background color |
| Grid Line Color | Vertical grid line color |
| Show Today Line | Toggle red today marker |
| Today Line Color | Today line color |
| Show Status Date Line | Toggle dashed reference line |
| Status Date | Date for the reference line |
| Status Date Color | Reference line color |
| Show Non-Working Days | Toggle weekend shading |
| Non-Working Day Color | Weekend column shading color |
| Non-Working Day Opacity | Shading opacity (0–100) |
| Header Row 1/2/3 Scale | None / Year / Quarter / Month / Week / Day |
| Header Row 1/2/3 Height | Height in pixels per header row |
| Setting | Description |
|---|---|
| Show Baseline 1 | Toggle Baseline 1 bar rendering |
| Baseline 1 Color | Baseline 1 bar fill color |
| Show Baseline 2 | Toggle Baseline 2 bar rendering |
| Baseline 2 Color | Baseline 2 bar fill color |
| Deviation Highlight | Toggle orange/red deviation indicators |
| Multi-layer Mode | Equal-height stacked bar mode |
| Setting | Description |
|---|---|
| Show Critical Path | Toggle CPM calculation and highlighting |
| Critical Path Color | Color for critical task bars and dependencies |
| Show Near-Critical | Toggle near-critical task highlighting |
| Near-Critical Color | Warning color for near-critical tasks |
| Near-Critical Threshold | Float threshold in days (default: 3) |
| Show Float Bars | Toggle float extension bars |
| Float Bar Color | Float bar color |
| Fade Non-Critical | Dim non-critical tasks when CPM is on |
| Fade Opacity | Opacity for dimmed non-critical elements |
Note: The Total Float column’s visibility is controlled via Column Layout (assign
__totalFloatto a slot).
| Setting | Description |
|---|---|
| Row Sort Mode | dataOrder / withinGroups (default) / allLevels — controls which tasks participate in column-header sorting. See §5.14. |
| Resizable Columns | Allow users to drag column borders |
| Default Column Width | Default width (px) for columns with no explicit width |
| Indent Size | Pixels of indent per hierarchy level |
16 slot-based Dropdowns — select which column appears in each grid position. Drag any column border to resize; widths persist across sessions. See §5.12 for the full column reference.
| Setting | Description |
|---|---|
| Rule 1–8 | Value (text) + Color for each traffic-light mapping |
Note: The Status column’s visibility is controlled via Column Layout (assign
__statusIndicatorto a slot).
| Setting | Description |
|---|---|
| Show Group Bands | Toggle colored background bands behind the Gantt bars |
| Band Opacity | Opacity of band shading (5–100%) |
| Band colors (JSON array) | JSON array of hex colors that cycle across groups, e.g. ["#EFF6FF","#F0FDF4","#FFFBEB"]. Leave blank to use the built-in 6-color pastel palette |
How bands are assigned: one band is drawn per summary task at the grouping level. If your data has a single top-level project node (one root task), the bands are drawn for that root’s direct children — the natural phase/workstream groups. If your data has multiple top-level tasks (no common parent), each top-level task gets its own band.
Note: Leaf tasks (tasks with no children) never receive a band. The feature has no visible effect if all tasks are flat (no hierarchy / Parent ID field not bound).
This section appears automatically when a Task Category field is bound. It contains one collapsible group per distinct category value found in the data (up to 32). Groups are named after the actual category values — no manual text entry required. Each group contains:
| Setting | Description |
|---|---|
| Bar Color | Override bar fill color for tasks in this category |
| Progress Color | Override progress overlay fill color |
| Bar Border Color | Optional bar outline color |
| Bar Opacity | 0–100 opacity for bars in this category |
| Bar Pattern | Solid / Diagonal Stripes / Crosshatch / Dotted |
| Row Background | Row background tint color for grid rows and Gantt row bands |
| Font Color | Grid text color for this category’s rows |
| Font Bold | Bold font weight for this category’s grid text |
| Milestone Shape | Inherit / Diamond / Circle / Star / Triangle |
| Setting | Description |
|---|---|
| Show Legend | Toggle the legend strip |
| Legend Position | Top or Bottom |
| Legend Title | Optional title text above the swatches |
| Font Size | Label text size |
| Font Color | Label text color |
| Background Color | Legend strip background |
| Swatch Size | Size of color swatch shape |
| Swatch Shape | Rectangle / Circle / Line |
| Max Rows | Maximum rows before legend truncates |
| Setting | Description |
|---|---|
| Show Swimlanes | Toggle swimlane header rows |
| Sort Order | As Data / Alphabetical / By Earliest Start Date |
| Header Height | Height of the swimlane header row (px) |
| Header Background | Header band background color |
| Header Font Color | Header text color |
| Header Font Size | Header text size |
| Header Font Bold | Bold header text |
| Border Color | Separator line color at category boundaries |
| Collapse by Default | Start with all swimlane groups collapsed |
| Show Task Count | Append task count to the header label |
Font family, size, bold, italic, and color for grid column header row labels.
Font family, size, bold, italic, and color for regular (leaf) task rows in the grid.
Font family, size, bold, italic, and color for summary task rows in the grid.
Font family, size, bold, italic, and color for timeline header labels (year/quarter/month/etc.).
Font family, size, bold, italic, and color for hover tooltip content.
| Action | Effect |
|---|---|
| Click task bar or grid row | Select task (highlights bar and row) |
| Ctrl + Click | Add to / remove from multi-selection |
| Click empty chart area | Clear selection |
| Right-click task | Open Power BI context menu (cross-filter, drill-through) |
| Arrow Up / Down | Move selection to previous/next visible task |
| Arrow Left / Right | Scroll timeline left/right |
| Ctrl + Mouse Wheel | Zoom timeline in/out (pointer-centered) |
| Drag column border (grid header) | Resize that grid column |
| Drag splitter | Resize grid/chart panel ratio |
| Scroll grid | Gantt area scrolls vertically in sync |
| Scroll Gantt | Grid scrolls vertically in sync |
| Zoom to Fit button | Fit all task date range in viewport width |
| Scroll to Today button | Jump timeline to today’s date |
| Zoom to Selection button | Zoom timeline to selected task’s date range |
Q: My task bars are not showing up. A: Ensure all four required fields are bound: Task ID, Task Name, Start Date, End Date. Check that date columns are typed as Date in Power BI (not Text). If all four are bound and dates are correct, look for data quality issues: Start Date > End Date, or null values in required columns.
Q: Tasks appear as milestones when they should show bars. A: ProGantt renders a milestone for any task where Start Date = End Date. Ensure End Date is strictly after Start Date for non-milestone tasks. Also check whether the Milestone Type field is bound — any non-blank value in that field triggers milestone rendering regardless of dates.
Q: My dependency lines are not appearing.
A: The dependency string must be formatted as [ID][Type] or [ID][Type][+/-][N]d. Examples: 3FS, 7SS+2d. IDs must match Task ID values exactly (including data type — if Task ID is stored as text “001”, the dependency string must reference “001”, not “1”). Multiple dependencies are comma-separated: 3FS,7SS+2d.
Q: Category styles are not applying to my tasks. A: First, verify that the Task Category role is bound — drag your category column to the Task Category slot in the Build visual tab. The Category Styles section only appears in the Format panel once a category field is bound. If the section is visible but styles have no effect, check that your data has non-blank Task Category values. Styles are automatically assigned per category value; no manual name entry is needed.
Q: Color-by-Field rules are not coloring my bars. A: Verify that Color by Field is turned ON in Format panel → Tasks & Summaries. Then check Format panel → Tasks & Summaries → Color Rules 1–8 — each active slot needs a Rule Value that exactly matches the value in your data (case-insensitive, but whitespace must match). Leave unused slots blank.
Q: Swimlane header rows are not appearing. A: Swimlanes require the Task Category role to be bound. Enable Show Swimlanes in Format panel → Swimlanes. Ensure your data has non-blank Task Category values — rows with blank categories are grouped but may not generate a visible header if there are no category-named groups.
Q: The legend shows grey swatches instead of colors. A: The legend reads colors from the Category Styles section. Once the Task Category role is bound and you have a Pro license, expand the autogenerated groups under Category Styles and set a distinct “Bar Color” for each category to have them reflected in the legend.
Q: The chart shows “Add the required fields” even though I bound everything. A: The visual shows partial-binding guidance when only some required fields are bound. If you see “Almost there — please also add: [fields]”, bind those remaining required fields. If all four required fields are bound and you still see an error, check for data quality issues: null Task IDs, all rows having parsing errors, or date values that Power BI is reading as text.
Q: My hierarchy is not showing correctly — tasks appear at root level. A: Verify that Parent ID values in your data match Task ID values exactly (case-sensitive; same data type). If Parent ID is stored as a number but Task ID is text (or vice versa), the match fails and all tasks appear at root level. Ensure both columns are the same data type in Power Query.
Q: The critical path calculation doesn’t match my expectations. A: CPM uses the dependency network you’ve defined. If you have tasks not connected by dependencies, they form isolated chains that may not be on the overall critical path. Also verify that dependency strings reference correct Task IDs — a typo causes that dependency to be silently ignored. Use the Total Float column in the grid to inspect float values for each task.
Q: % Complete values aren’t showing correctly on bars. A: ProGantt accepts either decimal (0.0–1.0) or whole number (0–100) for % Complete. If your values are 0–100 integers and bars show fully filled or empty, check the detected type in Power Query. If Power BI detects it as a decimal, a value of “75” will be treated as 7500% (normalized to 1.0 = full). Set the column type to Whole Number in Power Query if needed.
Q: Exporting to PDF/PNG doesn’t capture the full chart. A: ProGantt integrates with Power BI’s Rendering Events API for PDF/PNG export. For best results, scroll the Gantt to the beginning and use Zoom-to-Fit before exporting. Very large datasets may require export at a lower zoom level to capture all tasks in one export.