
Have you ever ever thought of utilizing Microsoft Material Apps for one thing apart from constructing a conventional enterprise utility? What if you have already got all of your relationships, measures and enterprise logic inside a Energy BI semantic mannequin? Do we actually have to create one other database for the applying?
These have been a number of the questions I had after publishing Constructing a Microsoft Material App with GitHub Copilot with out figuring out how one can code (you too can watch the video on YouTube). In that train, we used GitHub Copilot to construct a transactional utility for managing merchandise, stock and gross sales orders. The principle goal was to grasp how the entire thing works.
Whereas constructing that utility, I got here throughout a number of gotchas and limitations round its structure. However there may be additionally one other Material Apps sample that takes a fairly completely different strategy. As an alternative of making an operational database, it makes use of the relationships, measures and enterprise logic we have already got in a Energy BI semantic mannequin.
Microsoft calls this the Information App template. On this article, I examine it with the operational sample from my earlier train, which I seek advice from as a Enterprise App. They each run on Material Apps, however what occurs beneath is completely different. Their safety necessities, sharing mannequin and licensing are completely different too. So, let’s undergo what I examined, what caught me out, and the place I believe every sample is smart.
Watch the total video on my YouTube channel right here: 👇
If you happen to’d prefer to take heed to the content material on the go, right here is the AI generated podcase created from the content material of this weblog 👇:
Enterprise Apps: The Operational Sample #
Try the video on YouTube at 1:46
Let’s begin with the applying from the earlier train. I seek advice from it as a Enterprise App as a result of it helps an operational course of: managing merchandise, stock and gross sales orders. That is my wording for the sample, not the identify of a separate Microsoft template.
For this sort of utility, Material Apps creates and manages the operational knowledge layer. We outline what the applying wants, and Material Apps creates the backend infrastructure as a part of that course of.
Beneath the applying, we’ve got Entra ID single sign-on (SSO) for authentication, a GraphQL API for studying and writing knowledge, and a Material-managed SQL database to retailer the applying knowledge. So the applying, authentication, API and database work collectively as proven within the following diagram.
graph LR
Person[End User] -->|Entra ID SSO| App[Fabric App Frontend]
App -->|Learn / Write| GraphQL[GraphQL API Layer]
GraphQL -->|Information Persistence| SQLDB[Fabric-Managed SQL Database]

The Enterprise App from the earlier video, exhibiting the gross sales order display screen.
The Backend Limitation You Should Know About #
Try the video on YouTube at 2:07
One of many first limitations I got here throughout was across the database. For the time being, I can not merely take an present SQL database, with a schema that I’ve already outlined, and inform Material Apps to make use of it as the applying backend.
Material Apps manages this a part of the applying lifecycle itself. We outline the information mannequin in TypeScript code, and through deployment, Material Apps compiles that code and creates the SQL database schema based mostly on the mannequin. It additionally manages the schema as we make adjustments to the applying.
This implies I mustn’t deal with it like a standard SQL database the place I open SQL Server Administration Studio or Azure Information Studio, run an ALTER TABLE script, and anticipate the applying to adapt robotically. The Material Apps documentation says that schema adjustments ought to come from the code by way of Rayfin. We are able to question the database, however altering its schema straight can create conflicts and break the applying. That could be a pretty essential limitation to grasp earlier than selecting this structure.
In case you are like me and revel in doing a little “vibe coding” with AI assistants, I undoubtedly counsel studying the foundations for coding brokers on the Rayfin documentation web site. Additionally take a look on the troubleshooting, recognized limitations and FAQ sections. A few of the guidelines are straightforward to overlook after we are principally centered on getting the app working. Microsoft Be taught additionally has an FAQ about connecting Material Apps to present databases. As proven beneath, the reply on the time of recording was no.

The Material Apps FAQ proven within the recording, explaining the present database limitation.
Information Apps: Constructing on Energy BI Semantic Fashions #
Try the video on YouTube at 6:00
Now, let’s have a look at a fairly completely different state of affairs. What if we don’t want a transactional database or any screens for getting into knowledge? Maybe we have already got {our relationships}, complicated DAX measures and enterprise logic outlined in a ruled Energy BI semantic mannequin. Constructing all of that once more simply to create an utility doesn’t make a lot sense.
That is the place the Information App template comes into the image.
A Information App connects to an present Energy BI semantic mannequin as an alternative of making a brand new database. Within the video, I opened the Information App subsequent to the Enterprise App from our earlier train so we may see the distinction. The Information App was linked to a portfolio administration semantic mannequin, which in flip was linked to Microsoft Undertaking knowledge.

