Analysis Mode for Power BI

Architecture

Analysis Mode for Power BI replicates Business Central's data analysis mode (pivot mode) on top of a Power BI semantic model: the model's field list, the Row Groups, Column Labels and Values buckets, subtotals at every level, and per-user analysis tabs. The page runs inside Business Central; the data stays in Power BI.

The core principle: zero client-side aggregation

Every number you see — detail cells, subtotals, the Total column, the grand total — is calculated by the Power BI semantic model itself and returned as its own row. Business Central and the browser never add, average or otherwise compute a measure value; they only place returned values into the grid.

This matters for non-additive measures. Ratios, distinct counts, time-intelligence measures and anything with a custom filter context return the same figure here as in Power BI, because it is the figure from Power BI. Summing detail rows on the client would produce different — and wrong — subtotals for exactly those measures.

Architecture at a glance

One round trip per layout change. Expanding and collapsing rows filters data that has already arrived.

Where each part runs

No navida service takes part at runtime. Your queries and your data travel directly between your browser and your Power BI tenant. navida operates exactly two things: the Microsoft Entra application you sign in with, and the key vault holding its credential — both used for authentication only, never for data.

navida authentication only — no data, no runtime service

Entra application

Multi-tenant registration · you grant admin consent once

Azure Key Vault

Holds the application credential · never leaves navida

↕  sign-in only  ·  no business data crosses this line  ↕

Your Microsoft 365 tenant everything below runs entirely inside it

Analysis designer

Business Central page hosting the add-in

Model catalog

Which semantic models are available

Saved analyses

Per user, stored in Business Central tables

↓ builds and sends DAX from the browser

Power BI semantic model

Your workspace · evaluates every value, applies row-level security

↓ returns detail rows, subtotals and totals

Pivot grid in the browser

Expand, collapse, sort and window over the returned rows

Sign-in and permissions

Delegated throughout: every query runs as the signed-in Business Central user.

1
An administrator grants consent once for the tenant. After that, users sign in silently — the app reuses the Microsoft session they already have.
2
The access token carries the user's own identity. Row-level security applies per person, and users only ever see models they have access to in Power BI.
3
Power BI's audit log and its rate limit of 120 queries per minute apply per user, exactly as they would if the user queried the model directly.
4
Each user additionally needs Read and Build permission on the semantic model. Without them, Power BI refuses the query. The app does not extend a user's access.
Using your own Entra app registration instead of navida's is supported; see Install.

How a pivot is built

One query per layout change, with all levels evaluated by the model.

1
The field list is read live from the model, so tables, display folders, columns and measures always match the current model definition.
2
Your layout is translated into a single grouping query that asks for detail rows and every subtotal, the Total column and the grand total in one go.
3
Columns with a sort-by column in the model group by that order, so months appear in calendar order rather than alphabetically.
4
Expanding and collapsing rows re-filters rows that already arrived. Only a change to the layout itself triggers a new query.

Large models

Queries are sized against Power BI's documented limits before they are sent.

1
The app budgets rows per query so that results stay within Power BI's limits, and prioritises totals so they survive truncation.
2
If a result would still be too large, the deepest row level switches to load-on-expand rather than returning a partial result.
3
The grid shows 500 rows at a time with Show more, and the summary bar reports the true total row count from the model.
4
Queries are debounced, and only the most recent one is kept in flight.

Number formats

Figures are formatted the way the model defines them, where the platform allows it.

1
On Fabric or Premium capacity the app can read the model definition and cache its format strings, so currency, percentages and decimals match Power BI.
2
On Pro workspaces that API does not exist. The app records this once and formats by data type instead — expected behaviour, not an error.
3
Administrators can override any format manually. Manual entries win and survive every refresh.

Next step

Install Analysis Mode for Power BI and connect a semantic model.