1
00:00:00,000 --> 00:00:01,640
Welcome back to another Knowledge Nugget.

2
00:00:01,640 --> 00:00:03,960
I'm Merco Peters from M365FM.

3
00:00:03,960 --> 00:00:05,920
And today we're tackling a big question.

4
00:00:05,920 --> 00:00:07,840
You've probably heard the buzz about Fabric Apps.

5
00:00:07,840 --> 00:00:10,760
People are saying, "Fabric Apps for Places Power BI."

6
00:00:10,760 --> 00:00:12,440
Goodbye, Power BI reports.

7
00:00:12,440 --> 00:00:14,120
The end of business intelligence.

8
00:00:14,120 --> 00:00:16,240
I've watched those videos, I've read those posts,

9
00:00:16,240 --> 00:00:17,480
so let me give you the straight answer,

10
00:00:17,480 --> 00:00:19,960
the hype is real, but you need the context.

11
00:00:19,960 --> 00:00:22,040
Is Fabric Apps really the end of Power BI?

12
00:00:22,040 --> 00:00:23,040
Let's cut through it.

13
00:00:23,040 --> 00:00:24,240
By the end of this episode,

14
00:00:24,240 --> 00:00:25,960
you'll know exactly what a Fabric app is

15
00:00:25,960 --> 00:00:28,600
where it fits next to Power BI and whether you should care.

16
00:00:28,600 --> 00:00:31,040
The answer isn't as simple as yes or no.

17
00:00:31,040 --> 00:00:32,320
What is a Fabric app?

18
00:00:32,320 --> 00:00:34,200
So let's start with the simplest definition.

19
00:00:34,200 --> 00:00:36,200
A Fabric app is a managed web application

20
00:00:36,200 --> 00:00:38,320
that runs inside Microsoft Fabric.

21
00:00:38,320 --> 00:00:39,880
That word "managed" is the key.

22
00:00:39,880 --> 00:00:41,600
It means Fabric handles the hard parts,

23
00:00:41,600 --> 00:00:42,720
so you don't have to.

24
00:00:42,720 --> 00:00:44,560
Think of it like renting a furnished apartment

25
00:00:44,560 --> 00:00:46,680
versus building a house from scratch.

26
00:00:46,680 --> 00:00:49,320
When you build a house, you're responsible for everything.

27
00:00:49,320 --> 00:00:52,080
The foundation, the plumbing, the electrical wiring,

28
00:00:52,080 --> 00:00:52,920
the permits.

29
00:00:52,920 --> 00:00:54,160
When you rent a furnished apartment,

30
00:00:54,160 --> 00:00:56,480
you walk in, the lights work, the water runs,

31
00:00:56,480 --> 00:00:58,160
and you just need to bring your furniture.

32
00:00:58,160 --> 00:00:59,280
Fabric apps is like that.

33
00:00:59,280 --> 00:01:01,320
Microsoft provides the backend, the servers,

34
00:01:01,320 --> 00:01:03,360
the database, the security, the hosting,

35
00:01:03,360 --> 00:01:04,720
and you just build the front end.

36
00:01:04,720 --> 00:01:06,520
The part people actually see and interact with.

37
00:01:06,520 --> 00:01:07,360
Here's the thing.

38
00:01:07,360 --> 00:01:09,760
Fabric apps is a new item type in Fabric workspaces.

39
00:01:09,760 --> 00:01:11,200
If you've used Fabric before,

40
00:01:11,200 --> 00:01:12,520
you've probably seen items like

41
00:01:12,520 --> 00:01:15,240
Lake Houses, notebooks, or Power BI reports.

42
00:01:15,240 --> 00:01:17,200
Fabric apps sits right alongside those.

43
00:01:17,200 --> 00:01:19,960
It's just another kind of thing you can create in a workspace.

44
00:01:19,960 --> 00:01:22,760
But instead of storing data or running transformations,

45
00:01:22,760 --> 00:01:24,120
it's for building applications.

46
00:01:24,120 --> 00:01:25,200
You get two main options.

47
00:01:25,200 --> 00:01:26,680
First, the data app.

48
00:01:26,680 --> 00:01:29,240
This connects directly to an existing Power BI

49
00:01:29,240 --> 00:01:30,000
semantic model.

50
00:01:30,000 --> 00:01:31,480
So if you've already built a data model

51
00:01:31,480 --> 00:01:32,880
with measures and relationships,

52
00:01:32,880 --> 00:01:34,720
you can plug a Fabric app right into it.

53
00:01:34,720 --> 00:01:36,120
Second, the blank app.

54
00:01:36,120 --> 00:01:38,600
This one comes with its own SQL database

55
00:01:38,600 --> 00:01:40,640
and you define the schema yourself.

56
00:01:40,640 --> 00:01:42,640
Both are useful, just for different scenarios.

57
00:01:42,640 --> 00:01:43,720
So why does this matter?

58
00:01:43,720 --> 00:01:46,560
Before Fabric apps, if you wanted to build a data-driven web

59
00:01:46,560 --> 00:01:48,920
application, you had to manage a lot of stuff yourself.

60
00:01:48,920 --> 00:01:52,360
You needed a server and API, authentication and hosting.

61
00:01:52,360 --> 00:01:53,800
That's a lot of moving parts.

62
00:01:53,800 --> 00:01:56,040
And each one is a potential point of failure.

