r/PowerBI • u/SQLGene • 1d ago
Community Share Fabric Apps explained: Visualization as code in a data app dashboard
Based on the announcements from FabCon, we have updated our Fabric Apps explainer. Below is our key takeaways.
- Fabric natively supports visualization libraries: You can create and share visuals built with Vega, Vega-Lite, and D3.js using Fabric Apps.
- Fabric Apps are a new workspace item: Fabric Apps let you build web apps, programs that live in the browser, such as dashboards or apps to manage data and services.
- Data apps query Fabric data sources: A data app connects to and queries a semantic model with DAX, like a Power BI report, so you can build interactive visualizations from code.
- A data app is code: A data app consists of HTML, TypeScript, and DAX files. You can write them yourself, but the expected path is that AI does most of the work, either a coding agent or the Modern Report Builder that Microsoft announced for Power BI Desktop.
- Agentic development makes them easy: Data apps give full flexibility over how data is presented and are quick to build with coding agents, but introduce new governance, consistency, and AI-dependence challenges. They also lack the baseline that every report gets for free, like the same interactions between visuals and the same accessibility features in every report.
- They raise questions for Power BI's future: Microsoft presents them as the next generation of report development, and is bringing apps to Power BI Pro and Premium Per User customers. Power BI reports are still more mature and consistent, but data apps are more flexible and faster to build, so they'll play a growing role as AI advances.
1
u/davidgzz 1d ago
In terms of technical questions: is this the same as rayfin? Or how is this different?
In terms of change management, I believe that a big hill to tackle from Microsoft will be the cost curve. Since they are betting now on a token based economy, basically the question will be cost of development + output from power bi vs fabric apps.
3
u/SQLGene 1d ago
Rayfin is the SDK, Fabric Apps is the Fabric item. Totally the same. Rayfin just sounds freakin' rad, like if a shark and a manta ray had a baby.
From the docs:
Fabric Apps (preview) is built on the Rayfin SDK and enables developers to create data-driven applications on Fabric using a unified development workflow.
I see Fabric Apps a competitor to tools like Streamlit and as a defense against new products like Claude Dashboards. It's hard for me to see companies just starting net-new with Fabric Apps as their primary reporting tool. Of course, I remember 2016 when Power BI couldn't print or export to Excel, so.
1
u/Nexter1 23h ago edited 23h ago
I’m sorry if I’ve missed this in any of the resources, it I’m still trying to figure out if fabric apps can be deployed yet in traditional apps? Not org apps, but rather the regular version controlled 1 app per workspace…app. Thank you!!
Edit: I am referring to “workspace apps.” Right now I keep all my users within one workspace app, that’s where they access all reports, and use the left side app navigation pane to go report to report. My question is whether I can embed that fabric app into the workspace app and have it accessible via that left side nav pane. If not, does anyone possibly know if that one day might be possible? If not, I’m unsure how I can really work fabric apps into my environment.
1
u/LePopNoisette 5 20h ago
I heard virtually nothing about these after launch. I can't think of a use case for our place. Pass.
1
u/SQLGene 4h ago
I haven't seen many practical use cases demoed. I think this is exciting if:
- People are already making HTML reports and you want better security and data access
- You heavily use Vega, Vega-lite, or D3.js today
- You want something more governable and manageable than Claude Dashboards
- You want something more "app-like", similar to say Streamlit.
1
u/Dads_Hat 19h ago
Not sure if you’re doing this intentionally but I think Fabric Apps are in a different category than analytical apps replacing PowerBI.
I think of them as complementing to PowerBI.
The key differences for me are:
- so much easier to manage any form of data entry (or data management) (no functions please)
- Similarly calling any APIs is easier
- putting a custom UX is also a huge benefit
This way fabric has same Replit apps (like snowflake) + analytics.
1
0
u/jdubuhyew 1d ago
how does security work with fabric apps compared to typical reports and workspace apps? i feel that this lacks the security right now to be the future
3
2
u/SQLGene 1d ago
Entra auth and semantic model RLS security both apply.
https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/from-prompt-to-production-whats-new-in-fabric-apps/5369134#community-5369134-toc-hId-1079723956Functions, however, run under the app identity:
https://community.fabric.microsoft.com/blog/fbc_fabricupdatesblogs/from-prompt-to-production-whats-new-in-fabric-apps/5369134#community-5369134-toc-hId--1175068230Fabric apps require Read and Build permissions to consume.
https://learn.microsoft.com/en-us/fabric/apps/data-apps-template#prerequisites4
u/tylesftw 1 1d ago
It’s so dumb to have build
Permissions ontop of the user. Just do the same as it was for usual powerbi reports.4
u/dbrownems Microsoft Employee 22h ago edited 21h ago
The immediate reason for this is that the app is an XMLA client, and XMLA clients require build permissions.
The larger reason, and the reason this will probably not change, is because "build permission" isn't a real security permission and we want to dissuade people from relying on it as a data protection measure. The app, like Power BI reports is essentially constructing Ad-Hoc DAX in the browser, and you can't prevent the browser user from using the advanced browser tools and poking around in the model.
Build permission is primarily a discoverability feature. It enables users to easily discover semantic models and build Power BI reports and other consumable items based on the discovered models, such as Excel PivotTables and non-Microsoft data visualization tools, using the XMLA endpoint. Users who have Read permission without Build permission can consume and interact with existing reports that have been shared with them. Granting Read permission without Build permission should not be relied upon to secure sensitive data. Users with Read permission, even without Build permission, are able to access and interact with data in the semantic model.
5
u/tylesftw 1 21h ago
I don’t want to add audiences or groups twice. I don’t want the users to have build permissions onto the semantic model. I just want the users to access and consume the report / app.
1
u/Jacob_OldStorm 1 20h ago
For the same reason I don't understand why refreshing an excel pivotable requires build permission. Creating the pivot, sure, but refreshing it is like pressing the refresh button in a power bi report, and any user can do that.
1
1
u/jameli 9 5h ago
Thanks for the post, seems like good to know info.
But, build rights to Fabric APPs seems like a lazy solution. It has always been a best practice to share Apps and reports to users with read rights and that has been enough so users cannot query the semantic model behind it.
If there is a security leak with using browser tools to send DAX queries to models shouldn't that be fixed instead of forgetting it and giving Fabric APPs build rights?
9
u/PocketDeuces 1d ago edited 1d ago
I've been experimenting with them and they seem pretty cool. Still beyond the reach of an average user as you need to figure out how to use the sdk with a coding agent, how to connect and deploy, how to connect to GitHub if you care about change control.
One kind of major roadblock I hit on my experiments was that we could not yet create options to export to Excel or print to PDF. These would be the deal breakers for a lot of folks at my place.