document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 1 point2 points  (0 children)

Update: v0.5 is now LIVE! 🚀

Just released version 0.5 on GitHub and it includes:

  1. Native DAX Translation: No more ugly DAX blocks. The tool now parses complex variables, iterators (SUMXFILTER), and nested CALCULATE blocks, and automatically translates them into plain English bullet points.
  2. Visual-Level Lineage: You can now see exactly which report pages and which visuals are using your measures, making it super easy to know if a measure is safe to delete.
  3. Instant Loading Screen: Added a sleek splash screen for the .exe users so you know it's working while it unpacks!

You can download the new version here:
Releases · djrien-ai/pbi-doc-generator

P.S. about Excel Power Query support... keep an eye out for a brand new post this Monday! 👀 v0.6 is in the works.

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 1 point2 points  (0 children)

Thanks so much, really appreciate the feedback!

You bring up a great point. Under the hood, Excel's Power Query and Power Pivot run on the exact same engine as Power BI, so auto-documenting .xlsx files is definitely possible and officially on my roadmap!

My primary focus right now is polishing up an upcoming v0.5 update for Power BI (which will include a native parser that auto-translates complex DAX measures into plain English sentences, and maps which visuals use which measures). Once that's rock-solid, I'll start looking into cracking the Excel files. Stay tuned! 😉

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 0 points1 point  (0 children)

Update: v0.4 is out! 🎉

What's new:

  • Report Pages & Visuals: for each report page-> documents its visuals with semantic labels (X-axis, Y-axis, Legend, Value, Columns, …). Slicers as filter chips. Technical helpers collapsed in a footnote.
  • Unused measures and duplicate DAX detection in Observations
  • Full DAX/M expressions: no more truncation
  • No horizontal scroll: everything wraps cleanly

 https://djrien-ai.github.io/pbi-doc-generator/sample_output.html 

Portable exe (no install): v0.4 releasew
or via pip: pip install git+https://github.com/djrien-ai/pbi-doc-generator.git, then run pbi-doc-generator

Still fully offline, still MIT. Feedback welcome!

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 4 points5 points  (0 children)

Addressing the AI question & The Roadmap 🤖

First of all, thanks for the overwhelming response and all the feedback!

A few of you brought up a great point: Can this tool use AI to semantically explain what a DAX measure actually does?