63
00:01:56,040 --> 00:01:58,160
Fabric apps packages all of that into one service.

64
00:01:58,160 --> 00:02:00,960
And you create the app and Fabric sets up everything automatically.

65
00:02:00,960 --> 00:02:04,400
You get a SQL database, a GraphQL API, authentication

66
00:02:04,400 --> 00:02:06,840
through Microsoft Entra ID and static hosting

67
00:02:06,840 --> 00:02:09,560
for your front-end files, all of it, out of the box.

68
00:02:09,560 --> 00:02:11,040
What this means for you is simple.

69
00:02:11,040 --> 00:02:12,800
You can build a real working application

70
00:02:12,800 --> 00:02:14,800
without being a full stack developer.

71
00:02:14,800 --> 00:02:16,600
You don't need to know how to set up a server,

72
00:02:16,600 --> 00:02:19,480
configure an API gateway, or manage user sessions.

73
00:02:19,480 --> 00:02:20,880
Fabric handles all of that.

74
00:02:20,880 --> 00:02:23,920
You just need to focus on the part that matters.

75
00:02:23,920 --> 00:02:27,360
What your app looks like and what it does.

76
00:02:27,360 --> 00:02:28,360
The building blocks.

77
00:02:28,360 --> 00:02:30,040
Let's break down those four pieces I mentioned,

78
00:02:30,040 --> 00:02:31,520
because this is where you'll really understand

79
00:02:31,520 --> 00:02:33,840
what Fabric apps is doing behind the scenes.

80
00:02:33,840 --> 00:02:36,480
First up is the SQL database, the place where your app's data

81
00:02:36,480 --> 00:02:36,840
lives.

82
00:02:36,840 --> 00:02:39,520
It's a transactional database, so it handles reads and writes.

83
00:02:39,520 --> 00:02:41,800
You can insert new records, update existing ones,

84
00:02:41,800 --> 00:02:42,880
or delete things.

85
00:02:42,880 --> 00:02:45,520
It works exactly like a normal SQL server database.

86
00:02:45,520 --> 00:02:47,920
So if you've used that before, you already know the drill.

87
00:02:47,920 --> 00:02:49,800
The difference here is you don't have to set it up.

88
00:02:49,800 --> 00:02:52,360
Fabric creates it automatically when you create the app.

89
00:02:52,360 --> 00:02:54,120
Next is the GraphQL API.

90
00:02:54,120 --> 00:02:56,520
Think of this as the messenger between your apps front

91
00:02:56,520 --> 00:02:57,920
end and the database.

92
00:02:57,920 --> 00:03:01,000
When your app needs to show data, it sends a query through the API

93
00:03:01,000 --> 00:03:03,160
and the API fetches that data from the database

94
00:03:03,160 --> 00:03:04,160
and sends it back.

95
00:03:04,160 --> 00:03:06,800
When a user submits a form or updates a record,

96
00:03:06,800 --> 00:03:10,200
the API takes that data and writes it to the database.

97
00:03:10,200 --> 00:03:12,480
GraphQL is a modern way of building APIs.

98
00:03:12,480 --> 00:03:14,600
You ask for exactly the data you need, nothing more,

99
00:03:14,600 --> 00:03:16,680
nothing less, efficient and flexible.

100
00:03:16,680 --> 00:03:19,400
Then there's authentication handled by Microsoft EntraID,

101
00:03:19,400 --> 00:03:21,880
which used to be called Azure Active Directory.

102
00:03:21,880 --> 00:03:23,360
When someone tries to use your app,

103
00:03:23,360 --> 00:03:25,760
they have to sign in with their Microsoft Work or School

104
00:03:25,760 --> 00:03:26,280
account.

105
00:03:26,280 --> 00:03:28,200
Fabric handles the entire login process.

106
00:03:28,200 --> 00:03:30,600
It checks that the person is who they say they are

107
00:03:30,600 --> 00:03:33,320
and confirms they have permission to access the app.

108
00:03:33,320 --> 00:03:35,760
You don't need to build a login screen, manage passwords,

109
00:03:35,760 --> 00:03:37,320
or worry about security.

110
00:03:37,320 --> 00:03:38,360
It's all built in.

111
00:03:38,360 --> 00:03:40,280
Finally, static hosting.

112
00:03:40,280 --> 00:03:42,320
This is where your apps front end files live.

113
00:03:42,320 --> 00:03:45,840
The HTML, CSS, and JavaScript that make up the user interface.

114
00:03:45,840 --> 00:03:47,680
Fabric serves these files from a URL,

115
00:03:47,680 --> 00:03:50,400
so users can access the app from their browser.

116
00:03:50,400 --> 00:03:52,520
When you make changes, you deploy the new files

117
00:03:52,520 --> 00:03:55,160
and Fabric updates the hosted version automatically.

118
00:03:55,160 --> 00:03:56,120
Now, here's the thing.

119
00:03:56,120 --> 00:03:58,200
You don't need to become a developer to use this.

120
00:03:58,200 --> 00:04:00,160
The templates handle most of the setup.

121
00:04:00,160 --> 00:04:01,400
When you create a new Fabric app,

122
00:04:01,400 --> 00:04:03,200
you can start from a template that already

123
00:04:03,200 --> 00:04:06,160
has authentication wired up, the API configured,