The Information App and Enterprise App aspect by aspect. The left app makes use of a semantic mannequin; the appropriate app helps operational work.
I fairly just like the expertise we will create with this template. In my instance, it feels polished and, in some methods, cleaner than a typical Energy BI report. I’ve navigation between pages for supply, financials, dangers and points, slicers to filter the information, and the choice to change between darkish and light-weight modes. After I change a slicer choice, the web page responds very like we might anticipate in Energy BI. However I’m not restricted to designing every little thing contained in the report canvas. I can form the interface across the utility expertise I need to give the customers.
graph LR
Person[User in Fabric Portal] -->|Entra ID SSO| App[Fabric App Frontend]
App -->|REST Queries| DAXAPI[Execute DAX Queries REST API]
DAXAPI -->|DAX Question Execution| Mannequin[Power BI Semantic Model]
Mannequin -->|Analytical Queries| Storage[Underlying Data Engine]
Architectural & Configuration Variations #
Try the video on YouTube at 8:13
As soon as I put the 2 functions subsequent to one another, the architectural distinction turned a lot clearer. The Enterprise App talks to its managed operational backend by way of GraphQL. The Information App sends DAX queries to an present Energy BI semantic mannequin. That completely different question path additionally brings an administrative requirement that’s fairly straightforward to overlook.
The Execute Queries REST API Requirement #
Try the video on YouTube at 9:12
For a Information App to question a Energy BI semantic mannequin, it makes use of the Semantic Mannequin Execute Queries REST API. In lots of Microsoft Material tenants, this REST API is disabled by default. So, having the applying and the semantic mannequin prepared will not be sufficient by itself.
To get this working, the Material Administrator must open the Material Admin Portal, go to Integration settings, discover Semantic Mannequin Execute Queries REST API, and allow it. With out this setting, the applying can not question the mannequin. If a Information App opens however can not retrieve any knowledge, this is without doubt one of the first issues I might examine.

The tenant setting utilized by the Information App to question the Energy BI semantic mannequin.
Not Simply Embedded Analytics #
Try the video on YouTube at 10:06
At first look, it’s straightforward to assume that that is merely a Energy BI report embedded inside an online utility. It’s not. We aren’t utilizing the acquainted Energy BI Embedded analytics sample on this instance, despite the fact that Energy BI continues to be doing the analytical work beneath.
What I’m constructing is a customized utility round a selected persona, workflow or enterprise course of. The ruled Energy BI semantic mannequin turns into the analytical basis. It continues to deal with the DAX calculations, safety and relationships, whereas the Material App offers me management over the interface and navigation. I can create a purpose-built expertise with out recreating the mannequin and enterprise logic that exist already in Energy BI.

The Information App working inside Material, with customized navigation, filters and darkish mode.
Workspace Capability Nuances #
Try the video on YouTube at 11:23
There may be one other level round workspaces and capability. The Material App merchandise itself should be in a workspace assigned to a Material capability. That’s required for internet hosting the applying, no matter which sample we use.
The Energy BI semantic mannequin beneath doesn’t essentially have to take a seat in the identical workspace because the Information App. In my take a look at setting, the demo mannequin was in a typical Energy BI workspace and the Information App was ready to hook up with it with none points. So the app and the mannequin can have completely different workspace preparations.
Having mentioned that, there’s a limitation round the place we will open a Information App. A Enterprise App might be opened utilizing its hosted URL exterior the Material Portal. I couldn’t do the identical with the Information App. After I tried its hosted URL straight in a browser, I acquired an error saying that the app couldn’t be opened exterior Microsoft Material. The present Microsoft documentation lists the identical limitation. This issues after we resolve how the customers are going to entry the applying.
Sharing and Semantic Mannequin Permissions #
Try the video on YouTube at 11:54
Now let’s have a look at sharing. This half seems to be pretty easy till we take a look at it with an actual person. That’s the place the distinction between the 2 patterns turns into extra apparent, and the place the permissions caught me out.
Enterprise App Sharing #
Try the video on YouTube at 11:58
For the Enterprise App, I went to the Material App merchandise, clicked Share, opened Handle Entry, and invited the customers utilizing their Entra ID particulars. I didn’t have to offer these customers entry to the underlying Material workspace. The applying-level Run and work together permission, proven within the portal as Learn and Execute, was sufficient for them to make use of the applying and work together with its operational database. That is helpful after we need folks to make use of the app with out exposing the opposite objects within the workspace.

