Semantic Link Labs: The Data Detective’s Toolkit

Description

Every data detective needs the right toolkit—and Semantic Link Labs delivers. In this demo-heavy session, you’ll see it link Power BI datasets with Python notebooks for deeper diagnostics. Learn to trace relationships, uncover hidden dependencies, validate measures, and resolve issues that impact report quality, performance, and reliability. Get patterns for monitoring, validating, and correcting.

Key Takeaways

My Notes

Action Items

Slides

📥 Download Slides

Semantic Link Labs:
The Data Detective’s Toolkit
Jason Romans
Jason
Romans
Cloud Data & Integration Developer
The DAX Shepherd
Nashville, TN, USA
Began Career as a SQL Server DBA
Transitioned to Microsoft BI Stack
@sql_jar
jason-r-sql-jar
Data Engineering to Data Modeling
https://thedaxshepherd.com/
DataTune Nashville
DOWNLOAD THIS PRESENTATION
All slides, resources, and demo files available:
The DAX Shepherd
www.thedaxshepherd.com/presentations
[Screenshot: Blog homepage
showing 'Presentations' navigation]
Standing on the Shoulders of Giants
This Photo
CC BY-ND
This Photo by Unknown Author is licensed under CC BY-ND
Grateful for the people who share their knowledge, encourage us,
answer questions, and help the rest of us learn faster.
The Case for Semantic Link Labs
Why this matters and what Semantic Link Labs enables
OPEN THE CASE
CASE DEMOS
DETECTIVE AGENCY
CASE CLOSED
YOU ARE HERE
Sound Familiar?
"It was fine on Friday"
Why BI Teams Need Detectives
Too often, BI teams investigate only after something breaks.
▪ Model size creeps up
▪ Best practices drift over time
▪ Small changes leave a wide trail
▪ Performance issues appear before cause
Symptoms aren’t evidence — they’re just the first clue.
Monk Moment: "Something’s off"
That instinct is valuable when paired with evidence.
Use the detective habit:
▪ Notice the detail that doesn’t fit
▪ Follow the trail of dependencies
▪ Prove it with evidence
▪ Turn investigation into prevention
What You’ll Learn
By the end, you’ll be able to:
▪ Investigate model performance with evidence
▪ Trace dependencies and understand change impact
▪ Detect breakage and hygiene issues proactively
▪ Turn investigations into a reusable playbook
The Detective Method
Use this loop for every mystery you investigate.
Investigation loop:
▪ Symptom (what users feel)
▪ Evidence (what we can prove)
▪ Suspects (ranked likely causes)
▪ Fix (targeted action)
▪ Prevention (make it repeatable)
Detective’s Toolkit
SL
SLL
FN
Semantic Link
Semantic Link Labs
Fabric Notebook
Microsoft first-party library
Runs inside Fabric notebooks
Core: list tables, run DAX,
read metadata
Open source
Extends Semantic Link
BPA · VertiPaq · report
scanning
The runtime environment
Where detective
work happens
Python + Spark, pre-installed
libraries
Semantic Link Labs
Microsoft Fabric Semantic Link
List Tables
List
Workspaces
Semantic Link Labs
Recover Deleted
Lakehouse Objects
Best Practice Analyzer
List Models
Migrate to Direct Lake
List Reports
View Broken Reports
Manage Reports
Rebind Reports
Semantic Link + Semantic Link Labs
What this unlocks:





Inspect Fabric through code, not just the UI
Investigate assets and metadata systematically
Trace relationships and understand downstream impact
Catch problems earlier and reduce guesswork
Turn one-off investigations into repeatable practice
Semantic Link
Microsoft’s first-party Fabric Python library
▪ Runs only inside the Fabric runtime
▪ Foundation layer: import sempy.fabric as fabric
▪ Preinstalled in the default runtime

Update with %pip install -U semantic-link
▪ Extended by Semantic Link Labs
Semantic Link Labs
▪ Michael Kovalsky

aka “Kovalsky’s Laboratory”
▪ “Expansion Pack” — Kurt Buhler
▪ Built on Semantic Link

import sempy.fabric as fabric
▪ Open source on GitHub