124
00:04:06,160 --> 00:04:07,640
and a basic front-end structure.

125
00:04:07,640 --> 00:04:08,640
You just customize it.

126
00:04:08,640 --> 00:04:11,600
The rule magic is that these pieces work together automatically.

127
00:04:11,600 --> 00:04:14,320
You create the app and Fabric provisions the database,

128
00:04:14,320 --> 00:04:16,720
sets up the API, configures authentication,

129
00:04:16,720 --> 00:04:19,120
and prepares the hosting all in the background.

130
00:04:19,120 --> 00:04:20,640
You don't have to connect them manually

131
00:04:20,640 --> 00:04:22,840
or write configuration files.

132
00:04:22,840 --> 00:04:23,600
It just works.

133
00:04:23,600 --> 00:04:24,520
So those are the pieces.

134
00:04:24,520 --> 00:04:27,320
But how do they actually connect to the data you already have?

135
00:04:27,320 --> 00:04:30,480
That's what we'll cover next, how it connects to your data.

136
00:04:30,480 --> 00:04:33,600
So you've got this app with a database, an API,

137
00:04:33,600 --> 00:04:35,440
authentication, and hosting.

138
00:04:35,440 --> 00:04:37,200
But where does your actual data come from?

139
00:04:37,200 --> 00:04:38,600
Because honestly, you probably already

140
00:04:38,600 --> 00:04:40,480
have data sitting somewhere in Fabric.

141
00:04:40,480 --> 00:04:43,120
Maybe you've got a semantic model with carefully built measures.

142
00:04:43,120 --> 00:04:44,800
Maybe you've got data in a lake house.

143
00:04:44,800 --> 00:04:47,120
Fabric apps doesn't make you start from scratch.

144
00:04:47,120 --> 00:04:48,880
It connects to what you already have,

145
00:04:48,880 --> 00:04:50,280
and there are two ways to do it.

146
00:04:50,280 --> 00:04:52,360
Option one is the data app template.

147
00:04:52,360 --> 00:04:54,680
This connects your app directly to an existing Power BI

148
00:04:54,680 --> 00:04:55,600
semantic model.

149
00:04:55,600 --> 00:04:58,000
All those measures you build, all those relationships

150
00:04:58,000 --> 00:04:59,840
you defined, all those calculations,

151
00:04:59,840 --> 00:05:02,360
they're available to your app through DAX queries.

152
00:05:02,360 --> 00:05:05,200
Your app can show the exact same numbers as your Power BI report.

153
00:05:05,200 --> 00:05:06,800
But in a completely custom interface,

154
00:05:06,800 --> 00:05:08,960
you're not limited to Power BI's visual controls.

155
00:05:08,960 --> 00:05:11,880
You can build your own charts, layouts, and interactions.

156
00:05:11,880 --> 00:05:14,480
The data underneath is the same-governed trusted model

157
00:05:14,480 --> 00:05:15,600
you already have.

158
00:05:15,600 --> 00:05:17,040
This is powerful because you don't have

159
00:05:17,040 --> 00:05:19,040
to rebuild your business logic.

160
00:05:19,040 --> 00:05:21,840
If you've spent months getting a measure exactly right,

161
00:05:21,840 --> 00:05:24,400
calculating revenue the way your finance team wants it,

162
00:05:24,400 --> 00:05:27,720
handling currency conversions, applying the correct filters,

163
00:05:27,720 --> 00:05:29,040
that work carries over.

164
00:05:29,040 --> 00:05:31,600
Your app just queries the model and gets the right answer.

165
00:05:31,600 --> 00:05:34,280
And because it's the same model, your Power BI report

166
00:05:34,280 --> 00:05:36,360
and your Fabric app will always agree.

167
00:05:36,360 --> 00:05:39,880
No more, the report says one thing, but the app says another.

168
00:05:39,880 --> 00:05:41,480
Option two is the blank app template.

169
00:05:41,480 --> 00:05:44,880
This one creates its own SQL database inside the app.

170
00:05:44,880 --> 00:05:47,160
You define your schema using TypeScript in the code

171
00:05:47,160 --> 00:05:49,760
and Fabric creates the database tables for you automatically.

172
00:05:49,760 --> 00:05:51,720
This is the right choice when you're building an app

173
00:05:51,720 --> 00:05:54,560
that needs to store its own data, maybe a to-do list,

174
00:05:54,560 --> 00:05:56,760
an inventory tracker, a simple CRM.

175
00:05:56,760 --> 00:05:58,640
The data lives in the app's database

176
00:05:58,640 --> 00:06:00,920
and your app reads and writes to it directly.

177
00:06:00,920 --> 00:06:02,200
Here's something interesting.

178
00:06:02,200 --> 00:06:05,440
That SQL database also has a read-only analytics endpoint.

179
00:06:05,440 --> 00:06:07,960
Fabric automatically mirrors a copy of your operational data

180
00:06:07,960 --> 00:06:11,120
into one lake and that endpoint sits on top of that copy.

181
00:06:11,120 --> 00:06:12,920
So while your app is doing transactional work,

182
00:06:12,920 --> 00:06:14,760
creating orders, updating records,

183
00:06:14,760 --> 00:06:17,880
the analytics endpoint lets you build Power BI reports

184
00:06:17,880 --> 00:06:20,760
on that same data without affecting your app's performance.

