Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

ripbi is static analysis, linting, and tree-shaking for Power BI semantic models and DAX. Power BI models accumulate bloat — unused measures, orphaned columns, dead Power Query partitions — that Microsoft's TOM/XMLA tooling cannot detect because it is report-agnostic. ripbi ingests both model schemas and report visual bindings, then isolates dead code via graph reachability.

It works without opening the reports or the semantic model, so it runs in a terminal or headless CI/CD (GitHub Actions, Azure DevOps). It is cross-platform, with no dependency on Power BI Desktop.

Today it works on local PBIP projects — a TMDL semantic model plus PBIR reports; .pbix and .pbit files are not supported yet.

This book is built from main and may document changes that have not shipped in a release yet.

Start with installation and quickstart, then the scan command for everything ripbi scan can do — flags, output shapes, ripbi.toml, and exit codes. What counts as unused explains the liveness rules behind the findings.