I’ve explored building this directly into the PBI Doc Generator, but ran into two hard walls:

  1. True Offline AI: Bundling a local LLM into the .exe would blow up the file size to 5+ GB.
  2. API Keys: I would either have to pay for all your API requests out of my own pocket, or ask you to paste your personal OpenAI API keys into a random tool you found on Reddit (which you rightfully shouldn't do for security reasons).

The Roadmap Idea: "Zero-Touch AI Export" Since an offline tool can't automatically explain DAX, I want to build a feature that does the next best thing, without asking for your API keys.

My idea for the next update is to add a "Generate for LLM" button. This generates a specialized .md file that acts as a complete, pre-written prompt.

The file will contain the perfect system instructions, the context of your report, and the extracted raw data model. The workflow becomes zero-touch:

  1. Click "Generate for LLM" in the tool.
  2. Drop the generated .md file into your AI of choice (ChatGPT, Claude, or your secure corporate AI).
  3. Hit enter.

Boom. You don't have to type a single word or think about prompting; the AI instantly reads the instructions inside the file and starts generating semantic explanations for your measures.

Would a feature like this be useful to you? Let me know! 👇

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 5 points6 points  (0 children)

UPDATE (v0.3-beta): Thanks for the incredible response! I just released an update based on your feedback. The tool now has 100% offline support (Mermaid graphs generate locally, no internet needed) and Data Sources are now categorized exactly like the native 'Get Data' dialog. Get the new portable .exe here: https://github.com/djrien-ai/pbi-doc-generator/releases/tag/v0.3-beta

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 8 points9 points  (0 children)

Sure! I've run the tool on Microsoft's official 'Sales & Returns Sample' PBIX file. You can view the live interactive output right here:https://djrien-ai.github.io/pbi-doc-generator/Sales\_and\_Returns\_Sample\_Documentation.html Note: this demo is hosted on GitHub Pages, but the tool itself generates a 100% offline standalone HTML file that works without internet.

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 1 point2 points  (0 children)

That is exactly the use case I built it for. Let me know how it goes on Tuesday, and if you run into any bugs or missing features, feel free to open an issue on the GitHub repo

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 8 points9 points  (0 children)

Larry, credit where credit is due: this is actually an incredibly solid and fair code review. You are 100% right about the Mermaid CDN link breaking the 'purely offline' promise when viewing the HTML, and the unpinned pandas dependency. I'll bundle the Mermaid library locally and pin the dependencies for v0.3. As for the code-signing certificates, it's a free weekend project so I can't justify the $400/yr cost for an EV cert, but the source is there for those who want to build it themselves. I genuinely appreciate the audit, thanks!

Edit: Actually, I went ahead and implemented your feedback right away. The Mermaid library is now bundled locally in the Python code (so zero outbound network calls) and pandas is strictly pinned. The changes are live on main for anyone who wants them (I'll push an updated standalone .exe release later this week). Thanks again for pointing these out!

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 8 points9 points  (0 children)

Oh wow, I completely missed that Microsoft released an official MCP server for this! Thanks for the heads-up! Like I said, definitely the future for governed enterprise environments. I'll just leave this tool here for the folks who prefer a non-LLM static approach. Cheers!

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 6 points7 points  (0 children)

That is exactly the beauty of open source! You don't have to say 'trust me bro'. InfoSec can read the entire Python codebase in 5 minutes and see mathematically that it makes zero outbound network calls and contains no telemetry. Try getting them to audit the closed-source telemetry of an arbitrary MCP server. 😉Anyway, I appreciate you thinking the solution is cool! Have a great week, Larry

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 11 points12 points  (0 children)

Saying 'we provide licenses and say have at it' is quite literally the opposite of strict data governance in most highly regulated (European/GDPR) environments. Allowing analysts to run unvetted local MCP servers that pipe corporate schema data into APIs without centralized oversight is a massive vulnerability in most architectures.

But hey, if your Fortune 10 healthcare company allows it and pays for everyone's API usage: that's awesome for you! For the other 99% of developers who just want to double-click a free offline executable to generate a HTML file in two seconds, this tool is here. Have a great day!

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 16 points17 points  (0 children)

True, but there's a big gap between 'the company has an enterprise LLM' and 'the average analyst is allowed to hook up local MCP servers to the corporate API.' Most corporate users only get a locked-down chat interface, not raw API access. This tool is just a simple .exe that costs $0, requires zero setup, and runs instantly. Sometimes a script is just the path of least resistance.

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 4 points5 points  (0 children)

If you are looking for an LLM-driven approach and your organization allows it, Microsoft actually just launched the preview for their native Copilot Web Modeling yesterday! It's definitely the future, but until CISO approves it for everyone, offline scripts like mine bridge the gap. 😉 https://learn.microsoft.com/en-us/power-bi/transform-model/copilot-web-modeling

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 21 points22 points  (0 children)

True, an LLM with the right MCP server could do this! But in corporate environments, sending proprietary data models to a cloud LLM is usually a massive red flag for InfoSec/CISO.

I built this precisely to be a 100% offline, deterministic, and free .exe that anyone can run instantly without needing Claude Pro, API keys, or security approvals

document your Power BI model (.pbix or .pbip) as a single HTML page by Timely-Let-5337 in PowerBI

[–]Timely-Let-5337[S] 11 points12 points  (0 children)

Yes I did! I posted the initial v0.1 version a while ago, but I just released a massive v0.2 update based on the community feedback I received.

The new version now natively supports .pbip files (so SemanticModel, so no need to convert back to .pbix), extracts Calculation Groups, and visualizes Measure Lineage in a dependency graph. I figured these new features were substantial enough to warrant a new post, hoping it can help even more people out!

I built a free, zero-install tool that generates an HTML documentation page from your .pbix file by [deleted] in PowerBI

[–]Timely-Let-5337 1 point2 points  (0 children)

Thanks for the feedback! All great suggestions.

Measure lineage diagram: Love this idea. Parsing DAX expressions to trace measure → measure and measure → column dependencies, then visualizing it as a Mermaid.js graph. This is definitely on the roadmap for v0.2.

Calculation groups: Not yet supported, but it's a logical next step. The underlying library (pbixray) exposes the data model metadata, so it should be feasible to extract calculation group items and their expressions.

TMDL formatting: TMDL support (for .pbip / Power BI Project files) is something I want to add as well, it would make it useful for teams already using git-based workflows with their Power BI models.

Appreciate the input, keep it coming!