185
00:06:20,760 --> 00:06:23,000
It's like getting a reporting layer for free.

186
00:06:23,000 --> 00:06:25,960
So to summarize, if you already have a semantic model,

187
00:06:25,960 --> 00:06:27,680
use the data app template.

188
00:06:27,680 --> 00:06:30,360
If you're building something new that needs its own storage,

189
00:06:30,360 --> 00:06:32,200
use the blank app template.

190
00:06:32,200 --> 00:06:33,800
Both paths lead to the same place,

191
00:06:33,800 --> 00:06:36,400
a working application connected to your data.

192
00:06:36,400 --> 00:06:38,320
Fabric apps versus Power BI.

193
00:06:38,320 --> 00:06:40,720
Fabric apps and Power BI aren't replacements.

194
00:06:40,720 --> 00:06:41,520
They're complimentary.

195
00:06:41,520 --> 00:06:44,120
They do different things, so you use both where they fit.

196
00:06:44,120 --> 00:06:45,880
Power BI is a business intelligence tool.

197
00:06:45,880 --> 00:06:48,680
It's built for governed reporting, ad hoc analysis,

198
00:06:48,680 --> 00:06:50,880
and sharing insights across your organization.

199
00:06:50,880 --> 00:06:52,440
When you need to slice data by region

200
00:06:52,440 --> 00:06:54,640
and drill into a specific product category,

201
00:06:54,640 --> 00:06:57,120
Power BI does that better than anything else.

202
00:06:57,120 --> 00:07:00,240
When your finance team leads paginated reports, Power BI has that.

203
00:07:00,240 --> 00:07:02,480
When executives want to ask questions in plain English,

204
00:07:02,480 --> 00:07:04,560
Power BI has natural language queries.

205
00:07:04,560 --> 00:07:07,040
It's a mature product with years of development.

206
00:07:07,040 --> 00:07:09,080
Fabric apps is an application development tool.

207
00:07:09,080 --> 00:07:12,560
It's built for custom, user, experiences on top of your data.

208
00:07:12,560 --> 00:07:14,920
When warehouse workers need a form to update inventory levels,

209
00:07:14,920 --> 00:07:15,840
that's a fabric app.

210
00:07:15,840 --> 00:07:18,040
When you need a dashboard with custom animations

211
00:07:18,040 --> 00:07:20,160
and a layout that matches your brand guidelines,

212
00:07:20,160 --> 00:07:21,080
that's a fabric app.

213
00:07:21,080 --> 00:07:23,200
When you need something that feels like a real application,

214
00:07:23,200 --> 00:07:25,480
not a report, that's where Fabric apps comes in.

215
00:07:25,480 --> 00:07:27,120
Think of it like a modern office building.

216
00:07:27,120 --> 00:07:29,640
Power BI is the conference room where you analyze data.

217
00:07:29,640 --> 00:07:32,440
You look at the numbers, explore, find insights.

218
00:07:32,440 --> 00:07:34,960
Fabric apps is the front desk where you interact,

219
00:07:34,960 --> 00:07:37,960
enter data, checkers status, complete a task,

220
00:07:37,960 --> 00:07:40,280
different purposes, different experiences,

221
00:07:40,280 --> 00:07:42,520
where Power BI shines is analysis.

222
00:07:42,520 --> 00:07:44,840
Cross filtering, drill through natural language queries,

223
00:07:44,840 --> 00:07:46,240
paginated reports.

224
00:07:46,240 --> 00:07:47,920
These features took years to build.

225
00:07:47,920 --> 00:07:49,600
Fabric apps doesn't have them yet,

226
00:07:49,600 --> 00:07:51,400
and it probably never will in the same way.

227
00:07:51,400 --> 00:07:52,640
That's not what it's for.

228
00:07:52,640 --> 00:07:54,600
Where Fabric apps shines is custom experiences.

229
00:07:54,600 --> 00:07:56,000
You control the layout completely,

230
00:07:56,000 --> 00:07:58,400
you can add animations, build custom navigation,

231
00:07:58,400 --> 00:07:59,880
create interactions that aren't possible

232
00:07:59,880 --> 00:08:01,120
in Power BI's canvas.

233
00:08:01,120 --> 00:08:01,920
And here's the key.

234
00:08:01,920 --> 00:08:03,960
You can write data back to the database.

235
00:08:03,960 --> 00:08:05,680
Power BI reports are read only.

236
00:08:05,680 --> 00:08:07,720
In a Fabric app, users can update records,

237
00:08:07,720 --> 00:08:09,520
submit forms, change data.

238
00:08:09,520 --> 00:08:10,960
Here's the insight that matters.

239
00:08:10,960 --> 00:08:13,240
The semantic model becomes the shared foundation.

240
00:08:13,240 --> 00:08:15,440
Both tools can use the same governed data.

241
00:08:15,440 --> 00:08:17,920
You build your model once and then Power BI reports

242
00:08:17,920 --> 00:08:19,560
and Fabric apps both pull from it.

243
00:08:19,560 --> 00:08:22,680
Your measures are consistent, your security rules are consistent,

244
00:08:22,680 --> 00:08:24,680
your data is consistent, the model becomes

245
00:08:24,680 --> 00:08:26,080
the single source of truth.

