ProGantt Learning Center Power BI Native Workflow

Learn ProGantt Without Getting Lost

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.

Guided Learning Path

Follow this sequence to avoid configuration mistakes and build a complete ProGantt report faster.

1

Step 1: Data Foundation

Bind the 4 required fields first, then add optional fields for dependencies, baselines, and categories.

2

Step 2: Visual Setup

Install ProGantt in Power BI, place it on canvas, bind every role with correct data types.

3

Step 3: Logic Features

Turn on dependencies, critical path, and baseline deviation to expose schedule risk early.

4

Step 4: Styling and UX

Use category styles, swimlanes, legend, and column layout to build stakeholder-friendly reports.

What Makes ProGantt Powerful

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

Complete Documentation

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.

Field Binding CPM & Baselines Category Styling QA & Troubleshooting

Section 1-2

Foundation

What ProGantt is and why teams adopt it

Section 3

Data Modeling

Required fields, optional columns, hierarchy, dependencies

Section 4

Power BI Setup

Import flow, type conversion, field binding, first-time presets

Section 5

Feature Mechanics

CPM, baselines, milestones, swimlanes, color and status rules

Section 6-8

Interaction Controls

Tooltips, zoom, splitter, scroll sync, sorting and grouping behavior

Section 9+

Delivery Readiness

Performance tuning, troubleshooting, governance and QA checklist

Action Playbook

Dependency Health Check

Avoid broken relationship chains before review meetings

  • 1 Validate every dependency code follows ID + FS/SS/FF/SF + optional lag.
  • 2 Confirm predecessor IDs truly exist in Task ID values.
  • 3 Enable critical path and inspect whether links fade or break unexpectedly.

Action Playbook

Baseline Drift Storytelling

Translate schedule variance into executive-level signals

  • 1 Turn on Baseline 1, Baseline 2, and deviation highlights together.
  • 2 Use red overrun + orange delay as dashboard-level alert language.
  • 3 Sort by Total Float and Deadline slippage to surface true schedule risk.

Action Playbook

Category-Driven Readability

Make dense plans readable for non-project audiences

  • 1 Assign stable business-domain category names early.
  • 2 Configure category bar color, row tint, and milestone shape as one visual system.
  • 3 Enable swimlanes + legend so the audience can decode groups in seconds.
DOC Open Full ProGantt User Guide

ProGantt User Guide

1. What is ProGantt?

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:

  • Project schedule data lives in spreadsheets or databases but Power BI has no built-in Gantt chart.
  • Stakeholders need timeline visibility inside the same report where other KPIs live.
  • Large programmes need hierarchy (phases within releases), swimlane grouping by work stream, and comparative baselines to show schedule drift.

Feature tiers:

  • Free: Core rendering, up to 1,000 tasks, task bars, hierarchy, milestones, dependencies, tooltips, color-by-field, status indicator, group bands. (Includes a watermark in Power BI Service).
  • Pro: Unlocks unlimited tasks (up to 500,000 rows), baseline comparison, critical path analysis, swimlane grouping, advanced category styling (up to 32 slots), bar patterns, and the legend strip. No watermark in Power BI Service. Includes a 1-month free trial via Microsoft AppSource.

2. Visual Layout Overview

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.


3. Preparing Your Data

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.

3.1 Required Columns (4)

All four columns must be present and bound for the chart to render.

ColumnTypeNotes
Task IDText or Whole NumberUnique identifier per task. Used in dependency strings (e.g. 3FS means “Task 3, Finish-to-Start”). Cannot be blank.
Task NameTextDisplay label for the task row and bar.
Start DateDateActual task start date. Must be typed as Date in Power BI (not Text).
End DateDateActual task finish date. Must be ≥ Start Date. Equal dates = milestone.

3.2 Optional Columns (17)

Bind any combination of these to unlock additional features.

ColumnTypeFeature unlocked
Parent IDText or Whole NumberHierarchy. Match a Task ID in the same table. Blank = root task.
% CompleteDecimal (0–1) or Whole Number (0–100)Progress overlay on bar.
ResourceTextShown in Resource grid column and optional bar label.
Milestone TypeTextAny non-blank value renders the task as a milestone shape.
DependenciesTextDependency connectors. Format: 3FS, 7SS+2d, 21FF, 28SF-3d. Comma-separated for multiple.
Baseline StartDateBaseline 1 start — thin bar below actual bar.
Baseline EndDateBaseline 1 finish.
Baseline 2 StartDateBaseline 2 start.
Baseline 2 EndDateBaseline 2 finish.
CriticalAny non-blankPer-task critical flag (overrides CPM calculation for that task).
Deadline DateDateInverted triangle ▼ marker above bar; turns red when End Date > Deadline Date.
Color FieldTextDrives bar color via Color Rules slots (Format panel → Tasks & Summaries).
Status IndicatorTextDrives traffic-light circle in grid via Status Indicator slots.
Task CategoryTextCategory grouping for per-category styles, swimlanes, and legend.
Tooltip FieldsAnyExtra columns shown in hover tooltip (multiple fields allowed).

