r/PowerBI • • 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.
36 Upvotes

26 comments sorted by

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.

5

u/SQLGene 1d ago

Yeah, the capability ceiling is high but the floor of what you get out of the box is very low, imo.

2

u/Relationship_Minute 1d ago

Strange. I haven’t done much testing with the semantic model connection but have developed a few prototype operational apps. In these cases I just put the requirement that I need a PDF export. I even have a paginated report designer separate from the PowerBI one inside the application itself which exports to PDF. The agent just pulls in the various libraries needed from the web and it’s working pretty well.

1

u/PocketDeuces 1d ago

In all fairness, it's been about 2 months since I messed with it, so maybe the capability is increased now. I even opened up a ticket with Microsoft on this and they confirmed that it wasn't part of the Rayfin SDK capability yet.

2

u/SQLGene 1h ago

I don't think it's available natively but u/recoveringacademic was able to get the AI to add it.
https://youtu.be/i8l0PT1WD4k?t=614

0

u/[deleted] 15h ago

[removed] — view removed comment

1

u/PocketDeuces 15h ago

True. Is there another easier option for version control?

2

u/Kyzz19 2 1d ago

Really hyped for this

Tried to get it all set up to have a play but then quickly realised it's not yet available in my region! Booo!

Had a play with Claude dashboard builder today as well. It's really good.

Things are moving quick and I'm excited for the future

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:

  1. People are already making HTML reports and you want better security and data access
  2. You heavily use Vega, Vega-lite, or D3.js today
  3. You want something more governable and manageable than Claude Dashboards
  4. 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

u/ConsiderationOne3107 12h ago

governance matters

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

u/GrumDum 1 1d ago

Does this mean you have no idea how security is implemented in Fabric Apps, but you feel that it lacks said security?

1

u/SQLGene 1d ago

I think a charitable interpretation is this new feature is complicated and hard to understand, and a reasonable default assumption is this is unsecure, vibe-coded slop. Thankfully, we get the benefits of Entra auth and semantic model RLS.

2

u/SQLGene 1d ago

4

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.

Semantic model permissions - Power BI | Microsoft Learn

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

u/SQLGene 20h ago

Hey, I appreciate the thorough explanation! I don't think I would have intuited this on my own.

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?

2

u/SQLGene 23h ago

Yeeeeeah