246
00:08:26,080 --> 00:08:28,320
Both tools are just different ways of interacting with it.

247
00:08:28,320 --> 00:08:30,000
So when you hear goodbye Power BI,

248
00:08:30,000 --> 00:08:33,040
what people really mean is, hello, more options.

249
00:08:33,040 --> 00:08:34,800
They're not saying Power BI is dead,

250
00:08:34,800 --> 00:08:37,440
they're saying they have another way to build on their data.

251
00:08:37,440 --> 00:08:39,680
And for Power BI users, here's the real takeaway.

252
00:08:39,680 --> 00:08:42,280
Your skills become more valuable, not less.

253
00:08:42,280 --> 00:08:45,000
Data modeling, DAX, understanding business logic,

254
00:08:45,000 --> 00:08:47,600
these are the foundation that makes Fabric apps work.

255
00:08:47,600 --> 00:08:49,480
Without a good semantic model, your Fabric app

256
00:08:49,480 --> 00:08:50,760
has nothing to connect to.

257
00:08:50,760 --> 00:08:52,200
The people who understand the data

258
00:08:52,200 --> 00:08:55,040
will be the ones building the best apps.

259
00:08:55,040 --> 00:08:56,440
What you can actually build?

260
00:08:56,440 --> 00:08:57,600
Let's make this real.

261
00:08:57,600 --> 00:09:00,520
What does a Fabric app actually look like in practice?

262
00:09:00,520 --> 00:09:02,240
What kind of things can you build with it?

263
00:09:02,240 --> 00:09:04,800
One common use case is an inventory management dashboard

264
00:09:04,800 --> 00:09:05,840
with write back.

265
00:09:05,840 --> 00:09:07,480
Imagine you're running a warehouse.

266
00:09:07,480 --> 00:09:10,880
Products come in and go out, stock levels change throughout the day.

267
00:09:10,880 --> 00:09:13,360
In a traditional Power BI report, you can see the data,

268
00:09:13,360 --> 00:09:14,640
but you can't act on it.

269
00:09:14,640 --> 00:09:16,120
If you notice a product is running low,

270
00:09:16,120 --> 00:09:18,680
you have to open a separate system to place an order.

271
00:09:18,680 --> 00:09:20,560
With a Fabric app, you build a dashboard

272
00:09:20,560 --> 00:09:23,080
where you click a button in the stock updates right there.

273
00:09:23,080 --> 00:09:24,560
The data flows back to the database.

274
00:09:24,560 --> 00:09:26,360
The next time someone opens the report,

275
00:09:26,360 --> 00:09:27,680
the numbers have changed.

276
00:09:27,680 --> 00:09:29,880
Another example is internal operational dashboards

277
00:09:29,880 --> 00:09:31,200
for specific teams.

278
00:09:31,200 --> 00:09:34,040
HR might want a tool for tracking employee onboarding.

279
00:09:34,040 --> 00:09:36,280
Finance might want a dashboard for expensive approvals.

280
00:09:36,280 --> 00:09:38,560
Logistics might want a real time view of shipments.

281
00:09:38,560 --> 00:09:40,440
These are things you could build with Power BI,

282
00:09:40,440 --> 00:09:41,720
but they'd be read only.

283
00:09:41,720 --> 00:09:44,120
With a Fabric app, each team gets a custom interface

284
00:09:44,120 --> 00:09:45,720
that matches how they actually work.

285
00:09:45,720 --> 00:09:47,480
Forms, buttons, status updates,

286
00:09:47,480 --> 00:09:49,640
and it feels like a real application, not a report.

287
00:09:49,640 --> 00:09:51,000
There's also rapid prototyping.

288
00:09:51,000 --> 00:09:52,800
This is where Fabric apps really shines.

289
00:09:52,800 --> 00:09:54,760
You can go from an idea to a working app

290
00:09:54,760 --> 00:09:56,200
in hours instead of weeks.

291
00:09:56,200 --> 00:09:59,560
Let's say your team needs a tool to track customer feedback.

292
00:09:59,560 --> 00:10:01,760
In the old world, you'd submit a request to IT,

293
00:10:01,760 --> 00:10:03,800
wait for a developer to become available,

294
00:10:03,800 --> 00:10:04,880
go through a design review,

295
00:10:04,880 --> 00:10:06,880
and eventually get something months later.

296
00:10:06,880 --> 00:10:09,520
With Fabric apps, you can build a prototype in an afternoon.

297
00:10:09,520 --> 00:10:11,120
It might not be perfect, but it's good enough

298
00:10:11,120 --> 00:10:13,280
to test with real users and get feedback.

299
00:10:13,280 --> 00:10:16,000
And if it works, you can polish it into a production app.

300
00:10:16,000 --> 00:10:18,040
Data exploration tools are another good fit.

301
00:10:18,040 --> 00:10:21,080
If you've got a semantic model with lots of interesting data,

302
00:10:21,080 --> 00:10:23,160
you can build a custom interface for exploring it.

303
00:10:23,160 --> 00:10:26,040
Maybe you want a dashboard that lets executives browse sales data

304
00:10:26,040 --> 00:10:28,000
by region with a clean layout

305
00:10:28,000 --> 00:10:29,480
that matches your company's branding.

306
00:10:29,480 --> 00:10:32,360
Power BI can do this, but you're limited to its visual controls.

