Consulting Work About Book Writing Contact

The Narrative Engine Is Now a Single Power BI Visual

The first version proved the idea. A light layer sitting inside Power BI, pulling KPIs from the model, sending them through an API to an AI engine, and returning a polished narrative straight into the report. The output was good. The case for it was obvious. But I wanted to take it further.

The constraint worth solving

Some of the places a report ends up, like embedded dashboards or readers opening a report without a Power BI licence, quietly limited where that first version could go. I wanted the narrative to work everywhere the report works, with no exceptions. So I rebuilt how it is packaged.

How the second version works

It is now a fully custom Power BI visual. From the outside it looks like a tidy text box, sitting naturally on the report canvas. Inside it is the entire narrative engine, contained within the visual's own code. Nothing is bolted on, and nothing has to be managed separately.

When the report loads, the visual reads the KPIs and measures already defined in the model, the values produced by the heavy calculations at the data layer, the numbers the business already trusts. It bundles those with a precise brief: what to write, for whom, in what tone, with what focus. The brief goes through an API to the AI engine, and the response comes back as a finished narrative, rendered inside the visual.

Change a filter, whether a different region, period, or segment, and the visual responds. The narrative rewrites itself to match the new context. Same report, same visual, a new story in seconds.

Why packaging it this way matters

It runs in Power BI Desktop. It runs in the Service. And it can be embedded anywhere: a client portal, a third-party platform, a customer-facing dashboard. Wherever the report lives, the narrative travels with it, and it works for the reader whether or not they hold a Power BI licence.

That last part matters more than it first sounds. Most organisations have far more report consumers than licence holders. Dashboards get embedded in portals, shared by link, surfaced inside other systems. The people reading those reports are very often the ones who most need a plain-language explanation of what the numbers mean, and now they get one, by default.

What deliberately stayed the same

The principle underneath has not moved. The AI invents nothing. It reads what is already in the model, the measures, the comparisons, the logic carefully built at the data layer, and writes from that. The quality of the narrative is a direct reflection of the quality of the foundation beneath it. A well-built model already contains the story; this is simply a sturdier, more portable way of letting it speak.

Where this leaves things

The Smart Narrative is no longer a proof of concept. It is a production-ready visual, custom-built, self-contained, and deployable across the environments where real reporting actually happens. The gap between the numbers and the people who have to act on them is not fully closed, but it is a good deal shorter than it was.

If you are sitting on a well-built data foundation and still bridging that gap by hand, that is exactly the kind of problem I like working on. Get in touch and tell me where the numbers are getting stuck.

← All writing