Open PowerShell and run:
cd "c:\Users\marce\Downloads\PBIP File\Sales Dashboard.SemanticModel"
python tmdl_parser.pyYou should see output like:
Parsing TMDL files from: ...\definition\tables
Total measures found: 56
...
✓ Exported data to: measures_data.json
Simply double-click index.html in File Explorer
python -m http.server 8080Then open: http://localhost:8080/index.html
Try these actions:
- Click any measure node to see its details
- Double-click to highlight dependencies
- Search for "Total Sales"
- Filter by "Fact_Sales" table
- Export as PNG
| Feature | How to Use |
|---|---|
| View measure details | Single click on a node |
| Highlight dependencies | Double click on a node |
| Search | Type in search box |
| Filter by table | Use table dropdown |
| Zoom | Mouse wheel or navigation buttons |
| Pan | Click and drag background |
| Export diagram | Click "Export PNG" button |
| Reset view | Click "Reset View" button |
In your TMDL files, measures are defined like this:
measure 'Total Sales' =
SUM ( Fact_Sales[AmountSales] )When one measure references another measure using [MeasureName]:
measure 'Sales Full LM' =
VAR _MinDate = [MinDate LM] <- Dependency
VAR _MaxDate = [MaxDate LM] <- Dependency
RETURN
CALCULATE([Total Sales], ...) <- Dependency
The arrows in the graph show these dependencies.
💡 Finding circular references: Look for loops in the graph
💡 Complex measures: Measures with many dependencies appear with more connections
💡 Isolated measures: Measures with no connections don't depend on others
💡 Performance: If slow, filter by table first
❌ "Failed to load measures data"
- Make sure you ran
tmdl_parser.pyfirst - Check that
measures_data.jsonexists
❌ Graph is empty
- Refresh the browser (F5)
- Check browser console (F12) for errors
❌ Python script fails
- Verify Python is installed:
python --version - Check you're in the correct directory
- Analyze which measures are most connected
- Identify opportunities to simplify dependencies
- Document complex measure chains
- Share the visualization with your team
Need help? Check README.md for detailed documentation.