Active Development
Installing in Microsoft Fabric
Update packages in a notebook cell
Semantic Link
Preinstalled in the Fabric runtime
%pip install -U semantic-link
Semantic Link Labs
Install separately when needed
%pip install –U semantic-link-labs
Follow the Evidence
Real demos that uncover what is happening in Fabric
OPEN THE CASE
CASE DEMOS
DETECTIVE AGENCY
CASE CLOSED
YOU ARE HERE
Case File: The Unidentified Model
Arrive at the scene. Catalog everything before you touch it.
VICTIM: A semantic model in a new Fabric workspace
SYMPTOMS:
• No programmatic inventory — structure is trapped in the UI
• Relationships exist in the model but not in the data — or vice versa
Case File: The Relationship Web
He sees connections others miss. So does find_relationships.
VICTIM: A semantic model with undetected relationship gaps
SYMPTOMS:
• Power BI shows only the relationships it was told about
• Data suggests more connections exist — but nobody modeled them
Case File: Running the Numbers
Your DAX knowledge is trapped in the desktop. Time to set it free.
VICTIM: DAX knowledge locked inside Power BI Desktop
SYMPTOMS:
• Can't query the model programmatically from a pipeline
• DAX results can't feed downstream Python or notebook logic
• No way to automate recurring DAX calculations
DEMO: The Detective’s Toolkit (Cases 1–3)
DEMO TIME
Let’s go investigating...
Case Board: Investigations 1–3
Cases closed. Evidence on record.
CASE 01
CASE 02
CASE 03
The Unidentified
Model
The Relationship
Web
Running the
Numbers
Case File: Something Doesn't Add Up
Every relationship has two sides. Not every key agrees.
VICTIM: Referential integrity violations hiding in your model
SYMPTOMS:
• Fact table keys that point to dimension values that don't exist
• Blank members appearing in slicers or visuals unexpectedly
• Aggregations silently drop rows with no error
Case File: The Evidence Isn’t Ready Yet
The witness statement exists. Monk knows it. But it’s not in the file.
VICTIM: A Delta table just written to OneLake
SYMPTOMS:
• Table confirmed written in the notebook
• Not visible in the SQL Analytics Endpoint
Case File: The Witness Vanished
The witness was there. Then they weren't.
VICTIM: A Delta table deleted from the Lakehouse
SYMPTOMS:
• Table confirmed visible in SQL Analytics Endpoint
• Then gone — query returns nothing
• No backup process, no pipeline to re-run
DEMO: The Detective’s Toolkit (Cases 4–6)
DEMO TIME
Let’s work the case......
Case Board: Investigations 4-6
Cases closed. Evidence on record.
CASE 04
CASE 05
CASE 06
Something Doesn't
Add Up
The Evidence Isn't
Ready Yet
The Witness Vanished
Case File: The Workspace-Wide Sweep
One detective can only cover so much ground.
VICTIM: An entire Fabric workspace — all semantic models
SYMPTOMS:
• BPA run on one model — what about the rest?
• Governance gaps accumulate silently across the workspace
• No historical trend data for model quality
DEMO: The Inspection (Best Practice Analyzer)
DEMO TIME
There’s only one way to know.........
Case File: The Report That Lied
The report is lying to you. I’m not sure how yet. But I will be.
VICTIM: A Power BI report connected to a semantic model
SYMPTOMS:
• Visuals reference fields that were renamed or removed
• Report-level measures live in the report instead of the semantic model
DEMO: The Report Is Lying (Report Analysis)
DEMO TIME
Let’s see what doesn’t add up............
Case File: The Profile
Start with the model:
Find out who’s taking up space before they become a problem.
VICTIM: The SF Case Files semantic model
SYMPTOMS:
• Memory usage is hidden behind the scenes
• Large tables and high-cardinality columns are hard to spot by eye
• Model bloat slows performance and makes optimization guesswork
DEMO: The Profile (VertiPaq Analyzer)
DEMO TIME
This deserves a closer look...
Build the Detective Agency
Monitoring, automation, and repeatable practices for the long haul
OPEN THE CASE
CASE DEMOS
DETECTIVE AGENCY
CASE CLOSED
YOU ARE HERE
From Detective to Detective Agency
Run Pre/Post
Change
Share &
Build Playbook
Your team runs
it without you
Catch regressions
before users do
Standard
Health Checks
BPA + VertiPaq