Power BI Custom Visual — v1.0.0.5

PBI Lineage Explorer
(Native Table Edition)

Visualise your entire Power BI data lineage — Dataflows, Datasets, Reports — in one interactive topological graph. No DAX required.

Native Table Input
Cross-Workspace Lineage
Refresh Status Tracking
Scroll to explore
Visual Layout
See the lineage at a glance

Nodes are automatically arranged left-to-right by dependency depth. Edges use smooth S-curves with directional arrows showing data flow direction.

Dataflows
Dataflow
Sales DF
Dataflow
HR DF
Dataflow
Finance DF
Datasets
Dataset
Sales Model
Dataset
HR Model
Dataset
Finance Model
Reports
Report
Sales Dashboard
Report
HR Overview
Report
Exec Summary
Report
Finance Report

Capabilities
Everything you need to understand your data lineage

All features are built into the visual — no external services, scripts, or APIs needed at runtime.

🗺️
Topological Stage Layout
Nodes are automatically ranked and placed in columns by their dependency depth, giving you an instant visual understanding of your pipeline stages.
🔗
S-Curve Edges with Direction
Dependencies are drawn as smooth Bezier S-curves with directional arrows, making it easy to trace data flow from source to destination.
🔍
Click-to-Highlight Lineage
Click any node to instantly highlight its full upstream and downstream dependencies. Everything else fades out for laser-focused analysis.
📋
Right Panel – Lineage List
Selecting a node opens a detailed panel listing all upstream and downstream items, with direct/indirect indicators and workspace labels.
Impact Analysis Bar
An impact bar shows you exactly how many datasets and reports depend on a selected node. Know the blast radius before you make a change.
🕐
Refresh Status Badges
Each node can display a Success, Failed, or In Progress refresh badge with a relative timestamp (e.g. "2h ago"), colour-coded for at-a-glance status.
🏢
Workspace Filters + Legend
Filter by one or more workspaces using the multi-select panel. Each workspace gets a unique colour, shown in the legend and on every node card.
📊
Report & Dataflow Filters
Search and filter to focus only on the Dataflows or Reports you care about. The graph re-renders instantly showing only the relevant lineage paths.
💀
Failed-Only Filter
One click to hide all successful nodes and surface only failed refreshes. Perfect for rapid incident triage across your entire tenant.
📐
Stage Collapse
Collapse any pipeline stage column to declutter the view and focus on the remaining stages. Collapsed stages remain labelled for context.
🔭
Normal / Compact Toggle
Switch between a full card view (with metadata) and a compact view for very large graphs with hundreds of nodes.
🕰️
Timezone Toggle
Switch between your local timezone and UTC with a single click. The timezone label (UTC+5:30 or UTC) is shown directly inside every refresh timestamp so you always know which time is being displayed. Timestamps in the source data are expected in UTC.
🔎
Search with Lineage Filter
Search collapses the graph to matching nodes plus their full upstream and downstream lineage. Use / buttons to jump between exact matches with a 1 / 3 counter. Press Ctrl+F to focus search.
📊
Dynamic Summary Bar
Total, Success, Failed, and In Progress counts update live whenever any filter is applied — workspace, dataflow, report, search, or failed-only. Shows 180 (617) format so you always see both filtered and global counts at a glance.
Drag-to-Pan
Click and drag on any empty area of the canvas to scroll the graph in any direction. Card interactions are unaffected — dragging only pans the view.
🔬
Zoom Controls
Use the / + toolbar buttons (20%–200%) or Ctrl+Scroll to zoom the entire graph. A reset button instantly restores 100% zoom and scroll position.

Node Types
Three types of Power BI artefacts

The visual understands and distinguishes three types of Power BI items, each colour coded consistently throughout the entire UI.

Dataflow
Gen1 or Gen2 Power BI Dataflows. Appears in the leftmost stage.
Dataset / Semantic Model
Power BI Datasets (Semantic Models). Middle stage, downstream from Dataflows.
Report
Power BI Reports. Rightmost stage, downstream from Datasets.

Refresh Status
Know the health of every artefact instantly

Supply refresh status data from your Refresh History API call, and the visual will display colour-coded badges on every node card.

Success
Value: success
Failed
Value: failed
In Progress
Value: progress
No Data
Leave column blank

Data Model
One flat table, 14 columns

Each row in the table represents a single lineage connection between an upstream (source) and downstream (target) artefact. No DAX or JSON required.

📋 Lineage Table Schema
Column Type Required Description
sourceId Text Required Unique ID for the upstream node
sourceName Text Required Display name of the upstream item
sourceType Text Required One of: Dataflow, Dataset, Report
sourceWs Text Required Workspace display name for the upstream item
sourceStatus Text Optional success, failed, or progress
sourceTime DateTime Optional Last refresh timestamp for the upstream item
sourceUrl Text Optional Direct URL link to item in Power BI Service
targetId Text Required Unique ID for the downstream node
targetName Text Required Display name of the downstream item
targetType Text Required One of: Dataflow, Dataset, Report
targetWs Text Required Workspace display name for the downstream item
targetStatus Text Optional success, failed, or progress
targetTime DateTime Optional Last refresh timestamp for the downstream item
targetUrl Text Optional Direct URL link to item in Power BI Service

Setup
Get up and running in 4 steps

No complex DAX measures or JSON exports — just a flat table and field well mappings.

1

Import the visual One-time

Download the latest .pbiviz file from the GitHub releases page. In Power BI Desktop: Insert → More visuals → Import from file.

2

Prepare your flat table

Use Power Query to call the Power BI REST API and build a Nodes table and Edges table, then Merge them on NodeId to create a single flat lineage table. Or use Enter Data with sample rows for testing.

3

Map the field wells

Add the visual to your report canvas. Drag your table columns into the 14 field wells — sourceId, sourceName, sourceType, sourceWs and their target equivalents.

4

Explore your lineage

The visual renders automatically. Use the Workspace, Dataflow, and Report filters to drill down. Click any node to trace its full upstream/downstream lineage and see the impact bar.


What's New — Native Table vs. Old JSON Edition
Why we upgraded the data model

The old edition required complex DAX measures that generated JSON strings. The new native table edition eliminates all of that complexity.

❌ Old — JSON Measure Edition
  • ⚠️Required complex TOJSON / CONCATENATEX DAX measures
  • ⚠️JSON string had to be manually constructed in DAX
  • ⚠️Special character escaping issues (& etc.)
  • ⚠️Very difficult to debug when something went wrong
  • ⚠️Hard to add new fields or properties
  • ⚠️Limited to what fit in the DAX measure output size
✅ New — Native Table Edition
  • 🚀Direct table binding — just drag and drop columns
  • 🚀Zero DAX measures required
  • 🚀Handles special characters natively
  • 🚀Easy to debug — just look at the table in Power BI
  • 🚀Can handle up to 30,000 rows via dataReductionAlgorithm
  • 🚀Fully future-proof — add new columns without changing DAX

Navigation
Keyboard & Mouse Shortcuts

Built-in shortcuts to navigate and interact with large graphs without reaching for the scrollbar.

⌨️ Shortcuts Reference
Input Action
Ctrl+F Focus the node search box
/ buttons Jump to previous / next search match (wraps around)
Esc Clear selection, search, and failed-only filter
Click + Drag (canvas) Pan the graph in any direction
Ctrl+Scroll Zoom in / out on the graph
/ + buttons Step zoom out / in (20% steps, range 20%–200%)
Reset button Restore 100% zoom and scroll position to origin

Ready to explore your lineage?

Download the visual and start mapping your Power BI ecosystem in minutes.