Permissions on the Enterprise App merchandise, with Learn and Execute permissions for the customers.
Information App Sharing: The Two-Tiered Permission Mannequin #
Try the video on YouTube at 13:29
The Information App has one other permission layer. Sharing the Material App merchandise is just one a part of the method. As a result of the applying queries a Energy BI semantic mannequin, the person additionally wants the suitable permissions on that mannequin. Entry to the app doesn’t robotically give entry to what sits beneath it.
To check it, I shared the Information App with a take a look at person, Adele. I then went to the semantic mannequin merchandise, 01 Portfolio Overview, opened Handle Permissions, and gave her Learn permission. At that time, she had entry to the applying and Learn permission on the mannequin. I assumed this ought to be sufficient, nevertheless it was not.
When Adele signed in and opened the Information App, it didn’t load the information. As an alternative, it confirmed an error saying that the semantic mannequin didn’t exist or she didn’t have permission to entry it. You may see the message within the screenshot beneath.

The error Adele acquired when the app couldn’t entry the underlying semantic mannequin.
On the time of recording, I additionally needed to give Adele Construct permission on the semantic mannequin. As quickly as I added it, she may entry the information. Construct is a a lot wider permission than we usually need to give a shopper as a result of it permits the person to create new content material on high of the mannequin. This was a priority for me, particularly when fascinated with sharing a Information App with tons of of enterprise customers.
Nonetheless, Microsoft has now modified this requirement. Within the August 2026 Energy BI replace, Microsoft introduced that Material App customers want solely Learn permission on the underlying semantic mannequin as an alternative of Construct. App authors nonetheless require Construct permission. Microsoft said that the change can be obtainable by the top of August.
Subsequently, the error and the workaround proven above mirror the permission requirement in my tenant on the time of recording. With the brand new behaviour, a shopper wants entry to the Material App and Learn permission on the semantic mannequin. Construct ought to be reserved for the individuals who creator the applying or have to create their very own content material from the mannequin. It is a welcome change and offers us a a lot better least-privilege mannequin for sharing Information Apps.
Licensing & Capability Consumption #
Try the video on YouTube at 16:24
Now let’s speak about licensing. This may get complicated fairly shortly, so I discover it simpler to separate it into two elements: Capability Licensing and Person Licensing. They each matter, however they pay for various elements of working and utilizing the applying.
graph TD
subgraph CL["Capacity Layer"]
FC[Fabric Capacity SKU] -->|Powers Workloads| AppEngine[Fabric App Hosting & APIs]
finish
subgraph UL["User Licensing Layer"]
Dev[Developer] -->|Requires| Pro1[Power BI Pro + Entra ID]
BizConsumer[Business App Consumer] -->|Requires| Free1[Entra ID + Fabric Free Licence via Hosted URL]
DataConsumer[Data App Consumer] -->|Is determined by Capability| DataLicence[Fabric Free on F64+
Pro or PPU below F64]
finish
Capability Licensing #
Try the video on YouTube at 16:48
Whether or not we use a Enterprise App or a Information App, the Material App merchandise runs on Material capability. Its compute operations, API dealing with and backend storage devour capability models (CUs) from the capability assigned to the workspace. So neither sample removes the Material capability price from the equation.
Person Licensing Variations #
Try the video on YouTube at 17:06
Person licensing is the place the 2 patterns begin to look fairly completely different. The necessities depend upon who’s utilizing the applying and the way they entry it. This may have a noticeable price impression after we plan to share an app with many individuals:
- Builders: For each utility patterns, builders want a Energy BI Professional licence on high of entry to a Material capability workspace. Having the capability alone doesn’t cowl the developer’s person licence.
- Enterprise App Customers: This one is kind of fascinating. In my testing, a Enterprise App shopper did not want a Energy BI Professional licence when opening the app by way of its hosted URL exterior the Material Portal. A legitimate Microsoft Entra ID account with a Microsoft Material Free licence was sufficient, offered that I had shared the app with that person. If the organisation makes use of an F64 SKU or larger capability, free consumption can be included by way of the Material expertise.
- Information App Customers: On the time of recording, my customers wanted a Energy BI Professional licence as a result of Construct permission was nonetheless required on the semantic mannequin. With the new Learn-only shopper permission, the licence requirement relies upon extra straight on the capability internet hosting the semantic mannequin. If the mannequin is in an F64 or bigger Material capability, or a qualifying Energy BI Premium capability, a shopper with a Material Free licence can view the content material after they have Learn permission. On Material capacities smaller than F64, or in a typical shared Energy BI workspace, the buyer nonetheless wants Energy BI Professional or PPU. So the capability behind the semantic mannequin is now an essential a part of the licensing calculation.
API Throttling Issues #
Try the video on YouTube at 20:44
There may be one other gotcha I discovered whereas testing the Information App. As a result of it makes use of the Execute DAX Queries REST API, fast interactions or transferring quickly between pages can hit the API price limits. I seen this after I clicked between the applying pages too shortly. It didn’t occur each time, nevertheless it occurred usually sufficient to be noticeable. If we design an interface with a lot of interactions, the API limits should be a part of that design, not one thing we uncover after deployment.
Nameless Entry Sample #
Try the video on YouTube at 21:39
Earlier than placing the 2 primary patterns subsequent to one another, there may be yet one more state of affairs price mentioning: Nameless Entry. It’s extra specialised, however it may be helpful when an utility is genuinely supposed for public customers.
Within the Admin Portal, below the Material Apps settings, there’s a tenant setting referred to as Nameless knowledge entry for Material Apps. A Material tenant administrator should allow this primary. The applying developer should then outline an nameless position within the knowledge mannequin and specify precisely which operations that position can carry out. Enabling the tenant setting alone doesn’t make the applying knowledge public. The nameless knowledge entry documentation explains how these two controls work collectively. The screenshot beneath exhibits the setting disabled in my demo setting.
This may be helpful for public surveys, interactive varieties or public reference knowledge. However anyone who can attain the applying URL can use the operations assigned to that nameless position. Subsequently, I might give it the narrowest attainable permissions and by no means expose private, monetary or inner enterprise knowledge by way of it. For a standard inner utility, I might hold nameless entry disabled. It’s a utterly separate state of affairs from sharing an app with signed-in customers in our organisation.