3.3 The Category Column

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:

  • Up to 32 distinct category values are fully supported (mapping to Category Style slots 1–32 in the Format panel). More than 32 values still render, but only the first 32 configured styles apply.
  • Category names in Format panel slot settings are automatically generated from your data values. No manual matching is required.
  • Leave the category blank for root summary tasks if you want them unstyled.
  • Category drives three features simultaneously: bar/row styling (Category Style cards), swimlane header rows (Swimlanes card), and the legend strip (Legend card).

Recommended naming: Use clear business-domain names — “Engineering & Build”, “Quality & Testing”, “Project Management” — so the swimlane headers and legend are immediately readable by stakeholders.

3.4 Dependency String Format

The Dependencies column accepts one or more dependency codes, comma-separated.

Format: [Predecessor Task ID][Type][+/-][Lag][d]

CodeMeaning
3FSTask 3, Finish-to-Start (most common — B starts after A finishes)
7SS+2dTask 7, Start-to-Start with 2-day lag (B starts 2 days after A starts)
21FFTask 21, Finish-to-Finish (B finishes when A finishes)
28SF-3dTask 28, Start-to-Finish with 3-day lead (B finishes 3 days before A starts)
12FS,15SS+1dTwo 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.

3.5 Milestone Detection

A task renders as a milestone shape (instead of a bar) if either of these is true:

  1. Start Date = End Date (zero duration) — inherent milestone regardless of field binding.
  2. Milestone Type column has a non-blank value — any text, even a single space, triggers milestone rendering.

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.

3.6 Hierarchy Rules

  • Parent ID must match an existing Task ID in the same table.
  • Circular references (A is parent of B, B is parent of A) are detected and skipped — the child’s parent link is removed.
  • Tasks with no Parent ID (or a blank value) are root-level tasks.
  • Hierarchy depth is unlimited but deep nesting (>6 levels) reduces readability.
  • When Auto-calculate summary dates is enabled (Format panel → Visual), parent task Start/End are computed as min/max of all descendants; % Complete is the duration-weighted average of direct children.

3.7 Data Type Requirements

Power BI’s type system matters for ProGantt:

ColumnRequired type in Power Query
Start Date, End Date, Baseline dates, Deadline DateDate (not Date/Time, not Text)
Task ID, Parent IDText or Whole Number (both work; stay consistent)
% CompleteDecimal Number (0.0–1.0) or Whole Number (0–100); ProGantt normalizes both
All other columnsAuto-detected type is fine

To change types in Power Query: click the column header → Transform ribbon → Data Type → select Date.


4. Setting Up in Power BI

4.1 Import Data

  1. Open Power BI Desktop.
  2. Click Home → Get data → Text/CSV.
  3. Select your tab-delimited data file → click Open.
  4. In the preview dialog, confirm Delimiter = Tab and the correct column and row count.
  5. Click Transform Data to open Power Query Editor.

4.2 Set Date Column Types

In Power Query Editor, for each date column (Start Date, End Date, Baseline Start, Baseline End, Baseline 2 Start, Baseline 2 End, Deadline Date):

  1. Click the column header.
  2. On the Transform ribbon, click Data Type → Date.
  3. If prompted about changing the type, click Replace current.
  4. When all date columns are set, click Close & Apply.

4.3 Install ProGantt

  1. In the Visualizations pane, click the three dots (…) at the bottom-right.
  2. Click Import a visual from a file.
  3. Accept the custom visual warning.
  4. Browse to the ProGantt dist/ folder → select the .pbiviz file → click Open.
  5. Click OK on the success dialog. The ProGantt icon appears in the Visualizations pane.

4.4 Bind All Fields

  1. Click the ProGantt icon in the Visualizations pane to add it to the canvas.
  2. Resize the visual to fill most of the page.
  3. With the visual selected, open the Build visual tab (bar chart icon) in the Visualizations pane.
  4. Drag each column from the Fields pane into its matching role slot:
Column in your dataProGantt role slot
Task IDTask ID
Task NameTask Name
Start DateStart Date
End DateEnd Date
Parent IDParent ID
% Complete% Complete
ResourceResource
Milestone TypeMilestone Type
DependenciesDependencies
Baseline StartBaseline Start
Baseline EndBaseline End
Baseline 2 StartBaseline 2 Start
Baseline 2 EndBaseline 2 End
CriticalCritical
Deadline DateDeadline Date
Color FieldColor Field
Status IndicatorStatus Indicator
Task CategoryTask Category
Budget, Planned Hours, Risk ScoreTooltip Fields (drag each separately)

After binding fields, configure these settings in the Format panel for the best first view:

  • Visual → Auto-calculate summary dates: On
  • Tasks & Summaries → Bar labels: On; Label content: Task Name; Position: Inside
  • Milestones → Show milestones: On; Shape: Diamond
  • Dependencies → Show dependencies: On
  • Baselines → Show Baseline 1: On; Show Baseline 2: On; Deviation highlight: On
  • Critical Path → Show critical path: On; Show near-critical: On; Near-critical threshold: 3
  • Status Rules → Show status indicator: On; configure Green/Amber/Red rules
  • Table Layout → Show Category: On (if Category is bound)
  • Category Styles → Once Task Category is bound, this section appears automatically with one group per category value. Expand each group and assign a distinct bar color (Legend and Swimlanes sections also appear when Category is bound)
  • Legend → Show Legend: On; Position: Top
  • Swimlanes → Show Swimlanes: On; Sort order: As Data

5. Feature Guide

5.1 Task Bars and Progress

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):

  • Bar color: default fill color for all tasks (overridden by category styles and color-by-field rules)
  • Bar height ratio (0.1–1.0): bar height as a fraction of the row height
  • Corner radius: rounded bar ends (0 = square, higher = more rounded)
  • Bar labels: toggle on/off; choose what to display:
    • Task Name, Task ID, Duration (days), % Complete, Resource, or None
  • Label position: Inside bar, Right of bar, or Left of bar
  • Summary bar style: Bracket-style (two end caps with connecting line) or Chevron (solid arrow shape pointing right)

5.2 Summary Tasks and Hierarchy

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):

  • On: Parent Start = earliest descendant start; Parent End = latest descendant end; Parent % Complete = duration-weighted average of direct children.
  • Off: Parent dates come from your data as-is.

5.3 Milestones

Milestones are zero-duration events shown as shapes (not bars) at a point in time.

Detection rules (either condition independently triggers milestone rendering):

  1. Start Date = End Date
  2. Milestone Type column has any non-blank value

Shape options (Format panel → Milestones → Milestone shape):

  • Diamond ♦ (default)
  • Triangle ▲
  • Circle ●
  • Star ★

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.

5.4 Dependencies

Dependency connectors are rectilinear (right-angle) SVG lines with arrowheads drawn between task bars.

Supported types:

TypeCodeMeaning
Finish-to-StartFSSuccessor starts after predecessor finishes
Start-to-StartSSSuccessor starts after predecessor starts
Finish-to-FinishFFSuccessor finishes after predecessor finishes
Start-to-FinishSFSuccessor 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):

  • Buffered (default for large datasets): only renders dependencies within a configurable number of rows above/below the viewport.
  • Full: renders all dependency lines for all visible tasks (can be slow with many dependencies).

Only visible (non-collapsed) tasks have dependency lines rendered.

5.5 Baselines

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.

  • Baseline 1: 40% of task bar height, directly below the task bar.
  • Baseline 2: thin strip below Baseline 1.

Deviation highlighting (Format panel → Baselines → Deviation highlight):

  • Orange indicator: actual start is later than baseline start (delayed start).
  • Red indicator: actual end extends beyond baseline end (extended duration).

Multi-layer equal-height mode (Format panel → Baselines → Multi-layer mode):

  • All bars (actual, baseline 1, baseline 2) render at equal height in a stacked layout — useful for side-by-side comparison when exact heights matter.

5.6 Critical Path

ProGantt calculates the critical path using the Critical Path Method (CPM) — forward and backward passes through the dependency network.

How it works:

  1. Forward pass: computes Earliest Start and Earliest Finish for every task.
  2. Backward pass: computes Latest Start and Latest Finish working backwards from the project end.
  3. Total Float = Latest Start − Earliest Start. A task with zero float is on the critical path.
  4. Circular dependencies are detected and their edges are excluded from the calculation.

