Semantic-layer architecture
Composite models, calculation groups, and shared datasets in Premium / Fabric capacity. Reports inherit from the model rather than each rebuilding the same logic. Documented model ownership and contribution governance.
Enterprise Platforms · ATLAS
Semantic-model-first Power BI architecture — composite models, RLS / OLS, calculation groups, and DAX optimization. Reports inherit from a governed semantic layer rather than competing for the same data through ad-hoc Power Query.
The problem
The familiar shape: a Power BI tenant with hundreds of workspaces; reports that each query the data warehouse independently with their own Power Query and DAX; conflicting truth across executive dashboards; performance issues that show up only at month-end; row-level security applied inconsistently across reports that share a data source; and DAX measures duplicated dozens of times with subtle variations. Per-report development is how Power BI estates accumulate technical debt.
We design Power BI estates the way enterprise data platforms are designed — with a governed semantic layer at the center, deployment pipelines that enforce model ownership, RLS / OLS that lives in the model rather than in individual reports, and a tenant-level governance frame that scales. The investment is real up front; the dividend is reports that don't break each other when the source schema evolves and a tenant that compounds analytical value rather than accruing report sprawl.
Where it ships
Specific applications we’ve built and operated. Not speculative — every example below is grounded in a real shipped engagement.
Composite models, calculation groups, and shared datasets in Premium / Fabric capacity. Reports inherit from the model rather than each rebuilding the same logic. Documented model ownership and contribution governance.
Audit and remediation of existing tenants. Workspace structure rationalization, dataset consolidation, RLS / OLS implementation, performance tuning, and the deprecation plan for legacy Excel-driven reporting.
Power BI Embedded into customer-facing applications with row-level security per tenant, custom theming aligned to product design, and a deployment pipeline that survives report iterations.
10x
report performance
Performance triage on slow reports. Storage engine vs formula engine analysis, calculation-group migration from sprawling measures, and aggregation tables for high-volume facts. Most engagements achieve 10x query-time reduction on the worst offenders.
Migration of existing Power BI estates onto Microsoft Fabric. Lakehouse / warehouse extraction, OneLake-based shared datasets, and the integration story across Synapse, Data Factory, and Real-Time Analytics.
How we engage
Each phase has a deliverable, an owner, and an acceptance criterion. Not slogans — operating rules.
Audit of existing Power BI tenant: workspace topology, dataset inventory, report duplication, RLS / OLS posture, performance hotspots, capacity utilization. Output is the prioritized remediation roadmap.
Composite model design, calculation-group strategy, RLS / OLS pattern, and the dataset ownership / contribution model. Documented model contracts that downstream reports consume.
Deployment pipelines (Dev → Test → Prod) for shared datasets and report packages. Tenant-level governance: workspace creation policy, certification process, sensitivity labels, and audit. Capacity utilization monitored.
Quarterly model evolution review, performance triage on incoming reports, and capacity-utilization optimization. The semantic layer compounds value when it has a continuous owner.
Capabilities
Stack
Selected work
Common questions
Per-report development is how Power BI estates accumulate technical debt. Each report owns its own Power Query and DAX, often duplicating logic that lives in other reports. Semantic-model-first development centralizes the data model, business logic, and security in a governed dataset; reports become thin views over that layer. The investment is real up front; the dividend is an estate that scales without breaking.
Depends on workload. Pro licenses work for small teams with simple data volumes. Premium Per User (PPU) is a cost-effective middle ground. Premium / Fabric capacity is warranted when you need shared datasets, deployment pipelines, larger model sizes, or paginated reports. We model the licensing and recommend the right tier with explicit cost projections.
Yes — DAX optimization is one of our most common engagements. Storage engine vs formula engine analysis, calculation-group migration, aggregation tables for high-volume facts, and Power Query optimization. We typically achieve 10x query-time reduction on the worst offenders within a 6–10 week engagement.
RLS at the model layer, not in individual reports. Identity integrated with Microsoft Entra ID (or USERPRINCIPALNAME-based dynamic RLS where the org's identity model warrants it). OLS for column-level sensitivity. Tested through dedicated test users; security validated as part of CI before deployment.
Yes — Fabric migrations are increasingly common as customers adopt OneLake and the unified analytics platform. We design the migration as a phased program: lakehouse extraction first, then dataset re-platforming, then report cutover. Most migrations land in 4–8 months with no analytical reporting downtime.
Tenant assessment: 2–4 weeks, $25K–$60K. Semantic-layer rebuild: 3–6 months, $200K–$700K. Power BI Embedded build: 2–4 months, $150K–$500K. DAX / performance optimization: 6–10 weeks, $80K–$200K. Fabric migration program: 6–12 months, $400K–$1.5M. Brackets published honestly so visitors self-qualify before the first call.
Within Enterprise Platforms
Talk to us
A senior engineer plus the ATLAS department lead joins the first call. No discovery gauntlet, no junior reps.