Power BI Custom Visual Strategic Roadmaps Quarter-First Timeline

ProRoadmap User Guide

ProRoadmap is a strategic product roadmap visual for Power BI. It answers the executive question: what are we building, when, who owns it, and why does it matter? It is not a Gantt chart — there are no dependencies, no critical path, and no day-level scheduling. If you need those, use ProGantt instead.

Getting Started

Five steps from blank visual to a fully configured strategic roadmap.

1

Step 1: Bind the Three Required Fields

ProRoadmap needs Item Name, Start Date, and End Date before it renders anything. Set Start Date and End Date to the Date data type in your Power BI model first — not Text or DateTime. The visual shows a clear error message identifying exactly which field is missing.

2

Step 2: Add Item ID and Parent ID for Hierarchy

Binding Item ID and Parent ID activates the two-level Theme → Child hierarchy. Parent ID values in child rows must exactly match the Item ID of the intended parent — case-sensitive. Rows with no Parent ID that have children become Theme rows automatically.

3

Step 3: Bind Team / Area and Configure Status Rules

Binding Team / Area activates swimlanes and the legend (Pro). Binding Status makes the Status Rules card appear. Enter your status values exactly as they appear in your data — On Track, At Risk, Behind, Done, Planned — and pick a color for each. Bars recolor immediately.

4

Step 4: Set Up Category Appearance

With Team / Area bound and a Pro license, the Category Appearance card generates one group per team. Assign a bar color, row background, and milestone shape to each team. The color chain is: Status Rules → Color-by-Field → Category color → Default color. Status always wins.

5

Step 5: Tune the Timeline and Layout

Open Timeline Scale and adjust Unit width — this is the primary horizontal density control. Increase it for more breathing room; decrease it to show more quarters on screen. Set Top / Middle / Bottom scale to Year / Quarter / Month for the standard roadmap header.

Quick Reference

The rules that govern ProRoadmap behavior — bookmark this section.

Required fields

Item Name + Start Date + End Date

Date column type

Must be Date — not Text or DateTime

Milestone trigger

Start Date = End Date, OR Item Type = "milestone" or "release"

Hierarchy depth

2 levels only: Theme (depth 0) → Child (depth 1)

Parent ID matching

Case-sensitive exact match against Item ID

Color priority chain

Status Rules > Color-by-Field > Category > Default

Status rule matching

Case-sensitive exact match against Status field value

Free tier item limit

50 items — Pro removes the limit

Swimlanes requirement

Pro license + Team / Area bound

Category Appearance limit

Up to 32 Team / Area groups

Status rules: Free / Pro

4 rules (Free) / 8 rules (Pro)

Reversed dates

Auto-normalized — Start and End are swapped silently

Full Feature Reference

Every field, setting, and behavior — explained in plain language.