307
00:10:32,360 --> 00:10:34,560
With a Fabric app, you control every pixel.

308
00:10:34,560 --> 00:10:37,200
The layout, the colors, the interactions, all custom.

309
00:10:37,200 --> 00:10:38,640
Let me give you a real example.

310
00:10:38,640 --> 00:10:42,280
One company used Fabric apps to build a real-time inventory tracker

311
00:10:42,280 --> 00:10:43,600
for their warehouse team.

312
00:10:43,600 --> 00:10:45,320
Before this, the warehouse team was working

313
00:10:45,320 --> 00:10:47,640
with spreadsheets that were updated once a day.

314
00:10:47,640 --> 00:10:50,640
By the time they saw the numbers, they were already outdated.

315
00:10:50,640 --> 00:10:53,120
The Fabric app connected to their SQL database

316
00:10:53,120 --> 00:10:56,160
showed livestock levels and let workers update quantities

317
00:10:56,160 --> 00:10:57,240
as items moved.

318
00:10:57,240 --> 00:10:59,000
It replaced a system that took weeks to build

319
00:10:59,000 --> 00:11:00,520
with something that took a few days.

320
00:11:00,520 --> 00:11:02,360
Another team built a flight tracking app.

321
00:11:02,360 --> 00:11:05,160
They had a SQL database with flight schedules, delays,

322
00:11:05,160 --> 00:11:06,280
and data assignments.

323
00:11:06,280 --> 00:11:07,840
The Fabric app read from that database

324
00:11:07,840 --> 00:11:10,400
and displayed everything in a clean interface.

325
00:11:10,400 --> 00:11:13,160
As new data came in, the app updated automatically.

326
00:11:13,160 --> 00:11:15,560
The team didn't need to manage a server or build an API.

327
00:11:15,560 --> 00:11:18,080
They just created the app, connected it to their database,

328
00:11:18,080 --> 00:11:19,080
and it worked.

329
00:11:19,080 --> 00:11:21,000
The key insight here is that these are apps

330
00:11:21,000 --> 00:11:23,760
that would have taken weeks or months to build from scratch.

331
00:11:23,760 --> 00:11:25,520
Now they're possible in a few days.

332
00:11:25,520 --> 00:11:27,280
That's the promise of Fabric apps.

333
00:11:27,280 --> 00:11:29,600
Not that it replaces everything you already do,

334
00:11:29,600 --> 00:11:31,480
but that it makes new things possible.

335
00:11:32,480 --> 00:11:33,640
The limitations.

336
00:11:33,640 --> 00:11:35,920
Now before you start planning your next big project,

337
00:11:35,920 --> 00:11:37,200
let's talk about the boundaries.

338
00:11:37,200 --> 00:11:39,120
Fabric apps is powerful, but it's not magic

339
00:11:39,120 --> 00:11:41,040
and it's not ready for everything just yet.

340
00:11:41,040 --> 00:11:42,720
The biggest thing to know is that fabric apps

341
00:11:42,720 --> 00:11:43,920
is still in public preview.

342
00:11:43,920 --> 00:11:46,200
That means things can change, features can break,

343
00:11:46,200 --> 00:11:48,080
and the documentation might not be complete.

344
00:11:48,080 --> 00:11:49,920
Microsoft is still figuring out what works.

345
00:11:49,920 --> 00:11:51,680
So if you build something today,

346
00:11:51,680 --> 00:11:52,840
you might have to rebuild it

347
00:11:52,840 --> 00:11:55,120
when the feature reaches general availability.

348
00:11:55,120 --> 00:11:56,840
That's the nature of preview software.

349
00:11:56,840 --> 00:11:57,840
It's great for learning,

350
00:11:57,840 --> 00:11:59,600
but you probably don't want to bet your entire business

351
00:11:59,600 --> 00:12:00,600
on it just yet.

352
00:12:00,600 --> 00:12:01,760
Second limitation.

353
00:12:01,760 --> 00:12:04,760
Authentication is limited to EntraID single sign on.

354
00:12:04,760 --> 00:12:07,520
The Microsoft login system for work and school accounts.

355
00:12:07,520 --> 00:12:10,400
You cannot add guest users, allow anonymous access,

356
00:12:10,400 --> 00:12:12,320
or use a custom authentication provider.

357
00:12:12,320 --> 00:12:14,240
This means your apps are only for internal users.

358
00:12:14,240 --> 00:12:16,080
You can't share them with customers or partners.

359
00:12:16,080 --> 00:12:17,880
If you need a customer facing dashboard,

360
00:12:17,880 --> 00:12:20,200
power BI embedded is still the way to go.

361
00:12:20,200 --> 00:12:22,280
Fabric apps is for your organization's people

362
00:12:22,280 --> 00:12:24,280
and only your organization's people.

363
00:12:24,280 --> 00:12:25,480
Third, cost.

364
00:12:25,480 --> 00:12:27,680
Fabric apps runs on your existing fabric capacity,

365
00:12:27,680 --> 00:12:28,880
but it's not free.

366
00:12:28,880 --> 00:12:30,680
Every query, every API call,

367
00:12:30,680 --> 00:12:34,280
every file served consumes capacity units or CUs.

368
00:12:34,280 --> 00:12:35,920
If you're on a small plan like F2,

369
00:12:35,920 --> 00:12:38,040
which costs about $260 a month,

