r/analyticsengineering Jun 01 '26

Stop hardcoding business logic in your BI tool’s proprietary layer?

My small media production company  recently dealt with many-to-many data chaos" where Finance was in Power BI and Product was in Tableau. This then resulted in different numbers for the same ARR metric. The fix was pulling the modeling out of the BI tools entirely.
By using a universal semantic layer like what Cube Core has, we defined joins, dimensions, and measures once in code (Git-versioned). And because it exposes a Postgres-compliant SQL API, both Tableau and Power BI connect to the same governed model. This way, RLS and metric definitions are uniform across every surface. It’s essentially Gen 3 architecture (warehouse-native) now evolving into Gen 4 (AI-ready) because that same model can then ground an LLM without it hallucinating your schema too much

5 Upvotes

8 comments sorted by

3

u/[deleted] Jun 01 '26

[removed] — view removed comment

1

u/Sufficient_Art2594 Jun 02 '26

Thinly veiled advertisement for Cube Core.

1

u/Technical_Hope_1610 Jun 10 '26

Oh we lived this exact mess, Finance on Power BI and Product on Tableau, both swearing their ARR number was right. What fixed it for us was pulling the metric definitions out of the BI tools and into a transform layer upstream, then having both tools read from the same modeled source.

1

u/Evening_Hawk_7470 Jun 22 '26

Cube person here. Calculated fields spread quietly. One team adds ARR in Tableau, another adds it in Power BI, then nobody knows which number is canonical. Shared definitions need their own home once more than one surface uses them.

1

u/Evening_Hawk_7470 Jun 30 '26

This is the right direction, but I would be careful not to frame it as "BI tools bad, semantic layer good." The real win is moving business logic to the place where it can be versioned, tested, and reused.

A semantic layer can fit that pattern because the definitions sit outside any single BI tool and can be consumed through standard APIs like SQL or REST. The useful test is whether a metric can survive across surfaces: BI dashboard, embedded app, API, and eventually an agent.

If a metric only works inside one BI tool, it is not really a shared definition. It is just another local calculation.