Visual indicators:

  • Critical tasks (zero float): bar rendered in the critical color (default: red).
  • Near-critical tasks (float ≤ threshold, default 3 days): bar rendered in the near-critical warning color.
  • Float bar: thin extension to the right of the task bar, showing the float days visually. Length = float days × pixels-per-day.
  • Total Float column: shown in the task grid (integer days with d suffix); sortable.
  • Dependency fade: non-critical task bars and dependency lines are dimmed when critical path mode is on, drawing attention to the critical chain.

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.

5.7 Color-by-Field

Color-by-Field maps a categorical text column to bar colors via configurable rules.

Setup:

  1. Bind a column (e.g. “Color Field” with values like “Complete”, “At Risk”) to the Color Field role.
  2. In Format panel → Task Bars → Color Rules 1–8, configure up to 8 value/color pairs.
  3. Each slot: type the exact value string in “Rule Value” and pick a color in “Rule Color.”

Color priority chain (highest to lowest):

  1. CPM critical path color
  2. CPM near-critical color
  3. Category Style bar color (if Task Category is bound and a matching slot is found)
  4. Color-by-Field rule color
  5. Default bar color

5.8 Status Indicator

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:

  1. Bind a column to the Status Rules role (values like “Green”, “Amber”, “Red”).
  2. In Format panel → Status Indicator → Rule 1–8, configure up to 8 value/color pairs.
  3. Each slot: type the value string and pick a color (typically green, amber/orange, red).

Summary task rows can have blank Status Indicator values to keep the summary rows clean.

Toggle: Format panel → Status Rules → Show Status Indicator.

5.9 Task Categories and Category Styling

Task categories let you group tasks by work domain and apply consistent styling across all tasks in a group.

Setup:

  1. Bind a column to the Task Category role (e.g. “Category” with values “Engineering & Build”, “Quality & Testing”, etc.).
  2. As soon as a category field is bound, the Format panel shows a Category Styles section. It contains one collapsible group per distinct category value found in the data (up to 32 groups). The groups are named automatically after the category values — no manual text entry required.
  3. Expand any group and configure its settings:
SettingDescription
Bar ColorOverride bar fill color for tasks in this category
Progress ColorOverride progress overlay fill color
Bar Border ColorOptional border line color around the bar
Bar Opacity0–100; reduces bar transparency (useful for background tasks)
Bar PatternSolid / Diagonal Stripes / Crosshatch / Dotted
Row BackgroundBackground tint color for grid rows and Gantt row bands in this category
Font ColorText color for task names and grid cells in this category
Font BoldBold font weight for grid cells in this category
Milestone ShapeInherit (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.

5.10 Swimlanes

Swimlanes group tasks by category with a visual header band separating each group.

Enable: Format panel → Swimlanes → Show Swimlanes.

What it does:

  • Injects a full-width “header sentinel row” before each category group in both the task grid and Gantt chart area.
  • The header row shows the category name (and optionally task count).
  • Rows within each category have a faint background tint from the category’s Row Background setting.
  • Separator lines appear at category boundaries.

Sort order options (Format panel → Swimlanes → Sort Order):

  • As Data: categories appear in the order they first appear in the data.
  • Alphabetical: categories sorted A–Z by category name.
  • By Earliest Start Date: categories sorted by the earliest start date among their tasks.

Additional options:

  • Show Task Count: header shows “Category Name (N tasks)”.
  • Header Background / Font Color / Font Size / Font Bold: style the header band.
  • Border Color: color of the separator lines between categories.

5.11 Legend

The legend is a horizontal strip showing one color swatch + label per configured category.

Enable: Format panel → Legend → Show Legend.

Position options:

  • Top: legend appears between the legend area and the timeline header.
  • Bottom: legend appears below the Gantt chart area.

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.

5.12 Grid Column Layout

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:

ColumnWhat it shows
taskNameTask name (indented per hierarchy level)
startDateTask start date
endDateTask end date
durationComputed duration in days
resourceResource assignment
percentComplete% completion
baselineStart / baselineEndBaseline 1 start / end dates
baselineStart2 / baselineEnd2Baseline 2 start / end dates
deadlineDateDeadline date
criticalCritical flag value
__rowNumberSequential row number (#)
__statusIndicatorStatus circle (traffic light)
__totalFloatTotal float days (e.g. 5d) — only meaningful when Critical Path is enabled
categoryValueTask 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.

5.13 Timeline Navigation

Zooming:

  • Hold Ctrl and scroll the mouse wheel over the timeline to zoom in/out (pointer-centered zoom).
  • Click the Zoom to Fit button (toolbar) to fit all tasks within the viewport width.
  • Click the Zoom to Selection button to zoom to the selected task’s date range.
  • Click the Scroll to Today button to jump the timeline to today’s date.

Timeline header rows (Format panel → Timeline Scale → Header Row 1/2/3):

  • Each row independently configurable: None / Year / Quarter / Month / Week / Day.
  • Rows stack vertically at the top of the chart area; up to 3 rows at once.
  • Vertical grid lines align to the minor unit of the bottom-most row.

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.

5.14 Sorting

Clicking a column header cycles through three states:

  1. Ascending ▲ — tasks in A→Z / earliest-first order
  2. Descending ▼ — tasks in Z→A / latest-first order
  3. Reset — all rows return to their original data-source order

Row Sort Mode (Format panel → Table Layout → Row Sort Mode) controls how sorting applies across the hierarchy:

ModeBehaviour
Data OrderSorting 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 LevelsEvery 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.


6. Format Pane Reference

ProGantt’s Format panel contains approximately 21 cards. Below is a reference for every card and its key settings.

Canvas & Behavior

SettingDescription
Row HeightHeight in pixels for each task row (grid and Gantt)
Show Grid LinesHorizontal lines between rows
Alternating Row ColorToggle alternating row background shading
Alternating Row Color valueColor for alternate rows
Auto-calculate Summary DatesParent dates/progress derived from children
Show Deadline MarkersToggle ▼ deadline triangle markers
Missed Deadline ColorColor for missed deadline triangles (default red)
Show Progress LineToggle vertical today-line overlay across all bars
Progress Line ColorColor of the progress line

Tasks & Summaries

SettingDescription
Bar ColorDefault bar fill color
Summary Bar ColorSummary task bar fill color
Bar Height Ratio0.1–1.0 fraction of row height
Corner RadiusRounded bar ends (px)
Summary Bar StyleBrackets or Chevron
Show Bar LabelsToggle task labels on bars
Label ContentName / ID / Duration / % Complete / Resource / None
Label PositionInside / Right / Left
Inside Label ColorColor for labels rendered inside the bar
Label Font Family/Size/Bold/ItalicLabel text style
Color Rule 1–8Value + Color for color-by-field mapping

Milestones

SettingDescription
Show MilestonesToggle milestone rendering
Milestone ShapeDiamond / Triangle / Circle / Star
Milestone ColorFill color for milestone shapes
Milestone SizeSize multiplier
Show Milestone LabelsToggle labels next to milestone shapes
Label Font Family/Size/Bold/Italic/ColorMilestone label text style

Dependencies

SettingDescription
Show DependenciesToggle dependency connector lines
Line ColorDependency line color
Line WidthLine stroke width (px)
Arrow SizeArrowhead size
Stroke StyleSolid or Dashed
Render RangeBuffered (viewport + buffer) or Full
Buffer CountRows above/below viewport to include in buffered mode
Show Lag LabelsToggle lag value labels at dependency midpoints

Timeline Scale

SettingDescription
Header BackgroundTimeline header row background color
Grid Line ColorVertical grid line color
Show Today LineToggle red today marker
Today Line ColorToday line color
Show Status Date LineToggle dashed reference line
Status DateDate for the reference line
Status Date ColorReference line color
Show Non-Working DaysToggle weekend shading
Non-Working Day ColorWeekend column shading color
Non-Working Day OpacityShading opacity (0–100)
Header Row 1/2/3 ScaleNone / Year / Quarter / Month / Week / Day
Header Row 1/2/3 HeightHeight in pixels per header row

Baselines

SettingDescription
Show Baseline 1Toggle Baseline 1 bar rendering
Baseline 1 ColorBaseline 1 bar fill color
Show Baseline 2Toggle Baseline 2 bar rendering
Baseline 2 ColorBaseline 2 bar fill color
Deviation HighlightToggle orange/red deviation indicators
Multi-layer ModeEqual-height stacked bar mode

Critical Path

SettingDescription
Show Critical PathToggle CPM calculation and highlighting
Critical Path ColorColor for critical task bars and dependencies
Show Near-CriticalToggle near-critical task highlighting
Near-Critical ColorWarning color for near-critical tasks
Near-Critical ThresholdFloat threshold in days (default: 3)
Show Float BarsToggle float extension bars
Float Bar ColorFloat bar color
Fade Non-CriticalDim non-critical tasks when CPM is on
Fade OpacityOpacity for dimmed non-critical elements

Note: The Total Float column’s visibility is controlled via Column Layout (assign __totalFloat to a slot).

Table Layout (structural)

SettingDescription
Row Sort ModedataOrder / withinGroups (default) / allLevels — controls which tasks participate in column-header sorting. See §5.14.
Resizable ColumnsAllow users to drag column borders
Default Column WidthDefault width (px) for columns with no explicit width
Indent SizePixels of indent per hierarchy level

Column Layout

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.

Status Rules

SettingDescription
Rule 1–8Value (text) + Color for each traffic-light mapping

Note: The Status column’s visibility is controlled via Column Layout (assign __statusIndicator to a slot).

Row Bands

SettingDescription
Show Group BandsToggle colored background bands behind the Gantt bars
Band OpacityOpacity 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).

Category Styles (dynamic — only visible when Task Category field is 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:

SettingDescription
Bar ColorOverride bar fill color for tasks in this category
Progress ColorOverride progress overlay fill color
Bar Border ColorOptional bar outline color
Bar Opacity0–100 opacity for bars in this category
Bar PatternSolid / Diagonal Stripes / Crosshatch / Dotted
Row BackgroundRow background tint color for grid rows and Gantt row bands
Font ColorGrid text color for this category’s rows
Font BoldBold font weight for this category’s grid text
Milestone ShapeInherit / Diamond / Circle / Star / Triangle

Legend (only visible when Task Category field is bound)

SettingDescription
Show LegendToggle the legend strip
Legend PositionTop or Bottom
Legend TitleOptional title text above the swatches
Font SizeLabel text size
Font ColorLabel text color
Background ColorLegend strip background
Swatch SizeSize of color swatch shape
Swatch ShapeRectangle / Circle / Line
Max RowsMaximum rows before legend truncates

Swimlanes (only visible when Task Category field is bound)

SettingDescription
Show SwimlanesToggle swimlane header rows
Sort OrderAs Data / Alphabetical / By Earliest Start Date
Header HeightHeight of the swimlane header row (px)
Header BackgroundHeader band background color
Header Font ColorHeader text color
Header Font SizeHeader text size
Header Font BoldBold header text
Border ColorSeparator line color at category boundaries
Collapse by DefaultStart with all swimlane groups collapsed
Show Task CountAppend task count to the header label

Typography → Table Header (text style)

Font family, size, bold, italic, and color for grid column header row labels.

Typography → Table Body (text style)

Font family, size, bold, italic, and color for regular (leaf) task rows in the grid.

Typography → Summary Rows (text style)

Font family, size, bold, italic, and color for summary task rows in the grid.

Timeline Scale — Header (text style)

Font family, size, bold, italic, and color for timeline header labels (year/quarter/month/etc.).

Tooltip (text style)

Font family, size, bold, italic, and color for hover tooltip content.


7. Keyboard and Mouse Controls

ActionEffect
Click task bar or grid rowSelect task (highlights bar and row)
Ctrl + ClickAdd to / remove from multi-selection
Click empty chart areaClear selection
Right-click taskOpen Power BI context menu (cross-filter, drill-through)
Arrow Up / DownMove selection to previous/next visible task
Arrow Left / RightScroll timeline left/right
Ctrl + Mouse WheelZoom timeline in/out (pointer-centered)
Drag column border (grid header)Resize that grid column
Drag splitterResize grid/chart panel ratio
Scroll gridGantt area scrolls vertically in sync
Scroll GanttGrid scrolls vertically in sync
Zoom to Fit buttonFit all task date range in viewport width
Scroll to Today buttonJump timeline to today’s date
Zoom to Selection buttonZoom timeline to selected task’s date range

8. Performance Tips

  • Data limit: ProGantt Pro supports up to 30,000 rows (the Power BI data reduction limit). The Free tier is limited to rendering a maximum of 1,000 tasks.
  • Large-data mode: Activates automatically when >4,000 tasks or >8,000 dependency edges are present. In large-data mode, dependency rendering detail is reduced.
  • Virtual scrolling: Only rows within the visible viewport are rendered in the DOM. Scrolling is smooth even with thousands of rows.
  • Cached model: The data model is re-parsed only when the data or field binding changes, not on every visual update.
  • Dependency performance: For reports with >1,000 dependencies, use Buffered render mode (Format panel → Dependencies → Render Range) to limit rendering to the visible rows plus a configurable buffer.
  • Bar patterns: SVG patterns are registered once during construction and reused — they do not add rendering time per row.

9. Troubleshooting and FAQ

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.