370
00:12:38,040 --> 00:12:40,000
you need to watch your usage carefully.

371
00:12:40,000 --> 00:12:43,000
A few heavy queries can eat up your capacity quickly,

372
00:12:43,000 --> 00:12:44,600
and if you're using AI coding agents

373
00:12:44,600 --> 00:12:47,000
to help build your app, those costs tokens too.

374
00:12:47,000 --> 00:12:49,960
You can burn through a monthly budget faster than you'd expect.

375
00:12:49,960 --> 00:12:52,280
Fourth, no built-in support for complex,

376
00:12:52,280 --> 00:12:55,000
multi-step transactions or stored procedures.

377
00:12:55,000 --> 00:12:56,320
If your app needs to do something

378
00:12:56,320 --> 00:12:58,640
like charge a credit card, update inventory,

379
00:12:58,640 --> 00:13:00,920
and send a confirmation email as a single operation,

380
00:13:00,920 --> 00:13:02,920
Fabric apps doesn't handle that natively.

381
00:13:02,920 --> 00:13:04,320
You need to build that logic yourself

382
00:13:04,320 --> 00:13:05,520
or use a different tool.

383
00:13:05,520 --> 00:13:07,200
Fifth, consistency.

384
00:13:07,200 --> 00:13:09,000
When you use AI to generate your app,

385
00:13:09,000 --> 00:13:11,160
every prompt produces a different result.

386
00:13:11,160 --> 00:13:13,640
The same prompt can give you a completely different layout,

387
00:13:13,640 --> 00:13:15,400
different colors and different behavior.

388
00:13:15,400 --> 00:13:16,760
If you're building multiple apps,

389
00:13:16,760 --> 00:13:18,280
they might look nothing alike.

390
00:13:18,280 --> 00:13:20,400
You can fix this by defining a design system

391
00:13:20,400 --> 00:13:22,200
and being very specific in your prompts,

392
00:13:22,200 --> 00:13:23,400
but it takes effort.

393
00:13:23,400 --> 00:13:25,000
And finally, front-end development

394
00:13:25,000 --> 00:13:27,080
still requires some understanding of code.

395
00:13:27,080 --> 00:13:30,160
Even with AI help, you need to know enough to guide the process.

396
00:13:30,160 --> 00:13:31,720
The AI can write the code,

397
00:13:31,720 --> 00:13:33,440
but you need to be able to tell it what you want

398
00:13:33,440 --> 00:13:34,960
and recognize when it's gone wrong.

399
00:13:34,960 --> 00:13:36,840
If you've never written a line of JavaScript,

400
00:13:36,840 --> 00:13:38,360
you'll find this challenging.

401
00:13:38,360 --> 00:13:39,480
So what does this mean for you?

402
00:13:39,480 --> 00:13:42,240
Fabric apps is powerful, but it's not a silver bullet.

403
00:13:42,240 --> 00:13:43,800
Go in with realistic expectations.

404
00:13:43,800 --> 00:13:46,160
Use it for internal tools, prototypes, and apps

405
00:13:46,160 --> 00:13:47,800
where you control authentication.

406
00:13:47,800 --> 00:13:49,640
And don't abandon Power BI.

407
00:13:49,640 --> 00:13:53,960
It's still the right tool for governed reporting and analysis.

408
00:13:53,960 --> 00:13:55,520
How the pieces fit together.

409
00:13:55,520 --> 00:13:57,720
Let's step back and look at the whole picture.

410
00:13:57,720 --> 00:13:59,960
This is where the RHA moment happens.

411
00:13:59,960 --> 00:14:01,720
Fabric apps isn't a single product.

412
00:14:01,720 --> 00:14:02,720
It's a platform.

413
00:14:02,720 --> 00:14:04,880
It takes the data you already have in fabric,

414
00:14:04,880 --> 00:14:08,200
your semantic models, your SQL databases, your one-leg storage,

415
00:14:08,200 --> 00:14:11,000
and gives you a way to build custom experiences on top.

416
00:14:11,000 --> 00:14:12,320
The connection is the key.

417
00:14:12,320 --> 00:14:15,080
Your semantic model becomes the single source of truth.

418
00:14:15,080 --> 00:14:18,320
Both Power BI and your fabric apps pull from the same model.

419
00:14:18,320 --> 00:14:20,200
When you define a measure in that model,

420
00:14:20,200 --> 00:14:23,320
both your report and your app use the same calculation.

421
00:14:23,320 --> 00:14:25,320
When you update data in your SQL database,

422
00:14:25,320 --> 00:14:27,800
both your app and your Power BI report reflect the change.

423
00:14:27,800 --> 00:14:31,280
No more duplicating logic, no more wondering which version is correct.

424
00:14:31,280 --> 00:14:34,040
This is what Microsoft means when they say end to end.

425
00:14:34,040 --> 00:14:36,680
From data ingestion to reporting to custom applications,

426
00:14:36,680 --> 00:14:37,840
all in one platform.

427
00:14:37,840 --> 00:14:40,400
The data flows from your source systems into one-leg,

428
00:14:40,400 --> 00:14:41,720
gets transformed and modeled,

429
00:14:41,720 --> 00:14:43,520
and then surfaces through whatever tool

430
00:14:43,520 --> 00:14:45,160
makes sense for the job.

