PBIP or PBIX? – Ep. 469
The Power BI Desktop Project (PBIP) format is here, and it promises source control, TMDL integration, and a text-based future. But is it ready for everyone, or just for developers? Mike and Tommy weigh the pros, cons, and practical realities of moving from PBIX to PBIP.
Main Discussion: PBIP vs. PBIX
What’s the Difference?
- PBIX — The traditional binary format. One file, everything packed in. Can’t diff, can’t merge, can’t easily version control.
- PBIP — The new project format. Splits reports, models, and metadata into text files. Git-friendly. Uses TMDL for model definitions and PBIR for report definitions.
The Case for PBIP
- Source control becomes real — Diffs, branches, pull requests, code review on measures and report layouts
- TMDL integration — Model definitions are human-readable text files
- Collaboration — Multiple developers can work on the same project without binary merge nightmares
- CI/CD pipelines — Automated testing and deployment become possible
The Case for Sticking with PBIX (For Now)
- Simpler workflow — One file, no git knowledge required
- Business users — Analysts who don’t use git shouldn’t be forced into it
- Tooling maturity — PBIP is still evolving; some features and behaviors are still catching up
- Migration effort — Converting existing PBIX files and retraining teams takes time
Who Should Move?
Mike and Tommy’s take:
- Professional BI developers — Move to PBIP now. The source control benefits alone are worth it.
- Teams with CI/CD — PBIP is a prerequisite for real deployment pipelines
- Solo analysts / business users — Stay on PBIX until PBIP tooling smooths out further
- Mixed teams — Start new projects in PBIP, don’t force-migrate existing PBIX
The Migration Path
- Open your PBIX in Desktop and save as PBIP
- Review the generated file structure
- Initialize a git repo
- Set up your branching strategy
- Learn the TMDL/PBIR file structure so you can review diffs
Reference
Looking Forward
PBIP is clearly the future—Microsoft’s investments in TMDL, git integration, and Fabric deployment pipelines all assume a text-based format. The question isn’t whether to move, but when. For developer teams, that time is now.
Episode Transcript
Full verbatim transcript — click any timestamp to jump to that moment:
0:03 Welcome back to the Explicit Measures
0:35 Podcast with Tommy and Mike. , good morning everyone and welcome back to the podcast. Good morning, Tommy. Oh, good morning Mike. How are you doing? I’m doing well. This is a recorded episode. So just FYI for those of you who are listening either early if you are a member. So if you are a member and you want to get our episodes as soon as we record them, make sure you go down to the bottom of the YouTube page and become a member of our channel. that will get you have access to all the early episodes as we record them. that’ll be up shortly. If you’re not, welcome. And this is a record episode and we’re we’re going to go from there.
1:07 No news or other topics today. Today’s probably going to be just maybe a fast episode. We’ll see how where the debate goes here. It may or may not. We’ve got some I think some pretty good fireworks planned here. and we’ll jump right in. So Tommy give us the introduction for today’s topic. So we are finally having the conversation full conversation around PBIX or PBIP. And again for those who are unincclined to small PowerBI abbreviations, PBIX is PBX which is the binary original file type
1:40 For a PowerBI report or really just anything that you save. PBIX. What got introduced a few years ago was this new one called PBIP. PBI PowerBI re project file type. So you can simply save it. it still works and you’d still do everything you normally do in a PowerBI report. However, it comes with a ton of additional features such as source control. Well, not necessarily source control, but it comes with rather
2:12 Than being binary. Peebex was always binary in terms of not really you can unzip it and zip it thing, but it wasn’t it had yeah zip file but it’s not binary. A pix by itself is binary unless you actually archive it or change the file type. Then it’s zipped. Then it’s not binary. PBIX by itself is binary. It’s just a zip file. It’s not binary. Binary is is different. If I double click on a PBIX file, it shows me PowerBI desktop. I have to change the file type for it to become
2:44 Not binary. We’re talking about you’re using the wrong term. Binary has nothing to do what you’re talking about. Everything on a computer is binary. You’re talking about server ones. I get that. So you’re talking about the file extension as being PBIX or zip, right? So it’s just it’s just a compressed series of files is what the PBIX file is. It’s a zipped folder, a zipped file. it’s a it’s a compressed format on top of files. I wouldn’t necessarily call it binary. Fair enough. Fair enough. Anyways, but the difference is if I
3:17 We’re already flying. We’re already we’re already spark flying here. If I look in GitHub at my pubix, it just says pix change date and size. With source control, it actually basically extends. It gives me either well I think by default now tindle but before it was simply all the different files that would make up that power everything about that semantic model and that report. And this is very different from the way we work before. And really the discussion Mike that I want to have with you today or argument rather is with the introduction of PBIP in this
3:52 Conversation right? Yeah argument. is PBIP too heavy developer only or should all of our reports migrate over to PBIP? So I let’s just I’m going to go I want to unpack a little bit more the difference between PBIX version and then the PBIP format. And I don’t actually like calling it PB BIP or PBX. I call it PBIP and PBX. I’m going to use those terms. I I don’t think those other words just make sense to me. U but for
4:25 Me right so the PBIX version was the original format that Microsoft made. there was not really a lot of consideration to checking reports in the semantic model and the report were joined as one singular element which is the PBIX file. So whenever you’re building a PBXIX file you’re getting this combination of like the data model the storage of data because you may be doing import all that was combined into a series of files that were all zipped together as the PBIX format. Okay, so that’s what the PBX is. inside the PBX there was like
4:57 Definitions for how the report should be laid out. Again, all this is laid out in JSON format. However, the structure of this is there’s there was one single file and this is actually two there’s actually two purposes here. The model was one large JSON file, a a BIM file, a BIM file and the BIM file describes everything in the semantic model. All your tables, the relationships, how things are loaded, all that is stored as a single file. The same thing or a very similar thing was handled in the report side. The report was just one big file. It described all the pages, all the visuals, how
5:31 Everything interacted, all the bookmarks. So, it was very difficult to work with cuz every time you changed any little item on in this file, you’re changing a singular file for all the report side, a singular file for all the model side. Right? So, why this PowerBI project format? What’s what’s the purpose here? The purpose of this format is to really start being able to decompress or take apart pull apart basically a report into all of its different elements. So when we look at like a report side, let’s
6:03 Just talk about the report side for a second. We have individual pages within the report. On those pages, we have visuals. Inside those visuals, we have definitions of what the visual links to or binds to for data. The page has information about its properties, which visuals interact with each other, which ones do not. The page has a background, colors, all this all this information that describes how the report is supposed to be built. What the PBI format, the the project format does now is it basically breaks everything into a
6:34 Bunch of small files, which is when you build software, that’s what you do when you build software for an app or web application, everything becomes these smaller little tiny files. So the PBIP project file side of things, it’s just a series of smaller files. Okay, just to frame that out. Yeah. No, yeah. So, Tommy for a long time have known you could make a PBIX file by or or modify it by unzipping it, looking at the files, making some changes, and there’s
7:06 This thing inside that that format called the security bindings. So, in order for Microsoft to check the security of a PBX file so it wasn’t tampered with, these security bindings were added into the file when it was saved. And then if you modified anything inside the PBIX format, you really couldn’t do that because the security bindings were taking over again. It was is identifying like, hey, these files are changed. Something may be corrupt here. You may not want to load this. So the security bindings are something that was affecting whether or not you could make changes inside those files. Also, the format of the PBX file, the
7:40 Files that are inside it were unregulated. There was no standard. There was no spec. you could build whatever you wanted to build. and and Microsoft at a whim could change something and break any of your changes. So you may be adjusting something in the file that may work now but in a month from now Microsoft might deprecate something or might change the format or add something new that would cause your thing to break. So it was very very risky for you to edit the PBX files. Now, fast forward to I don’t know what year this was, 2000. I don’t even know what it was,
8:12 Maybe even a little bit before that. But Matias Tarbach was an individual who was working for a company and he decided, I’m going to build some software that’s going to let you unpack all the PBX files. And so, Tommy, do you remember the moment where we had tabular editor? SQL bits. Well, a tabular editor. Tab. Well, SQL bits is where I think Matias announced this tool that he was building. , but if you go back to tabular editor, tabular editor was doing the same thing for semantic models. Semantic models were this one large BIM file that was very difficult to manage
8:44 And check in or check out inside of a git repo. And a git repo is a storage of like here’s a bunch of files and here’s the state of each of these files. That’s what git is doing. And so tabular editor came in and said, hey, look, we’re going to connect to your semantic model using the XMLA endpoint. Oh, and by the way, if you do save as folder or save into a folder or save as files, I think is what it does. It breaks everything apart. So all of your tables become their own files, everything becomes much more manageable because the entire structure of the
9:17 Data, the metadata becomes this folder structure. Tables and files and partitions and all these things become definitions inside inside that format. So, , editor led the helm here on like making the model side get ready or get enabled, right? I could I could change a single table and only change that one table and store that one tables definition instead of having to update this one large BIM file. , that got improved with TIMDLE. So
9:51 Tim TMDL tab your model definition language is also something that has helped out here as well for the model side. There is nothing like this on the report side. It was totally open. And so now we have with the PBIP format is all the visuals, the pages, the things that make up the report are now individual files. And that makes it much more available to us to do CI/CD or continuous integration, continuous deployment, checking things into to to DevOps or GitHub and using an integrated
10:25 Platform to help you store and and selectively pick changes from things. Okay, let me just pause right there. Thoughts, Tommy? So, and this has been great for us and like I said I we have tried various ways and a lot of MVPs as well have tried to show various methods Power Apps different ways to do version control in PowerBI outside of SharePoint and I think you and Steve I believe tried Power App to check out things from SharePoint. I’ve seen a ton of different ways before we actually had
10:57 Anything like PEIP to get this done. Everything was nice and cool, but nothing was comprehensive or really I think worked with the our normal flow. , we tried things I’ve tried things with working with the API scanner that would show where it was in SharePoint and the model file, but again to actually show the checkout checkin or the different changes was nearly difficult unless it was ma wasn’t manual. So now with PBIP we actually have this thing that again even outside of deployment pipelines or even outside
11:29 Of workspace we have this language dedicated to what’s going on. So just the source control in general right Mike? So even if you take away any automation or the timal language and timle scripts just the ability to see the changes in a report in the model with a com with a easy language is basically the game changer for us add on top of that timle and again utilizing what Microsoft did was utilize very similar development projects where
12:03 It’s like okay you can we can use it in an IDE or like Visual Studio Code and you can do easy scripting find and replace. We have an extension for it. So, not only can I see the changes, but if I want to add or modify a description, I can use something. I don’t have to even open up a model file. I can just literally open up the particular file like this table timle which is pretty incredible and will update it. I don’t have to then publish it. I can just send that back to source control. So this is everything
12:36 We’ve been asking for and more. However, this changes, we’ve already talked about this a ton where this changes the really development life cycle and I think this really puts the deployment pipelines in a different place where where was the initial version control where we actually have this where this is finally solving or answering our problems. Would you agree at least with that or not? I don’t agree that deployment pipelines is your version control. Deployment pipelines is moving artifacts between dev test and prod. So that’s a
13:09 Deployment pipeline. That’s that’s continuous integration, continuous deployment. That’s not what I would call backing up. I would say the original backup of files were sharepoint, right? So for me when I was initially building PowerBI things, the the routine was build a file, have it locally on your machine, go to desktop and hit publish. That was like our pattern, right? open the file up, do your changes, and publish it. The challenge became, well, where do we store this? Right? As soon as if you’re a single contributor, if you’re one person developing things, this works just fine. Not a problem. It’s when you
13:41 Start adding multiple people to the development cycle, that’s when things get challenging. And so what and you’ll see a lot of the blogs on PowerBI.tips as well pointing at, hey, a better way of doing this instead of publishing from PowerBI desktop, publish from SharePoint. go to SharePoint, upload your file there, publish direct directly from SharePoint, and then when you’re making edits, you pull the file down from SharePoint, you’d make your changes, and then save it and push it back up. And then automatically within like 15 to 20 minutes, that file would then be republished back to the service cuz it would detect the changes and
14:13 Republish. So for me, right, the best place was SharePoint. Now, let me let me just tell you why this made sense. The reason SharePoint for storing the PBX files made sense was because certain models had a lot of data in them and when you did an import job on a file, your file may grow from like, , a couple megabytes, one or two megabytes up to hundreds, if not gigs in size because the data that you’re using during import is being compacted, compressed, and it’s stored within the PBX file. That’s part of how import
14:47 Works. So to go to a GitHub or an Azure DevOps and start throwing down like if you make a change to that file an import mode and you publish it to this to a DevOps or or check something in there, you’re now checking in every single time a one gigabyte file for every single change someone’s making, which is not efficient, not helpful, and to be honest, you don’t really want the data stored, right? What I’m trying to really store is the metadata, the definition of like how the report works. So, , SharePoint was a much better opportunity
15:19 For this because then you could do versioning on a single file. You didn’t have to have versions on the file name itself because that breaks all kinds of other things, right? So, I I think the the original versioning was SharePoint and we’ve moved on from there. So, , deployment pipelines are just helping you get developer work into the hands of QA testers and production environments. the version controlling or having copies of those existing reports I think primarily lives or should have lived on SharePoint. So let me pause there to your reaction
15:52 Tommy. What what are your thoughts about that one? No and I think that’s a huge point in terms of the everything initially on SharePoint to now. Mike, I can’t remember the last time I actually saved a PowerBI file in SharePoint. I would agree. Everything’s been everything’s been in a git workspace. Yes. , which is crazy and is almost a little scary too because Mike like I need to remember to push everything and I, , I got to remember to commit everything, but it’s so e so freaking easy to do and I love being able to see that, you
16:26 Know, those past changes and everything. , again, we’re not even talking about all the other features source control has like in fabricate as well. It has not just semantic models but again so a lot of other things everything supported at the Fabcon Vienna conference they were announcing like every single item that’s created in fabric is now fully supported by CI/CD in some form right every single item is now has the ability for you to check it in and check it out which is great I love that this is this is what enterprise level companies around beyond reporting need
16:57 To have that that is crazy though that we I haven’t saved anything in SharePoint for quite a And I I hadn’t even thought about that either. Well, there there’s a couple times like so I still use it every so often when working on some projects for clients or whatever like that. So I still use that SharePoint feature of like I have a file. I’m not checking everything into Git all the time. So I still use the SharePoint file storage. That way I don’t keep things locally on my machine. I actually treat my local machine as like an expendable product. I don’t know if you do this too, Tommy, but like I I
17:29 Try as hard as I can to keep nothing inside my desktop. It’s just empty. Like it everything’s stored in SharePoint. Yeah. , I got folders, dude. I I if anything’s on my desktop, I try to even organize folders in downloads or desktop. So, but but to the point though is like I don’t ever like I may have things on my machine, my local machine, but I’m not relying on that to be the source of truth for those items. What I’m relying on is SharePoint or other storage accounts to store all the things that I’m working on. So videos, content, PBX
18:04 Files, like they’re on my desktop for only a short period of time and every day I clean off my desktop. All the files are removed and they’re stuck somewhere in a team’s or somewhere in one drive where it’s being stored some other place. So nothing. So, the idea being if any if anything happened to my PC, my desktop, I could literally just wipe it clean. Yes, it’s annoying to reinstall all the applications again, but I can literally wipe my desktop clean and start over and it should be no issue. Oh, I got you. I got that. So, we’re we’re on the same page. So
18:35 Yeah, let’s dive in then because the one thing we’ve talked about when PEA came out and I think one of the big questions that we’ve had too is okay is this going to make everyone who is working in PowerBI need they need to know source control. we talked to Mththeus about that actually quite a bit in terms of what is the what is the learning curve? How do we actually get adopt source control? I’ve I’m sure just like myself, I’m sure you’ve talked to other teams who have asked for your guidance on
19:08 How much should we dive into the source control in PowerBI? Is it worth go with some preview? And with all that in mind, let me ask you this, Mike. Is it is it a final point now? Are we at a threshold where if I am a PowerBI pro and again not necessarily a developer but if I am a PowerBI pro I need to start focusing in by defaults working in PBIP. If you’re a pro, yes, it’s going to be an easy answer. If you’re if you say
19:40 You’re a professional PowerBI developer, I’m going to expect you to know some form of Git integration with a workspace. And so there’s this there’s this concept of the workspace synchronization between Git and you can workspace sync between Azure DevOps and you can workspace sync between GitHub. There’s a couple nuances with GitHub that I don’t really love because GitHub requires a personal access token which is again a security thing between GitHub and the workspaces in order to communicate to those the GitHub library. I don’t really love that
20:12 Interaction. because whenever you check in something to the workspace, yes, it does synchronize it back to the back to the GitHub experience. but it doesn’t really give you the context of the user of who’s making the change all the time. It’s it’s not as smooth as I would like. So I think I think Microsoft’s going to eventually work that out. It’s going to get fixed and better. But for all intents and purposes, if you’re a professional, the short answer is yes. Now Tommy, I want to throw a wrench into this. you’re drawing a really hard line between PBIP and PBIX. If you have installed the most recent
20:45 Version of desktop, the September version of desktop, there’s a setting in the preview features and I believe TIMDLE or the PBIP format is going to go more GA here pretty soon if it hasn’t been announced already. I can’t remember exactly if it’s been announced already or GA or not. , but I believe, yeah, view is now generally available. That’s not what I’m looking for. I’m looking here in the notes. , I don’t think we’re quite GA on PBIP format, but in desktop, if you turn on use the new PBIP format inside
21:20 PowerBI desktop, when you save a PBX file, it is no longer using the old format. It’s no longer using old version one formats. So even so the PBIP format even in the PBXIX file when you save a report the folder structure is now already modernized to be just like the PBIP format. You still have the same reports folders you have the pages folders. so that to so to me when I look at this
21:53 I go oh wow the report definition now inside the desktop has already migrated over to PBIP. Now when you save the file it still says PBX at the back side but think about what’s happening here. Microsoft is taking this file this PBX file and you’re publishing it to the powerbay.com the service. As soon as you do that you’re immediately getting all the it’s breaking that file apart. It’s taking it’s not going to store the PBX file as one single file. It’s going to take it rip it apart and then all the pieces of it are going to
22:24 Get deployed out to how it needs to in the service. So I think I think we’ve already tipped over the threshold of whether you’re using PBX or PBIP, both items are already using the new version of the format. And I can tell this because I just saved a file on my desktop. I made a PBIX file and I have all the preview settings turned on. Just FYI, those are things are turned on. But when I go into the definition folder, I can see there is a folder for pages. Under the pages, there’s a page ID. And
22:56 Then under that, there’s visuals and there’s visual IDs. And as I click on the different elements, there is no this is one of the the the weaknesses of version one of the PBX file version, the earlier versions, was there was JSON strings stored as text inside the early version one. version two, there’s none of that. It’s all it looks just like a PBIP. And every single object, pages, reports, the version of the report, everything has a schema attached to it. And the fact that there’s a little word called schema at
23:28 The top of every single JSON file is an indication that this is already in the PBIP format. So from my understanding, it doesn’t matter if you want to use PBIP or not. Desktop is already going to use it no matter what. And I think this makes sense and aligns to Microsoft’s broader strategy of, , Tommy, you asked me the question of, , does everyone need to learn source control? No, they do not. I think there’s different levels of like beginner, intermediate, and expert levels of using source control. And I
24:02 Think every team should understand that the workspace can synchronize with a git repo. That is that is the bare minimum understanding that you need. And all you really need to understand is everything you change in the workspace gets connected to a DevOps git repo. And when you make a change, the the button says red. It’s not in sync. And you click synchronize and it synchronizes. And boom, the file is then committed and synchronized with the git repo. That’s I think level number one. And I think that’s easy enough for everyone to
24:34 Understand. And honestly, I’d argue this is almost the same functionality as what you were having in SharePoint. pull down a file, make some changes, push the file back up. That’s it. So, I I think we’re I think we’ve already tipped over that threshold of whether you like it or not, the PBIP format is going to be here and it’s going to be on by default. So, there’s a yes and no to this because I, like I said, everything I’m doing now is completely in Git with PBIP. However, two things that come to mind. one still
25:09 In preview and yeah I’m I’m looking at what you’re talking about I believe the September update where saying timle view is generally available this is what you’re referring to or are we talking about the update after this I’m looking at the latest blog article for there was something I believe from so I believe Ruy was saying that there is full feature parody between PBIP and a PBIX file there were some features that I think were not quite like if you looked at the documentation for the PBIP format there were some exceptions some limitations. And so this last quarter of Microsoft, they were working really hard
25:42 To get rid of all those exceptions or limitations. And I think those are all done now. So I’m I’m going to go see if I can dig up the article directly from Ruie here. but but I believe from Ruie there’s an article that says they’re now it’s all like it’s all above board now like everything is being formatted. tindle view open any semantic model deep dive into timle because it was from ruy right g of t tindle happened on August 2nd correct
26:13 But I don’t think there’s anything else about enhanced format for tindle view so okay but right now we’re still dealing in a world where at least from a ruy point of view that pip is still in a preview is still a preview feature it is but I think This is something that’s going to be committed to and will be GA. Sure. I’m hoping by the end of this year, like that’s that would be my hope. If it goes GA by the end of the year, like this is the way they’re going to go. , I I think this is they’ve invested so much effort and time to get this thing to
26:44 Where it is right now. I don’t think there’s any doubt in my mind this is going to make it to GA as soon as they possibly can get it there. And again, I would I would not necessarily disagree with that. But again, Mike, there’s a still important distinction here where we’re dealing with it we’re not there yet. So for a team to say, okay, we’re going to go full into PBIP. Well, who knows what else needs to get there? The other thing that I think is a consideration here what about managed self-service? And
27:17 This is where I have a question because when you think managed self-service, I think any PowerBI pro makes sense that they should be doing pivot. That’s totally makes sense. But for a nonp profofessional, so to speak, what about them? What what’s what’s their story? Don’t care. They just keep using the PBX like don’t care. They just keep using the PBX like normal. Underneath the hood, the technology is all updated, right? I don’t really care what the the normal user just keep using your PBX files. It’s not a problem. The the the only shift that the the average user
27:50 Will need to understand is this low-level introduction to what CI/CD is or DevOps is, which is publish your stuff to the workspace. While you’re in the workspace, all you got to do is turn on GitHub, the Git sync. Turn that on. That’s it. So, it’s very easy for people to understand. The training is not difficult to go through. You can do this in less than an hour with your team and explain to them what’s happening and how you correct issues and how you do things. Outside of that, that’s a basic user functionality.
28:21 If you’re able to build a semantic model and complex reports with bookmarks, you can easily understand this. This is not a this is not rocket science. So I think this is this is a easy just go with it. Now the the nice part about this is I think is it starts at that very simple level of the workspace synchronizing with a repo. This extends way into the professional developer, like the expert level, right? If you want to build reports programmatically, that’s what we do in our tool called Power Designer. We let you build like
28:54 Report pages and put background images on them and then actually put visuals on the various pages and we use AI to autoplace the visuals, right? We’re doing all of this in a tool and at the very end we say publish the report and what we do what we’re doing is we’re taking all the metadata that we are building in our tool and we’re producing it in a way that’s letting you make a PDIP or a a a built project on the fly to create an entire object. So what we’re doing is we’re the advanced users, me, like the professional developers,
29:27 You can now build all these reports programmatically, which is huge. And this is something I’ve been waiting for. I was very early to this game. We were building PBIX files very early on on the website before it was even popular. So I would say I would argue I I think we were the first tool, the first developers out there to start building a theme generator that was building actual pages and actual templates from metadata. This is very early like no one was doing this. We’re and like even now there’s still very few competitors. There’s
29:58 There’s a lot of tools out there letting you buy, , a license to go use a a a theme generator, but no tools out there is actually building PBX files from you from scratch using full templating, right? That’s that’s something that’s very unique to our tool. So again, I feel like there’s been a progression here and I’ I’ve been front and center of this whole scenario watching things go from and , as soon as they released the theme generator portion or the theming of reports, I thought, “Oh, yeah, why can’t I generate the whole file using a generation tool?” And so now we’re here.
30:33 Does that answer your question, Tommy? Yeah. listen I I remember the days of the way I want if I wanted to edit my advanced edit my theme file I had to know very good JSON and dude the amount of hours I’ve spent on JSON there was insane now but again so okay so what I’m hearing from you if I’m if I’m going to repeat back what you said your statement here y if you’re managed self-service you’re on the fringe so to speak and you’re using payex fine fine if as long as you meet parameters where you’re not
31:07 Centralized BI or you’re not part of in a sense hub or spoke as long as you are on the outside doing managed self-service you can use PBIX we’re not going to have any issues is that what I’m hearing yes but let me also like let me give you some context like how does this roll out in organizations right how do how do you materialize this into teams right there is this concept of like the central BI team the central BI team has semantic models and maybe even a set hand list of reports and even now data agents, right? The central team controls access to
31:40 Those resources. Okay. When you start giving self-service BI teams access, you’re going to give them well, you should I think you should you should give them access to their own workspace and make those individuals members or contributors, not admins, but only members or even just a contributor to the workspace. And what that does is it limits their ability to create things. They can go in, they can connect to semantic models that the central team has developed, certified data sets, all those things. And what you’re being able to do is you’re you’re drawing the line.
32:12 And I think of this as like an onion, right? If you think about your data as being part of an onion as you open that is there’s multiple layers as you peel things back that you get to the end user, that business level, right? So you have to identify what your business users can do, right? Are your business users only allowed to view reports? That’s one layer of the onion. Are your business users allowed to edit those reports. That’s another layer of the onion. that’s a little bit deeper, right? Do you want business users to start from scratch and connect to a semantic model and build their own data? that’s another that’s another
32:45 Reporting builder. All of that’s just reporting side. That’s just purely on the report side of how you let users self-service. You could even go further and say, well, do I actually want users to create their own semantic models and and other things as well? And that’s even deeper down on the onion and more expert. So the further in towards the onion, the center you go, the more expert or experienced engineering you need to like train and get people experience on so they’re not building dumb stuff. And so genius,
33:16 Right? It’s everything you were saying was like, oh yeah, we could put this in a book and then just don’t do dumb stuff. Don’t do dumb stuff. That that that should be the title of the book. Don’t do dumb stuff. PowerBI from Mike and Tommy. So right, but all I’m saying is though, Tommy, like all these things like all the report layer stuff, the if if the business user or the business unit using the workspace is not an admin, they can’t turn on a Git integration to that workspace, but an admin can. So the admin can establish the workspace. Here you go, Mr. Business
33:49 Unit. This is the workspace you’re going to use. And then in that workspace, you just turn on the get CI/CD. And then every user who publishes from desktop, if you build from the web, it doesn’t really matter what it is, whether you’re and this is to me this is the lynch pin of like what’s so important here going towards PBIP. You’re thinking a lot Tommy is still in the desktop mode. If I start ah I see where Okay. Right. So if I’m thinking self-service, right, some self-service users are going to be on Macs or only in the web or they’re not going to have access to
34:20 Install desktop. Fair. That’s actually very fair. And I think there’s companies that have policies that won’t allow this. So how do you give them the right level of access to create content in a workspace where they can build their own reports without being hindered by the the security controls of your organization like there there’s layers to this. So this is where I think this is a really good opportunity where the workspace is created for that business user and the admin of that workspace giving to this business let’s call this the HR workspace right just turn on
34:54 CI/CD and what happens is every time a user publishes something or creates something there’s now an automatic backing up mechanism and all you just tell the user to do is when you’re in power.com if the little box says not synchronized or not committed just make sure you commit and just say what you did and what you changed. Boom. Done. And I think that’s enough to be like to start, right? It it can go much deeper than that, but that’s a good basis. I’m I’m going to disagree here in terms of just turning it on because I think
35:26 This is give me give me give me give me the downside of this. What’s what’s the problem of doing this? Just saying turn it on. Here’s some general guidance. People are not going to stand commit to main. You’re going to get things out of sync. There is no there is no commit to main. It’s only commit domain. You don’t you don’t make branching. What I’m Yes. What I’m saying is people are going to start committing if you’re especially working on a team. You’re not going to be sharing who’s updating what. All of a sudden you’re going to have all these versions. And my friend, if you’ve ever if you ever takes care of all this.
35:57 Wait, wait, wait, wait, wait. It does not. It does not. No, hold on. What are you talking about? If you’ve ever been a little liberal with your commits and committed things in in sync out of whack, you’ve seen some weird wacky stuff in in GitHub. I have at least my or you’ve just not clicked, dude. Dude, if you start committing in different places all of a sudden trying to find which area this is why branching is so important. Hold on, hold on, hold on. You’re mixing prodeveloper and basic user in one sentence. But no, here’s the thing. As
36:31 Soon as you open up Git and source control, you have now opened that door. You cannot say disagree. Strongly disagree. There are no restrictions once I open up source control. What a user can do. Wrong. Wrong. You’re totally wrong. The work the workace. No, the user cannot do that. If you’re doing the get sync, you’re you’re totally missing the feature. Then you’re thinking about having users go after git directly. That’s wrong. If you’re using the workspace synchronization option, those users don’t even necessarily need access
37:02 To all the things upstream inside that git repo because you’re using the credentials of the admin who set it up originally. So it doesn’t matter what happens. The workspace is a version of all the files that you’re creating. And when you get synchronize, you’re just taking the versions of those files and pushing them up. If you’re basic beginner users, you’re only going to publish to the workspace. You’re never going right to the git repo and having access. That’s a prodeveloper experience and we’re not talking about that here. You said, “What does it look like for a basic beginner business user?” And they’re only going to use the workspace
37:35 To create reports or they’re only going to use the workspace to publish from desktop into the workspace. That’s it. And there’s no issue with anyone synchronizing. And it’s the same thing. Last change into the workspace before commit wins. No issue. I see what you’re saying. So, we’re talking about not even desktop as much either or you saying this. Okay. I don’t think I think I think there’s layers to this onion and like when you even get into desktop I don’t need to go I don’t even need to download stuff. So, another thing that the PBIP format that does a really good job here
38:08 Is the PBIP format allows you to download things previously never able to download. If you go in and modify a semantic model using the XMLA endpoint previously on the PBIX file format, you were unable to download the file. it would be locked in the service and you’d never get it down again. With the PBIP format, you can now download the semantic model or download just the semantic model and now download just the report. So the PBIP format has actually unblocked a lot of downloading and uploading directly from the service which I think is a better way and and what happens here as soon as you
38:40 Integrate with the git integration with PBIP format you shift the responsibility of keeping the source of truth from the workspace and you move it to a actual source controlled versioning tool that can capture any change and if the let’s just say let’s just say something weird does happen. Let’s just say the users do something awkward. If they’re not committing often and frequently, they’re going to lose their changes. If they if you have, again, this is little the
39:14 Little bit of process I think you need to apply here is when those users are now using a synchronized workspace to a git repo. As those changes are being committed, if some user overwrite someone else’s changes, you can now identify which user it was, when it happened, and you can actually do a diff. And this is where the admins show up to help out with this, right? Hey, we have a problem in our HR workspace. Tommy just made this really great report. He published it. , he committed it, and then Mike came in and deleted six pages, but that was wrong. That wasn’t supposed to happen.
39:46 We overwrote something that wasn’t supposed to be there. If you’re committing frequently, which you should be doing at the end of every day or end of your, , feature that you’re building, you should be committing that back to or synchronizing your work back to the WordPo, then it doesn’t matter. I can go in and say, “Oh, I can see where Tommy’s changes made. Here’s where Tommy made the six pages. Oh, here’s where Mike overwrote them. Okay, Mike made two new pages, but didn’t have all of Tommy’s existing.” Now, you can now the admin can go in and merge those things or changes back down. So you’re now asking the admin to be the idiot proof because the difference with
40:18 SharePoint is they always are. Isn’t all admins that’s what their job An admin never have to worry about people Michael Michael you and I both and listen I want to push get to the highest mountain and share it from the rooftop and proclaim the good news. However, by the by by virtue of what it is, Git, whether it’s in DevOps or GitHub, is not an idiot proof feature. You can give some
40:51 Guidance, right? But to make sure that people are always checking the latest commits, always checking. Okay. Well, oh, so it looks like, , Jeff or Karen, you’re missing it. You’re totally missing. No one needs to check the latest commits. No one needs to check it. It just synchronizes. It just synchronizes. But if me and you are working on the same page and we’re doing drastically different things one that’s a necess why would the admin have to worry about all these oh my gosh I want to say some words here unnecessary in what world are we working on the same
41:22 Page in what world can you even do like the the question you’re you’re introducing scenarios here they’re not even realistic this is not even a real thing in a real world Tommy and Mike should never be working on the same page at the same time no matter what period Honestly, we shouldn’t even be working on the same report, frankly, if we’re talking business intelligence. Like, so that to me right there, and I would argue, how do you even handle that today in a developer with desktop or the old PBX file experience? Like, so let’s talk
41:55 About where we were, right? So, let me let me just I’m going to just expand your logic here just a little bit. And I think you’re I think you’re going off to like I think you’re contriving scenarios that don’t actually exist to make a point. And so if I’m in let’s just go backwards a little bit. No PBIP format. Tommy and I are working on report in PBX in desktop. Tommy, you make a change on page one. I also make a page on chain one. Page one. We have now two versions of the same report name. Tommy has it on his machine. I have it on my machine. It does not matter in what world. In no
42:28 World are we able to merge those changes. Does not happen even the old world. And if you publish your report to the service Tommy and then I after you republish mine, it’s just going to overwrite your report and get rid of all your changes. So at the end of the day, like we’re still having the same problems. If you’re if when you start expanding your team beyond just one developer, this is when Git and and CI/CD and the PBIP format really shines because you can have multiple people making changes and pushing things up. But you still have to treat everything
43:01 In the workspace. If we’re talking like basic users, beginner level stuff here, every item in the workspace is a single item and no two people can work on the same item at the same time. Period. Would you agree to that? That I would agree with. Now, I’m still the only thing I’m still going to put as the cause for the consideration here, Mike, is you and I are saying, “Yes, this never happens. This never happens.” I think you and I have been around the block long enough to know two things. People are dumb and there are situations that always occur,
43:35 Especially in large organizations. My only concern, and this is going to be my solution, I just don’t want to say problems here. If we’re going to introduce this then which I want to the only thing the only thing I’m really pushing back here at the end of the day is we just turn it on and everyone will be fine and dandy. I really think there there’s a baseline accountability a user needs to have before they start get us started even if it’s baseline but they need to be accountable for something rather than just say no the admin will take care of it. There’s nothing that you can break. You and I both know
44:07 That’s not true. So what I’m proposing here is let’s open up git. Let’s push to even people who are not aware of it but let’s put them through a necessary either training and understanding that what once they start using it that and anything that in a sense they’re accountable for from a commits to doing dumb things they have that accountability for and they at least have that understanding. I don’t think that’s a huge ramp up that’s not going to take two months or even a month to do. This is a week of yeah may a few yeah thinking understanding
44:41 You’re going to get a workspace your workspace is going to be synchronized anytime you see some anytime you make a change you’re going to see this thing called uncommitted go over here click this button enter what your change was and click commit done of story if the user can walk if the user goes to a workspace and they see things that don’t have a little green checkbox next to them it means they’re not committed and they’re not saved period that’s the end of story like And and to your point here, Tommy, like I’m not I think you’re misreading what I’m saying. I’m not saying here just turn on CI/CD and get
45:14 Synchronized and everything will be fine and dandy. I’m not saying that at all. I do think there’s a little bit of education that goes along with this one. And in in order for users to get access to workspaces, what I’m communicating is this is a communicated feature that our organizations decides we want to use this because in my opinion, the alternative of storing versions of files is worse. Right. The alternative to this is store everything in SharePoint, store everything on local machines, store everything on one drive. And that adds just as much confusion, if not more confusion around who’s got the right
45:47 File, what version are we working off of? Hey, how do I know when Tommy’s opening the file versus when Mike is opening the file? Who’s making the right changes when? Like and all I’m saying here is the reason there’s an admin involved on this workspace is because it’s not we’re expecting the admin to just take care of everything when things go wrong. It’s the fact that now we have a proper procedure to understand when things are changing, who changed them, and the admin can come in and like sort out the mistakes that people make. In
46:22 The other world, you could go back to SharePoint and hopefully there was a version of the file that was early enough that you could go back and get it, redownload that early version, and then remake all your changes, right? So, the the alternative to this solution is actually worse in my opinion. You’ve lost all that work. You now have to go open up an earlier version and then reapply all your work back to the files. The amount of hours I’ve spent rebuilding stuff because someone overwrote my file inadvertently is stupid, right? I don’t I don’t want to do that anymore. So for me, I look at this whole scenario and say look, yes,
46:54 It’s definitely a different way of thinking. , but I would not give basic users access to the Git repos. And again, I think the mental model that I’m using here is traditionally I think a lot of organizations think this. Many organizations thinks the workspace of where those files live is the source of truth. And for the longest time there was bugs or issues or sometimes there was challenges. You would publish a file and something you would do in the service would block the file from being
47:26 Downloaded. That was hugely a big no no in my opinion. Right? That should never have been allowed in my opinion. But because of that because of that weakness of the tool you were forced to find some other saving mechanism outside of powerbay.com. And that’s why Tommy I was like in the very beginning I was like well never build in the service that we we we would adamantly say in the early versions of the podcast it was like a big no no never build in the service because you could edit something in the service and lock that file into the service and you’d never be able to
47:58 Download it. I think PBIP unblocks this now. Now there’s nothing you can do in the service that can’t be downloaded. And so for that reason, we’ve moved the source of truth from the workspace to now the synchronized main branch on the git repo. And that’s what PBIP enables. Completely I think I would completely agree with you on that too. So so the mental model is if you understand that the source of truth has now shifted from the workspace to the repo, great. Now PBIP makes a lot of sense. you have all this hugely amounts
48:32 Of like IT technical resourcing things that are at your disposal. It’s all now supported. It all has specifications. Like the upside of this I think is just so much better than what we were doing. It’s to me a no-brainer. This should just 100% be adopted. And you just figure out what is the skill level of your team and at what level do you introduce this? Do you just do workspace synchronizing? Great. That maybe for basic users. Do you you let them go actually access the repo and the the changes that are happening in in the whatever the repo is. Well, that might
49:05 That might be different depending on like how capable that team is. Do they have development experience? I’ll pause there. I’ve said a lot of things. So, I I think that’s where I’m going to lean for especially as we get near the end here. I really do think peip is the perfect bridge between all this developer heavy focus and someone who’s just using PowerBI and I think there is no excuse even if you are in a managed self-service or more PowerBI user friendly business
49:38 Friendly department or role where you shouldn’t be using git or requesting the ability to have a source control there because what it saves the from an automation point of view it it’s honestly we are developers Microsoft has called us developers and I think we start need to start acting like it too yeah I would agree with your statement there Tommy I think we’re we’re getting more mature with the the PowerBI and the fabric ecosystem is in general getting more mature as you go here correct me if I’m wrong Tommy does the pro workspace get access to Git or is it
50:11 Only premium and above does the pro workspace get access to Git we’re going to find out in a second. You’re going to just check on that one real quick. So, you’re going to go to a pro worker that you have access to and see if the git is enabled. I thought git was only premium and higher, but I could be wrong about that. I think they changed that at some point and maybe it’s on pro workspaces as well. So, I’m just going to double check a pro workspace that I have as well. I think it’s every work, but again, do not quote me. Yeah, I think you need to be premium and
50:44 Higher. So even prolevel workspaces don’t work here. You need to be premium or higher which would mean premium per user or anything in fabric. Okay, which is most most which well most I don’t know. So this is where some of this so this is where you as an organization you have to decide something here right are we comfortable staying with a pro workspace only method or we trying to start venturing in like what’s the mix of this right? Some workspaces are only pro. You may want that backup conversion control. Now you
51:17 Got to think about does this workspace go premium per user? Do we attach it to an a fabric f? What does that look like? I think there’s a lot of implications here to to help users like use this functionality. So I really think this is interesting because synchronizing these things into pro workspaces just doesn’t work. a thousand% thousand%. And I think that’s this is to me I think regardless though the pro that pro level
51:52 This I’m going to say something like it would be this is like a mic thing. You’re not serious if you’re just in pro thing. You’re not compared to what you should be able to do and what you need to do. I don’t see that as something that you should even be worried about like just because it’s not available in pro I think it’s a bit aggressive if you say if you’re not I don’t think I don’t think it’s I don’t think has I wouldn’t argue seriousness per se. I think I think you could still be serious at a pro level. Okay. I think I think you are getting value out of that prolevel
52:25 Stuff. But I think when you start start talking about proper system design, you need to incorporate some level of leveraging fabric at some capabilities at at some space inside your your fabric tenant. like there’s going to be things there that are going to be useful to you. And I think this or the organization has to decide at what level does that make sense. You can still be a fabric workspace but have a prouser attached to things. You can also move your semantic models to other workspaces that have higher capacities that can give you the horsepower you need to render the reports. But the reports can
52:58 Be all rendered in a nonpro workspace, a nonpremium workspace or something like that. So a a small fabric skew. The barrier to entry to get into fabric is so small now you can buy it with a reserve capacity pricing at 150 bucks a month. Exactly. And this is what I’m saying is especially if you’re in a larger organization, if you have a pro workspace, you probably have no reason for source controller or pebb. That’s just my opinion. I would agree with that. That that I do agree with, but I wouldn’t I wouldn’t regard you as saying that means you’re not you’re not serious. You want your organization’s not
53:32 Somebody’s not serious. That’s what I’m going to say. I think you’re trying to pick fighting words now. It was what have we been doing, my friend? But seriously, if you’re just using pro, like your organization, that means there’s no premium or the idea is probably there’s not a ton of premium there. So, what are we doing? What are we doing? What would you What would you say for the users that are coming in using Microsoft M365 that get a pro license by default? Like, what would you say to those? All those users using PowerBI, not professional. Am I am I assuming that the organization said, what, there’s no probably no reason for
54:04 Premium at all or even premium per user for another what $9 a month for the people whose job it is to do PowerBI. That’s what I’m saying. Well, I’m not sure if I follow you because so initially you have at an M5 at an M365 level, if you do an M like an E5, an E5 gets PowerBI Pro by default. So, if your organization has already said security is important to us, we’re going to use that $9 you can get premium per user. That’s what I’m saying. For an additional $14, $14. Now, if you already have pro on top
54:36 Of that, okay, 14. So, an additional $14 for my people who get paid to do PowerBI and their role is PowerBI, I can’t give them premium per user, but then you have to give it to everyone. Okay, fair enough. Fair enough. I just told Okay, dumb. I don’t I don’t think that’s mutually excl , I think there’s a lot of businesses. So I guess let me also add something here. This is going to also add salt salt to the wound here as well. The other argument here as well is these are the same organizations that have relied heavily on Excel and they just give everyone the Excel license and say go wild team build whatever you need to
55:10 In Excel and we’ve got macros and we’ve got complex data systems and we’re loading data like like they’re building entire data warehouses and systems inside just Excel and and to say like those businesses are not serious I would disagree. I think those business I’ve been in businesses I’ve worked with businesses that have that run a majority of their large decision-m process through Excel and I think that’s totally acceptable. Would I do it in my own business now? Probably not as much. I think I would want a little bit more
55:42 Rigor around that. I understand there’s different ways and better ways and I think the the barrier to entry to get people to use more mature systems outside of Excel, it’s there. It’s available. You can’t take that Excel away from people. they still need the ability to be flexible and manipulate data as they see fit. But going back to Pro, like I I still think that that’s that same mantra, right? Hey, you’ve got you’ve got Excel, here’s your PowerBI Pro. Go at it. Do what you got to do, right? And they’re not that organization may not be committed to going into the
56:13 Fabric premium stuff yet. But I think it’s just because they’re missing the value prop, right? they’re missing missing the whole story of like centralizing data and and understand it fully. And I think to your point, Tommy, when you become really serious about your business, I think you take a very a much stronger stance with your data and your data becomes a strategic asset as opposed to something you just lob over the wall to the business users and say, “Go have at it.” 100 100%. All right, that that’s where I’m going to end because Mike, do we think finally, do you think we answered the question?
56:45 , I don’t know how well we answered it. I I think PBIP is the future and even if you are using PBX, I think you’re going to find the PBIP format is going to be subtly used behind the scenes in the PBX format anyways. So, I would probably argue the only format moving forward is PBIP and even new PBX files are going to be disguised under the guise of a PBIP anyways. So, I don’t really think there’s any any conversation here. The future is PowerBI project files. It’s going to be this new
57:17 PowerBI report format version two PBIR v2 everything will live in that mentality moving forward. That that will be the way the world works moving forward. So whether you’re using PBX or PB PIP does not matter. Behind the scenes what Microsoft’s going to provide to you is this richer more mature version of how to store files. Fair enough man. All right. So I think I am actually really want to hear from people listening to this because one of the things that we always seem to get on
57:49 Our podcast and especially the mailbag is hey that sounds great super cool don’t have it still working on this we’re still working on data marts hopefully not anymore because it’s been deprecated but like and our like our business runs on that so what do you suggest now hot shot so I’m intrigued to see what people would think especially in this conversation and where they’re at as Well, well, we hope you like this conversation. If you do have comments, please like and comment down below. Let us know you enjoyed this conversation. There were definitely sparks flying on this one. I think more so than other episodes. So, it should be a lot of
58:22 Fun seeing what the comments come out. I curious, let us know, are you using the PBIP format? Are you finding value from it? Let us know in the comments down below. We’d love to hear from you and see what you’re doing and how you’re using this format to help your business out. And do you feel like it’s the future? Do you feel like this is the way things are going to be moved for your organization? , I’d love to hear your comments below down below. That being said, thank you very much for listening to the podcast. We know your time is valuable. You’ll be doing a million other things like actually getting real work done. So, for that being said, I just want to say thank you so much for listening. We really appreciate your listenership today on the podcast. Tommy, where else can you find the
58:54 Podcast? You can find us in Apple, Spotify, wherever you get your podcast. Make sure to subscribe and leave a rating. It helps us out a ton. Do you have a question, idea, or topic that you want us to talk about in a future episode? Well, head over to powerbi.tipsodcast, leave your name and a great question, and finally, join us live every Tuesday and Thursday, 7:30 a.m. Central on all PowerBI tips social media channels. Thank you all so much, and we’ll see you next time. Stay out.
Thank You
Want to catch us live? Join every Tuesday and Thursday at 7:30 AM Central on YouTube and LinkedIn.
Got a question? Head to powerbi.tips/empodcast and submit your topic ideas.
Listen on Spotify, Apple Podcasts, or wherever you get your podcasts.