The nameless knowledge entry setting, left disabled within the demo.
Enterprise App vs Information App: Comparability Matrix #
Try the video on YouTube at 8:13
We’ve got lined rather a lot up to now. I put the primary variations in a single desk, principally as a reference we will come again to when deciding which sample fits our necessities:
| Architectural Dimension | Enterprise Apps | Information Apps |
|---|---|---|
| Major Goal | Operational, transactional, and knowledge entry workflows | Analytical dashboards, customized workflows, and knowledge exploration |
| Information Basis | Material-managed SQL database | Present Energy BI semantic mannequin |
| Backend Mannequin Possession | Software-managed through TypeScript fashions | Present ruled Energy BI semantic mannequin |
| API & Question Layer | GraphQL API | Semantic Mannequin Execute Queries REST API (DAX) |
| Workspace Requirement | Should reside in a Material capability workspace | App merchandise requires Material capability; mannequin can sit in customary Energy BI workspace |
| Person Sharing Mannequin | Software-level entry solely | Software entry + Semantic Mannequin Learn permission for customers |
| Shopper Licensing | Material Free customers within the examined hosted URL state of affairs | Material Free on F64+ or Premium; Professional or PPU beneath F64 |
| Portal Entry | Accessible through Hosted URL and Material Portal | Restricted to Microsoft Material Portal solely |
Sensible Steerage: Which Sample Ought to You Select? #
Try the video on YouTube at 22:35
So, which one ought to we select? I might not begin with the product identify. I might begin with a a lot less complicated query: what do the customers truly have to do?
If they should enter and alter operational knowledge, that factors in a single path. If the ruled analytical mannequin already exists they usually want a extra tailor-made expertise round it, that factors elsewhere. And if a standard Energy BI report already meets the requirement, I might not construct a customized utility simply because I can. The next diagram exhibits how I take into consideration that call.
graph TD
Begin[New Application Requirement] --> Q1{Is the first process
knowledge entry/transactions?}
Q1 -->|Sure| BizApp[Business App
SQL DB + GraphQL]
Q1 -->|No| Q2{A ruled semantic
mannequin already exists?}
Q2 -->|Sure| Q3{Want UI navigation
Energy BI cannot help?}
Q3 -->|Sure| DataApp[Data App
DAX API + Custom UI]
Q3 -->|No| PBIReport[Standard Power BI Report]
Q2 -->|No| BuildModel[Build Semantic Model First]
1. Select a Enterprise App when: #
Try the video on YouTube at 22:42
- You’re constructing an inner operational utility, for instance a list tracker, gross sales order type or process administration system.
- You want customers to enter knowledge, carry out write-back or retailer transactional knowledge straight inside Microsoft Material as a part of their each day work.
- You need Material to deal with authentication, database creation and API deployment collectively, permitting you to concentrate on the applying itself.
- You need to share operational instruments with inner staff with out assigning a Energy BI Professional licence to each shopper.
2. Select a Information App when: #
Try the video on YouTube at 23:17
- You have already got a ruled Energy BI semantic mannequin, with the measures, relationships and RLS guidelines that your analytical necessities depend upon.
- Your customers want a customized utility expertise, mild and darkish modes, or explicit navigation flows that you just can not present by way of the usual Energy BI report canvas.
- You need to construct an analytical instrument round a selected persona or enterprise course of, with an interface designed round how these customers work.
3. Follow customary Energy BI Reviews when: #
Try the video on YouTube at 24:06
- An interactive report with the same old slice-and-dice capabilities already meets the enterprise necessities and offers customers the expertise they want.
- In lots of enterprise situations, a typical Energy BI report is strictly what the customers want. We do not need to switch it simply because Material Apps offers us another choice. The choice ought to come from the person’s workflow and the issue we try to unravel.
Ultimate Ideas #
Try the video on YouTube at 24:44
Microsoft Material Apps continues to be in public preview. I anticipate a number of the options, licensing necessities and administrative controls to vary earlier than Normal Availability. What I’ve defined right here displays what I examined and what the Microsoft documentation says on the time of publishing, so I’ll keep watch over these particulars because the platform develops.
After constructing and testing each patterns, I believe Material Apps is a really promising addition to the Microsoft Information Platform. However the worth will not be merely that we will construct one other sort of utility in Material. The fascinating half for me is that the platform now helps two fairly completely different instructions. We are able to construct an operational utility with its personal managed knowledge layer, or put a customized expertise on high of an analytical mannequin that we already belief and govern.
Having mentioned that, I might not soar into improvement earlier than understanding what occurs beneath. The managed database lifecycle shocked me within the Enterprise App. The semantic mannequin permission requirement caught me out within the Information App, though the brand new Learn-only shopper entry makes that half a lot better. The licensing and API limits may change the design as soon as we transfer from a demo to actual customers. These are usually not small implementation particulars. They will resolve whether or not the sample is appropriate for the challenge in any respect.
What do you concentrate on Microsoft Material Apps? The place do you see it becoming into your organisation? Would you utilize it for an operational Enterprise App, construct a Information App on high of an present semantic mannequin, or just stick with a Energy BI report? Let me know your ideas and questions within the feedback beneath!
If you happen to discovered this handy, you’ll be able to observe me on LinkedIn, subscribe to BI Perception on YouTube, or observe the BI Perception podcast on Spotify. I additionally share updates on Bluesky and X, masking Energy BI, Microsoft Material, AI, and the real-world knowledge and analytics issues I come throughout alongside the best way.
Associated
Uncover extra from BI Perception
Subscribe to get the most recent posts despatched to your e-mail.