Required Fields Core
Item Name — The display label for each roadmap row. Shown in the Name Column and optionally as a bar label in the chart. Long names are truncated in bar labels but shown in full in the Name Column and tooltip.
Start Date — Left edge of the bar. Must be the Date data type in the Power BI model. If Start Date is later than End Date, ProRoadmap swaps them automatically — no crash.
End Date — Right edge of the bar. If End Date equals Start Date, the row is treated as a milestone regardless of Item Type.
Optional Fields Core
Item ID — Provides stable unique identity. Required for hierarchy (Parent ID references it) and for precise cross-filter selection IDs. Without it, hierarchy is unavailable and cross-filter uses a less reliable fallback.
Parent ID — Points to the Item ID of a parent item. Rows with a Parent ID become children (depth 1). Rows with no Parent ID that have at least one child become themes (depth 0). Circular references are ignored.
Team / Area — Drives swimlane grouping, Category Appearance, and the legend simultaneously. Values are case-sensitive — "Growth" and "growth" create two swimlanes. Sort order is configurable: As data, Alphabetical, or By start date.
Goal / OKR — Shown as a subtitle under item names in the Name Column when Show Goal / OKR is enabled. Only appears on regular item rows — not theme rows or swimlane headers. Keep text under 60 characters to avoid truncation at typical widths.
Status — Matched against Status Rules to determine bar color. The Status Rules card only appears when this field is bound. Matching is case-sensitive.
Item Type — Recognized values (case-insensitive): milestone, release, theme, epic, feature, initiative. Milestone and release trigger milestone rendering. Without this field, milestone detection falls back to date equality only.
Color Field — Value used for Color-by-Field rules — a secondary color system below Status Rules. Useful for coloring by business dimension (customer segment, platform, risk). Requires Color-by-Field to be enabled in Items & Bars.
% Complete — Accepts 0–1 (fractional) or 0–100 (percentage) — normalized automatically. Draws a progress fill inside the bar using the Progress color setting. Not shown on milestone markers.
Tooltip Fields — Any number of fields can be bound. All appear in the hover tooltip after the standard fields. Accepts text, number, date, and boolean types.
Item Rendering Core
Normal bars — Items with duration (Start ≠ End, not a milestone type) render as rounded rectangle bars. Bar height is controlled by Bar height ratio (20–100% of row height). Corner radius is independently configurable.
Theme ribbon bars — Root items with children render as thin horizontal ribbon bars spanning the full date range of their children. The ribbon start and end dates are the minimum start and maximum end across all visible children — not the theme's own dates.
Milestone markers — Triggered when Start = End, OR Item Type = "milestone", OR Item Type = "release" with equal dates. Rendered as a geometric shape: Diamond, Triangle, Circle, Star, or Flag. Size and label style are independently configurable.
The Color System Core
Color priority chain — Status Rules (highest) → Color-by-Field rules → Category (Team / Area) bar color → Default bar color (lowest). The first match in the chain wins. If an item matches a Status Rule, all lower-priority colors are ignored.
Status Rules — Up to 4 rules (Free) or 8 rules (Pro). Each rule has a value (case-sensitive text match against the Status field) and a color. Rules are evaluated in order; first match wins. Empty rule slots are skipped.
Color-by-Field — 8 configurable rules matching the Color Field value. Requires Color-by-Field to be enabled in Items & Bars. Only applies when no Status Rule matches. Useful for coloring by business dimension without replacing status health colors.
Category bar color — Set per Team / Area group in Category Appearance (Pro). Applies to all items in that team's swimlane. Overridden by Status and Color-by-Field rules when they match.
Theme bar color — Set independently in Items & Bars. Theme ribbon bars always use this color — they do not participate in the Status or Category color chain.
Milestone color — Set in Milestones & Releases. Subject to the color priority chain — a matching Status Rule overrides the global milestone color.
Swimlanes Pro
Swimlane headers — One header row per unique Team / Area value. Headers show the team name, optional item count ("6 items"), and optional date range (earliest start to latest end across all items in the lane).
Collapse / expand — Click the arrow on a swimlane header to collapse all items in that lane. The header remains visible. Expand to restore. Collapse by default starts all swimlanes in collapsed state — useful for top-level executive views.
Sort order — As data: first-appearance order in the source table. Alphabetical: sorted by lane name. By start date: lane with the earliest item start comes first.
Swimlanes and hierarchy — Items inside a swimlane follow their own hierarchy. A Theme and its children appear in the swimlane matching their Team / Area value. If a theme and its children have different Team / Area values, each item goes to its own swimlane.
Category Appearance Pro
Dynamic generation — ProRoadmap creates one settings group per unique Team / Area value, up to 32. Groups appear in the format pane under Category Appearance when Team / Area is bound and a Pro license is active.
Per-category settings — Bar color, row background color, font color, bold item text, and milestone shape. Each setting is independent. Milestone shape has an "Inherit global" option that defers to the global setting in Milestones & Releases.
Data change behavior — New Team / Area values get a new group with default (empty) settings. If a value disappears from data, its group is hidden but settings are preserved. If the value returns, its appearance settings come back.
Timeline Scale Core
Three-layer header — Top, Middle, Bottom rows independently show Year, Quarter, Month, or None. Default: Year / Quarter / Month. The three rows are fully independent — any combination is valid.
Unit width — Width in pixels of one timeline unit (one month if Bottom = Month, one quarter if Bottom = Quarter, etc.). Default: 64. This is the primary horizontal density control. Zoom via Ctrl + mouse wheel multiplies unit width by the zoom factor.
Domain expansion — ProRoadmap automatically expands the timeline domain to clean quarter boundaries. If data spans Jan 15 to Oct 20, the domain becomes Jan 1 to Dec 31 so quarter markers appear at exact boundaries.
Quarter markers — Thick vertical lines at Jan 1, Apr 1, Jul 1, Oct 1 of every year. They appear in both the timeline header and the chart area. This is ProRoadmap's defining visual signature — always leave this on.
Today line — Only appears when today falls within the timeline domain. If today is before the earliest item start or after the latest item end, the line is not shown.
Name Column Core
Item name display — Shows the Item Name field for each row. Theme rows show an expand/collapse arrow. Swimlane header rows show the team name spanning the full panel width.
Goal / OKR subtitle — When Show Goal / OKR is enabled and Goal / OKR is bound, a smaller second line appears under each item name with the goal text. Only on regular item rows.
Panel width — Default: 220 px. Can also be adjusted at runtime by dragging the splitter between the Name Column and the chart. The dragged width persists until the report is reloaded. Set Panel width in the format card for a persistent value.
Scroll sync — The Name Column and the chart always scroll vertically in sync. They cannot get out of alignment.
Navigation Core
Zoom — Ctrl + mouse wheel over the chart zooms in and out. The current zoom level is shown as a percentage badge in the bottom-right corner.
Fit button — Resets zoom to 100% and scrolls to the beginning of the timeline.
Today button — Scrolls the horizontal timeline to bring today's date into view. Has no effect if today is outside the timeline domain.
Splitter — The vertical divider between the Name Column and the chart is draggable. Drag left to give more space to the chart; drag right for longer item names.
Cross-Filtering & Selection Core
Single click — Selects the clicked item. Other visuals on the page filter or highlight to show related data.
Ctrl + click — Additive selection — multiple items can be selected simultaneously.
Click empty space — Clears the selection. All visuals return to their full unfiltered state.
Right-click — Opens the Power BI context menu (Drill through, Spotlight, etc.).
Selection accuracy — With Item ID bound, ProRoadmap builds precise selection IDs per row. Without Item ID, selection uses row-index fallback which is less reliable after data refreshes.
Theme row clicks — Clicking a theme row selects all its children simultaneously. Clicking a swimlane header does not trigger selection — swimlane headers are synthetic rows with no data row counterpart.

