EPC Group configures Power BI reports inside Dynamics 365 model-driven apps so users see live analytics on the same screen as CRM records. We handle Power BI control configuration, row-level security, filter context, and capacity planning. No context switching. No separate BI tool login.
Key Facts
- 1,500+ Power BI deployments completed by EPC Group consultants.
- Power BI Fabric F-SKU capacities: F2 ($263/mo), F4 ($526/mo), F64 ($5,257/mo).
- Model-driven app embedding requires Power BI component in the form editor.
- Row-level security (RLS) applies even when reports are embedded — enforced at the model level.
- 29 years of Microsoft consulting. Microsoft Solutions Partner — core designations.
Embedded Power BI Reports in a Model-Driven App
Embed Power BI Reports in a Model-Driven App
EPC Group configures Power BI reports inside Dynamics 365 model-driven apps so users see live analytics on the same screen as CRM records. We handle Power BI control configuration, row-level security, filter context, and capacity planning. No context switching. No separate BI tool login.
Key facts
- 1,500+ Power BI deployments completed by EPC Group consultants.
- Power BI Fabric F-SKU capacities: F2 ($263/mo), F4 ($526/mo), F64 ($5,257/mo).
- Model-driven app embedding requires Power BI component in the form editor.
- Row-level security (RLS) applies even when reports are embedded — enforced at the model level.
- 29 years of Microsoft consulting. Microsoft Solutions Partner — core designations.
Why embed Power BI in model-driven apps?
Model-driven apps in Power Apps (and Dynamics 365) show records from Dataverse. Users work a record — an account, a case, a work order. They need analytics on that same record. Without embedded Power BI, they switch tabs or open a separate tool.
Embedded Power BI keeps the insight at the point of decision. Adoption rates improve. Data-driven actions happen faster. IT teams manage one fewer separate tool.
- Healthcare: patient outcome trends alongside clinical records.
- Financial services: portfolio performance inside CRM account pages.
- Manufacturing: supply chain metrics on production work orders.
How to embed Power BI in a model-driven app
Microsoft provides a native Power BI component for the model-driven form editor. The setup follows four steps.
- Step 1 — Enable Power BI: turn on the Power BI visualization feature in the Power Platform admin center under the tenant settings.
- Step 2 — Add the component: open the model-driven form in the editor, add a Power BI component to the desired tab or section.
- Step 3 — Configure the report: select the Power BI workspace and report. Set filter context to link the report to the record's primary key field.
- Step 4 — Publish and test: publish the form, open a test record, and verify that the report filters to that record's data and respects RLS.
Filter context and record linking
The most valuable configuration is passing the current record's ID or field value as a filter to the embedded report. This makes the report show data for only that record.
EPC Group tests filter behavior across three edge cases before any deployment goes live:
- No data match — the report shows a meaningful empty state, not a blank visual.
- Large result sets — the report loads in under 3 seconds using import mode or Direct Lake.
- Security boundaries — RLS applies correctly; users never see records outside their scope.
Row-level security in embedded reports
RLS is not optional in enterprise deployments. It must hold even when the report is embedded inside a model-driven form.
The Power BI report enforces RLS at the semantic model level. The embedding context does not bypass it. Users see only the rows their role allows. This is verified with audit logging in Microsoft Purview.
- Define RLS roles in Power BI Desktop.
- Map roles to Azure AD security groups.
- Verify with a non-admin test account inside the app.
- Log access in Microsoft Purview for audit defensibility.
Capacity and performance planning
Embedded Power BI reports run on your Power BI capacity (or Fabric F-SKU). Choose the right tier before deployment.
- F2 ($263/mo) — small workloads, up to ~30 reports, 4 GB memory.
- F4 ($526/mo) — mid-market deployments, refresh windows under 10 minutes.
- F64 ($5,257/mo) — enterprise scale, full Fabric stack including lakehouse and real-time intelligence.
To reduce capacity pressure on embedded reports:
- Reduce the number of visuals per page (aim for 8 or fewer).
- Use import mode unless real-time data is required.
- Place the Power BI control in a non-default tab — it loads only when the user clicks it.
- Review capacity right-sizing every 90 days as Microsoft updates F-SKU allocations.
Frequently asked questions
What apps support embedded Power BI?
Model-driven apps built on Dataverse — including all Dynamics 365 apps (Sales, Customer Service, Field Service, Finance, Supply Chain) — support embedded Power BI. Canvas apps and SharePoint pages use a different embedding approach.
Do embedded reports require a Power BI Pro license?
If users access the model-driven app through a Dynamics 365 or Power Apps license, they need a Power BI Pro license to view embedded reports — unless you use Power BI Premium or Fabric F-SKU capacity, which covers viewers without individual Pro licenses.
Can I filter an embedded report by the current record?
Yes. The Power BI component passes field values from the current record as filter parameters to the report. Map the record's primary key or lookup field to a matching column in your Power BI semantic model.
Does RLS still apply when Power BI is embedded?
Yes. RLS is enforced at the Power BI semantic model level. Embedding inside a model-driven app does not bypass it. Users see only the rows their assigned role permits — regardless of how the report is accessed.
What is the difference between "App Owns Data" and "User Owns Data"?
"User Owns Data" means each user authenticates with their own Power BI account — used in model-driven apps and SharePoint embedding. "App Owns Data" means the application authenticates on behalf of all users — used with the Power BI Embedded Azure service for custom web apps and ISV scenarios.
How long does an embedded Power BI project take?
A single embedded report inside one model-driven form takes 2–4 weeks including RLS setup and testing. A full deployment across multiple Dynamics 365 apps with governance documentation runs 6–10 weeks.
Configure Power BI in your Dynamics 365 environment
Talk to an EPC Group Power BI architect. Call (888) 381-9725 or request a 30-minute discovery call.
Power BI Strategy: 2026 Considerations for Embedded Power BI Reports In A Model Driven App
Power BI Copilot grounds itself on the semantic model, NOT the underlying source data. That means Copilot answers are only as accurate as the DAX measure definitions, the field metadata (display folders, descriptions, hierarchies), and the synonyms taxonomy. In practice, the difference between a Copilot deployment that drives 32% time-savings and one users abandon within 90 days is whether the semantic model was Copilot-prepared.
Power BI capacity sizing in 2026 starts with the F-SKU economics: F2 ($263/mo) covers small workloads with up to 4 GB of memory and roughly 30 reports, F4 ($526/mo) handles a typical mid-market deployment with semantic-model refresh windows under 10 minutes, and F64 ($5,257/mo) is the sweet spot for enterprises consuming Power BI alongside Microsoft Fabric data engineering, lakehouse storage, and real-time intelligence. Capacity right-sizing should be revisited every 90 days because Microsoft adjusts F-SKU memory allocations, paginated report performance, and Direct Lake mode availability with each major service update.
Decision factors EPC Group evaluates
- Copilot grounding quality assessment of semantic-model metadata
- Direct Lake mode adoption for Fabric-resident semantic models
- License optimization audit (Pro vs Premium Per User vs F-SKU)
- Row-level security via service principal authentication
- Capacity sizing decision (F2/F4/F64+) tied to peak concurrent users and refresh window
See related EPC Group services at /services or schedule a discovery call at /contact.