Business CentralMicrosoft FabricPower BIStrategy

The end of the visual hack

SD

Shauna Duffy

Director of Professional Services

July 2026·4 min read
The end of the visual hack

The clever workarounds that bent Power BI into shape are on their way out. That is a relief, and also a quiet warning.

Years of SVG, HTML measures and awkward workarounds existed to bend Power BI into shapes it resisted. Writing visuals in code removes the hacks, and with them a set of limits that were quietly keeping you safe.

For more on this, see our data strategy and leadership work. It is also worth reading alongside Microsoft Fabric vs Azure Synapse: What UK Mid-Market Teams Need to Know if the topic is new to you.

Anyone who has built reports for a living knows the move. The requirement needs a chart that Power BI does not offer, or a layout the canvas will not allow, so you reach for a measure that returns an SVG string, or an HTML content visual, or a stack of bookmarks and overlapping objects held together with hope. It works. It also takes hours, breaks when someone resizes the page, and cannot be maintained by anyone who did not build it.

Code-first reporting in Fabric makes most of these hacks unnecessary. If you can specify a visual properly, you do not need to smuggle it in through a measure. That is a clear gain. It is also worth being honest about what the hacks were really doing.

Why we hacked in the first place.

The hacks existed because Power BI said no. The tool has a fixed set of visuals and a rendering engine with edges, and the moment a requirement pushed past those edges, the only way through was to trick the tool into doing something it was not designed for. We got good at it because we had to.

The cost was always the same. Fragility, because the workaround depended on behaviour the platform never promised. Maintenance, because the cleverness lived in one person's head. And distorted models, because some of these hacks pushed odd patterns back into the DAX and the semantic model just to make a visual behave.

What code changes.

When you build visuals in code, you stop fighting the tool. You want a bespoke chart, you write the specification for a bespoke chart. There is no trick, because there is no constraint to trick your way around. The convoluted configurations, the SVG measures, the layout gymnastics: most of them simply stop being necessary, and the logic that used to contort your model can move out of it.

The hack was never the skill. Restraint was the skill. That has not changed.

That is a healthier place to be. The visual is described where it belongs, in the reporting layer, rather than disguised as data logic.

What you lose.

Here is the part the celebration skips. The hacks were painful, and that pain was also a brake. Every workaround cost you enough that you had to ask whether the requirement was worth it. When nothing stops you, nothing stops you. Full control of the canvas removes the friction that used to force a conversation about whether a chart should exist at all.

The result, if you are not careful, is over-design. More custom visuals than anyone needs, each slightly different, each a small maintenance liability, none of them making the decision any clearer. The constraint was annoying, but it kept reports simple by default. Take it away and simplicity becomes a choice you have to make on purpose.

Good visuals were never about the hack.

The best reports we have built were never the most clever ones. They were the ones that showed the right thing plainly and let the reader act. A bespoke chart earns its place when it makes a decision easier, not when it shows off what the tool can now do. That principle does not change when the tool stops saying no. If anything it matters more, because the guardrail is gone.

The handover test.

Here is a simple way to tell a healthy visual from a hack you will regret. Imagine the person who built it leaves, and someone new has to change it next year. With a clean, well-specified visual, they can read what it does and adjust it. With a hack, they open a measure full of concatenated SVG strings, or a stack of overlapping objects keyed to bookmarks, and they quietly decide to rebuild it from scratch rather than risk touching it. Anything that fails the handover test is a liability, however clever it looked the day it shipped.

Code-first reporting passes this test more often, because the intent is written down rather than disguised. But only if someone can read it. A bespoke visual built by an agent and never reviewed fails the handover test just as badly as the worst SVG measure, for the same reason: the knowledge is not where the next person can reach it.

What we would do this quarter.

Find your most hacked report, the one with the SVG measures and the overlapping objects that you dread editing. Ask one question of it: does this need the hack, or does it need a rethink? Sometimes code will let you build the same thing cleanly. Often you will find the requirement never justified the complexity in the first place, and the honest answer is to simplify.

If any of this sounds familiar, talk to us about your data.

Related reading

SD

Shauna Duffy

Director of Professional Services

Part of the Hopton Analytics team, delivering governed analytics programmes for UK mid-market organisations.

FAQs

Frequently asked questions

Get started

Ready to put this into practice?

Reading about better analytics is a start. Working with us is how it happens.

Book a free audit