Configuration Playbooks

Step-by-step recipes for the most common ProRoadmap configurations.

First Roadmap in 5 Minutes

Zero to a working strategic roadmap

  1. 1. Import ProRoadmap from AppSource and add it to your report canvas.
  2. 2. Bind Item Name, Start Date (set to Date type), and End Date (set to Date type).
  3. 3. Resize the visual to fill most of the report page for readable bar widths.
  4. 4. Open Timeline Scale and set Top = Year, Middle = Quarter, Bottom = Month.
  5. 5. Turn on Show quarter markers and Show today line in Canvas & Behavior.

Status Health Dashboard

Color every bar by strategic health in one card

  1. 1. Bind a Status column containing values like "On Track", "At Risk", "Behind", "Done", "Planned".
  2. 2. Open the Status Rules card — it appears automatically when Status is bound.
  3. 3. Enter each status value exactly as it appears in your data (case-sensitive).
  4. 4. Pick colors: green for On Track, amber for At Risk, red for Behind, gray for Done, blue for Planned.
  5. 5. Check the chart — every bar recolors immediately. No DAX, no conditional formatting.

Executive Portfolio View

Multi-team roadmap with collapse-by-default

  1. 1. Bind Item ID, Parent ID, Team / Area, Status, Goal / OKR, and Item Type.
  2. 2. Configure Status Rules as above.
  3. 3. Open Swimlanes (Pro) and enable Show swimlanes. Set Collapse by default = On.
  4. 4. Open Name Column and enable Show Goal / OKR. Set Panel width to 260.
  5. 5. Configure Category Appearance: assign a bar color and row background per team.
  6. 6. Open Legend and enable Show legend at the top. Set the title to your field name.
  7. 7. During the review, expand one swimlane at a time.

Milestone-Focused Release Calendar

Surface key dates without hiding the context

  1. 1. Bind Item Type. Ensure release and milestone rows have Start Date = End Date.
  2. 2. Open Milestones & Releases. Set a distinct color and size 11 or larger.
  3. 3. Set Bar height ratio to 50 in Items & Bars — regular bars become visually thinner, milestones stay prominent.
  4. 4. Set Label content to Item Name. Milestone labels appear outside the marker automatically.
  5. 5. In Category Appearance, override milestone shapes per team for visual differentiation.

Still have questions?

Our support team is familiar with Power BI data models, roadmap structures, and license troubleshooting.

Contact Support