431
00:14:45,160 --> 00:14:46,880
Power BI for governed analysis,

432
00:14:46,880 --> 00:14:48,840
fabric apps for custom interactions,

433
00:14:48,840 --> 00:14:50,600
both build on the same foundation.

434
00:14:50,600 --> 00:14:52,400
For a beginner, the takeaway is simple.

435
00:14:52,400 --> 00:14:55,240
Fabric apps extends what you can do with your data.

436
00:14:55,240 --> 00:14:57,240
It doesn't replace what you already have.

437
00:14:57,240 --> 00:15:00,080
Think of it as adding a new room to a house you already live in.

438
00:15:00,080 --> 00:15:03,440
The foundation is the same, the plumbing and electrical are the same,

439
00:15:03,440 --> 00:15:06,360
but now you have a new space to use however you want.

440
00:15:06,360 --> 00:15:07,440
Your next steps.

441
00:15:07,440 --> 00:15:09,000
So where do you actually start?

442
00:15:09,000 --> 00:15:10,720
Let me walk you through a few concrete steps.

443
00:15:10,720 --> 00:15:12,360
If you have a fabric capacity,

444
00:15:12,360 --> 00:15:15,280
go enable the fabric apps preview in your tenant settings.

445
00:15:15,280 --> 00:15:18,000
It's in the admin portal under tenant settings.

446
00:15:18,000 --> 00:15:19,960
You'll need to flip the toggle for fabric apps

447
00:15:19,960 --> 00:15:23,240
and also enable the semantic model execute queries rest API

448
00:15:23,240 --> 00:15:24,760
without both nothing will work.

449
00:15:24,760 --> 00:15:28,360
Next, create a new workspace and try the blank app template.

450
00:15:28,360 --> 00:15:30,520
Don't worry about building anything useful yet.

451
00:15:30,520 --> 00:15:31,800
Just go through the process.

452
00:15:31,800 --> 00:15:34,000
Create the app, look at the generated files

453
00:15:34,000 --> 00:15:36,160
and see what gets created in your workspace.

454
00:15:36,160 --> 00:15:38,440
The SQL database, the API endpoint,

455
00:15:38,440 --> 00:15:39,840
the hosting configuration.

456
00:15:39,840 --> 00:15:41,800
Just seeing the structure will help you understand

457
00:15:41,800 --> 00:15:43,440
how it all fits together.

458
00:15:43,440 --> 00:15:45,600
If you already have a Power BI semantic model,

459
00:15:45,600 --> 00:15:47,000
try the data app template,

460
00:15:47,000 --> 00:15:48,760
connect it to your model and see what happens

461
00:15:48,760 --> 00:15:50,960
when the app reads your measures and relationships.

462
00:15:50,960 --> 00:15:52,800
You don't need to write any code for this,

463
00:15:52,800 --> 00:15:54,560
the template handles everything.

464
00:15:54,560 --> 00:15:57,240
Then use an AI coding agent to make small changes

465
00:15:57,240 --> 00:15:59,400
at a filter, a change a color, move a chart.

466
00:15:59,400 --> 00:16:01,200
The prompts cost tokens,

467
00:16:01,200 --> 00:16:03,080
but a few small experiments will teach you more

468
00:16:03,080 --> 00:16:04,600
than watching 10 tutorials.

469
00:16:04,600 --> 00:16:06,840
You'll see how the AI interprets your requests

470
00:16:06,840 --> 00:16:08,040
and what kind of results you get.

471
00:16:08,040 --> 00:16:10,040
The most important thing you can do right now

472
00:16:10,040 --> 00:16:12,720
is understand where fabric apps fits in your organization.

473
00:16:12,720 --> 00:16:14,200
Identify one use case,

474
00:16:14,200 --> 00:16:16,880
a small internal app that solves a real problem.

475
00:16:16,880 --> 00:16:19,040
Maybe it's a dashboard your team checks every morning

476
00:16:19,040 --> 00:16:21,040
or a form that replaces a spreadsheet.

477
00:16:21,040 --> 00:16:22,120
Pick something small,

478
00:16:22,120 --> 00:16:24,680
something you can build in a day or two and try to build it.

479
00:16:24,680 --> 00:16:27,000
One last thing, this is the beginning of something big.

480
00:16:27,000 --> 00:16:29,760
Fabric apps is in preview now, but it will mature.

481
00:16:29,760 --> 00:16:32,080
Getting familiar with it now means you'll be ready

482
00:16:32,080 --> 00:16:33,640
when it's ready for production.

483
00:16:33,640 --> 00:16:35,320
The people who understand this tool early

484
00:16:35,320 --> 00:16:37,800
will be the ones building the best solutions later.

485
00:16:37,800 --> 00:16:38,720
So that's the system.

486
00:16:38,720 --> 00:16:40,960
Fabric apps is a new way to build on your data,

487
00:16:40,960 --> 00:16:43,320
not a replacement for the tools you already use.

488
00:16:43,320 --> 00:16:46,320
Learn it, experiment with it, but don't abandon what works.

489
00:16:46,320 --> 00:16:48,440
Subscribe for more plain English breakdowns

490
00:16:48,440 --> 00:16:50,000
of Microsoft's data platform

491
00:16:50,000 --> 00:16:53,680
and share this with someone who's confused about the hype, it'll help them too.

