GIT & Power BI – Ep. 220
Power BI teams have lived for years in a world of duplicated PBIX files (and mysterious ‘final_v7’ folders), where collaboration means copy/paste, and rollback means ‘hope you still have yesterday’s version.’ Git flips that model: it turns your BI assets into versioned artifacts with history, review, and repeatable release mechanics.
In Ep. 220, Mike, Tommy, and Seth unpack what Microsoft’s new Git integration in Fabric/Power BI is aiming to unlock, why it’s a genuine development workflow upgrade (not just another checkbox), and the practical Git concepts you actually need to get started—branches, commits, and pull requests—without drowning in command-line jargon.
News & Announcements
-
Introducing Git integration in Microsoft Fabric — The official announcement and a good high-level view of what source control in Fabric is meant to enable (collaboration, change tracking, and safer releases for workspace items).
-
Git - the simple guide — A fast, visual introduction to the only concepts most BI teams need on day one: commit, branch, merge, and pull.
-
GitHub Desktop — If you’re allergic to terminal commands, this is the easiest on-ramp: you can clone a repo, review diffs, commit, and push with a UI.
-
Fabricators — Mike’s Fabric community project he mentions in the episode (resources, links, and experiments as the product evolves).
Main Discussion
Git is ‘just’ a distributed version control system for files—but in practice, it’s a workflow engine: it gives teams a shared source of truth, lets people work in parallel without stepping on each other, and makes review a normal part of shipping changes. The group also calls out an important mindset shift for Power BI folks: Git does not auto-sync like OneDrive. You decide when changes are committed and when they’re pushed.
Takeaways to apply right away:
- Use branches to isolate work (bug fixes, new measures, visual tweaks) so you’re not editing the ‘live’ version while someone else is doing the same.
- Make small, descriptive commits so the history is useful (and rollback is painless) instead of a single ‘big bang’ change at the end.
- Treat pull requests as quality control: diff review catches broken fields, renamed measures, and accidental deletions before they reach production.
- Expect occasional merge conflicts—and plan for them. Conflicts are not failure; they’re Git telling you two people changed the same thing.
- Lower the barrier with tooling: GitHub Desktop and VS Code make Git approachable for analysts and BI developers who don’t want to memorize commands.
- Watch the provider story: at the time of recording, Fabric’s UI appears Azure DevOps-first, but the underlying model should expand (and Microsoft owning GitHub makes this an obvious next step).
- The long-term win is release discipline: version control + review becomes the foundation for repeatable dev → test → prod promotion instead of ‘copy the report into another workspace and hope.’
Looking Forward
If you want safer Power BI releases, start with one repo and a lightweight branch/PR convention now—so when Git integration matures, you’re ready to standardize and automate deployments instead of reinventing process under pressure.
Episode Transcript
0:25 good morning everyone welcome back to the explicit measures podcast with Tommy Seth and Mike I almost messed up there the videos were in the wrong spot I almost almost made a mistake so we fixed it it’s good to go everyone’s happy good morning good morning good morning this is just FYI a pre-recorded episode so we’re going to be pre-recording this one people are traveling again again it’s happening a lot these days however though there is a lot of other good links that will be in the description as well talking more about this particular feature as we
0:55 more about this particular feature as we talk about today’s episode and again with all things we are still talking about fabric I think you’re going to hear about it a lot longer here for for a period of time so I think we’ll do a mix like we’re not going to say I think the next two months are gonna be just fabric we’ll mix in obviously we still work in another tool I think it’s called Power bi so I’m assuming we’re still going to have some topics there too I I have been I really like what Alex Alex Powers has done and I’ve jumped on his bandwagon he’s been touting this
1:26 his bandwagon he’s been touting this thing called the Fabricators which is someone who works in fabric so I’ve been building a bunch of like Rando fun internety things across that so maybe you’ll I’ll throw that in the chat as well or the links as well there’s in addition to that you can now go buy or purchase your official genuine fabricator gear and swag if you’d like to join in the Fabricators I guess movement I guess I guess we’re movement maybe all two of us
1:56 us the what was it I was trying I was switching up like the power bi user group right yeah we had we had generated the Milwaukee power bi user group and now it’s like the Milwaukee oh no the Milwaukee Brew City Power be a plow yeah I form and now it’s like Milwaukee Brew City fabric user I was like yeah that this doesn’t roll off the tongue and then like when he brought up Fabricators and this I’m like oh that’s much better that’s much better what are we Power Milwaukee fabricator power bi Pros where power bi well now
2:26 Pros where power bi well now we’re we’re still power Biers in in wrapped in fabric wrapped in swaddling clothes it does change the conversation and also the Google searches if you say I’m a fabric consultant what is your Stitch technique for working with is that in sit-ups or on Pipelines yes
2:56 yes yes yes [Music] [Music] that’s another one how do you get your data together across oh man oh man you could go all day yeah you’re gonna build a patchwork of there you go it’s Mike sure it’s on shirts yeah exactly just like your grandma used to make make well fabric Fabricators like technically now takes you into industrial as well right it could be fabricating your own your supply chain of data yeah yeah
3:27 your supply chain of data yeah yeah I like it I like to wrap yourself a cool set of data but today but today we’re talking about a power bi specific component within fabric I would agree and and I think this is part of I’ve been also trying to explore a little bit of this feature myself inside powerbay. com just to make sure I get my head around it the the main topic for today is talking about git integration and power bi something that we’ve been longing for for a long period of time
3:57 longing for for a long period of time really trying to get our head around what this means how is this going to be used and I think this we’ve been saying all the time to their fabric this is legitimately a game changer we’ve been asking for this feature for years as a Enterprise bi solution development tool so I’m really really excited for this next feature set here and and I think for all of us all of us have a developer tendency so to speak so all of us when we heard the get
4:28 all of us when we heard the get integration when rui announced it I think we all I think I I might have jumped out of my chair either way this was all exciting for us so if you’re new to get or this is the first time you’re hearing about git buckle up get on the ride because it’s such it’s a harder learning curve oh no I don’t want to say a harder learning curve it’s a concept the to understand how the process works but once you start utilizing it it’s I’m dependent on it on it like I’ll go ahead South theoretism no
4:58 like I’ll go ahead South theoretism no go ahead go ahead I’ll go through my experience as I was learning get briefly git was in simple terms it’s very easy to get started with but it does have a lot of depth to it Way Beyond what I initially interpreted it to be when I started learning about git so I thought let get was okay copy a bunch of files to my computer work on them locally and then commit them and then push it back to these different things called branches so it was basically like I’m just taking copies of files working on
5:29 just taking copies of files working on stuff and pushing it back to a cloud server or a server somewhere that that is in fact true but as I got into more of the capabilities of what you can do with Git You can cherry pick things you can take these files you can merge things you can have merge conflicts how do you resolve that and it’s really made for a team of developers to build in software that that we’re really borrowing a lot of that core capability from and now we’re bringing it directly to workspaces so I’m very excited to see
6:01 to workspaces so I’m very excited to see how that’s going to pan out because I think this is going to be I right now the way I see it in powerbi. com you can only use devops today I’m hoping that it becomes a little bit more open for GitHub as well because github’s my my actually my preferred git provider at this point but for now it’s fine like we could use you can use devops I can’t I thought it was any git type of repository so I think the feature is you can use any git
6:32 can use any git when you go into powerbi. com and and make a fabric based workspace there’s a drop down menu you can see the features in there already you can see there’s a git integration piece so what I do is I go to git and I try to change the provider something other than devops I was unable and this might have been just me at this time I was unable to change it to anything other than Azure devops it just was devops it’s already linked up that way so I’d have to imagine that at some point in the future they’ll give you a hey put your git URL here
7:03 you a hey put your git URL here and it’ll just be able to link itself up just like you would with synapse but for now it doesn’t look like you can change it to anything other than devops today but but I wouldn’t see why they need to do anything special with devops versus it’s get just like GitHub would be so I don’t know and Microsoft owns GitHub anyways so why wouldn’t you yeah so I I guess you you guys are Avid users of git and and Mike you just outline and the the simple process by which you you
7:35 the the simple process by which you you thought get yeah helped you out what what would you guys say for people just having to come into this and learn the capabilities again like what are the Core Concepts or things that would ease a transition into this murky world of like I’ve got to go copy this library to my logo or sync or like what are the what are the Core Concepts that people need to that you’d convey that could get people started from F of 100 that’s a
8:06 people started from F of 100 that’s a great Point connected I I think it starts with the complications we’ve had with power bi in the first place what do you think about what RBI is already not related right now because I want to focus on get let’s talk again right yeah because then we can talk about like the specific solution that ruin the team and everything is but and why it’s going to work out well yeah but but since the concept of git integration is so new to probably a lot of users I want to lean into that okay aspect of things yes to like just tease out like in your
8:37 yes to like just tease out like in your experience what were some of the pain points in trying to understand how that ecosystem Works what are the things that somebody needs to set up or or understand first so I would say I’ll start off with just a couple things there’s two terms maybe three terms you really need to understand first before you start thinking about git in general there’s this concept of a branch so you need to know what a a branch of information is so what is what does a branch look like and you can think of it as like a tree to some degree and then
9:08 as like a tree to some degree and then the other one would be commit is your another key term when you’re committing something or you’re making a change there’s this concept of committing and there is a principle about I can commit things locally on my computer where I’m working on the files and I can commit things to a remote Branch or something that’s not on my local computer so branching committing and then pull requests those are the three main terms that I think you need to understand when you start thinking about git a pull request basically takes a
9:40 git a pull request basically takes a single branch and tries to merge it with a secondary Branch or another Branch so edits oh go ahead Tommy you’re ready go ahead I was gonna say I think the the big part here is the mindset changes unlike everything on your machine now like OneDrive Dropbox or Google drive it syncs automatically the difference here to your point Mike is there’s also that concept the repository where I have multiple in a sense think of a repository as a project I have a python
10:11 repository as a project I have a python repository I have a particular workspace repository that has the code files readme documentation all that stuff within that repository it’s basically like a big folder the difference is unlike syncing where everything else that we do now automatically syncs to the cloud the cloud to my point I may be making changes on my computer locally great example is you we have the let’s we can talk about the tablet editor scripts repository as how many people open
10:42 repository as how many people open source can contribute on that where I pull down Mike’s repository has all these scripts for tablet editor three all the macros I create a branch and I’m since I’m editing I can’t publish and push out his changes he owns a repository but what I’m doing is I’m making changes and updates whether modifying a file or adding new files or a new code well I’m ready to go because it doesn’t sync automatically I will try to push or in a sense
11:13 to push or in a sense I’ll do a merge change say Mike I’ve added some files or I’ve modified some of my files that has to be reviewed by Mike before it’s incense pushed or published to the repository the basically the way is whether you’re a team or an individual there’s not this oh I’d made a change and now I need to go back and where was that change I see the changes and I have to actually commit those changes and I think that’s a pretty good example of trying to put the two worlds together that that is good because it and I like your analogy
11:44 good because it and I like your analogy about okay what we’re all used to now is everything syncs automatically you don’t have to save anything and this is and in many cases like hey Minecraft tool you can do anything you want and it’s just automatically going to work and and in these cases especially with development Concepts and tools like this yes every change is intentional right so that’s everything gets reviewed and your changes don’t automatically show up back into
12:14 show up back into the core code until they’re validated and approved and and sometimes from from the description here it’s it’s merging multiple different changes at the same time to make sure that they all work in cohesive fashion in in the final product yep and another thing I think is interesting to note here about get and this is a let’s let’s take the analogy that Tom was going with earlier right we use OneDrive or We sync a OneDrive location the file that you’re
12:44 OneDrive location the file that you’re working on the Excel file the the word document whatever that may be any change you make the entire file gets modified all at once and the entire file goes up to OneDrive right computer yeah you’re thinking this concept of like the entire file imagine a project where you have hundreds if not thousands of smaller files all collected and that’s what a repo is a repo is like a collection of lots of little files that many people could be working on so the concept of git here is
13:15 working on so the concept of git here is okay the the repo is a full collection of files we have these things called branches and typically you have this one called main branch which is like your Master Copy it’s like the the thing that you’re going to produce that’s your final product and then if you’re going to make changes you’re encouraged to never make changes in main which my developers yell at me all the time when I make changes and made them like oh it’s going to change one thing here and I just whip up a little change in Maine and they’re like we didn’t do a pull request you didn’t do a branch you didn’t copy down your code no one
13:45 didn’t copy down your code no one reviewed your stuff I’m like dude I was just literally adding a comment they’re like don’t do that I’m like I know so yeah developer developers World exactly two worlds combined yes I’ve seen I’ve seen like memes like I only work in production like that’s like that’s like me me so so not good behavior not good behavior behavior and the reason I bring this up to is like there is like there’s a strong culture around data development data
14:16 culture around data development data engineering right there is a very strong that this is something that has been matured over years and years and years of work about how to develop in software and code and this works really well and so there’s also this concept and again another another concept I think that’s very relevant here is there’s this concept of these files or this main branch actually lives in two places at all times it lives in the server where it is officially deployed to a web app or your power bi workspace
14:48 a web app or your power bi workspace whatever it is there’s a server copy of that and there’s always a local copy of that and this is what Tommy I think you’re referring to right so the entire repo basically is copied down to your local machine and you’ll have what they call the Main Branch locally your main branch could be out of date or behind what was happening in the service and so there’s there’s a constant need to go fetch the changes go fetch which was different and so you’re always fetching the different branches and you’re collecting that information
15:18 and you’re collecting that information locally and actually for a new user interested in learning about git GitHub actually has a really good integrator or a little desktop application that makes it really easy for you to see see which files have changed are there any diffs between this file you have locally and this file that’s on the server what does your branch look like compared to a main branch either locally or on the remote and they call like the one that’s somewhere else the main server is called like the remote and so there’s a lot of really good tools as a new user I really
15:49 really good tools as a new user I really liked the interface of Visual Studio code because it has a nice little git integration as well there’s no I don’t again Michael’s not a true developer I’m trying to I’m a wannabe developer so in the command line you can literally command line all the different things you need to do to be able to use git appropriately on your computer like get push get commit get merge all these get fetch all these commands and I don’t write the commands I would rather just have a little UI that says okay I’m going to commit this
16:19 that says okay I’m going to commit this I’m going to push this I’m going to pull that there’s buttons inside Visual Studio code and or this GitHub app that actually makes it pretty dang easy for you to connect to a repo get the changes down locally and figure out what you made and how to get those changes back into the server because like all things there’s another language tied behind this called get bash we’ll not get into by the way yeah yeah yeah yeah there’s a new Powershell module and python module called Powershell AI it’s basically chat GPT in Powershell and you
16:50 basically chat GPT in Powershell and you can basically say copy this repo or push the changes write the code and I’ll execute it in Powershell pretty cool but we’ll talk about that another day that’s another topic that’s another day I I want to go off that topic real quick what you said because these are really important Concepts because this was the hardest part for me getting started with Git was why isn’t synced I don’t know there’s a change but get is basically assuming well not basically it’s assuming that the type of repo is code or in a sense some package
17:22 repo is code or in a sense some package is not expecting something binary that’s where it really works it doesn’t you’re not going to store your Word documents and your PowerPoints in git it’s basically those individual files and that so that’s where I don’t think no one has really used power bi before for jet because well except Matias with with PBI tools with PBI tools but even then it’s but it splits up and that’s a it’s not a pbix you’re checking version history so I I like I I that that’s a
17:52 history so I I like I I that that’s a ton of great beginning stuff right but before we geek out into the solution right right why do I as as a as a a power bi Pro in in an organization why do I want to put my power bi reporting into this developer’s world because Tommy brings all my stuff all the time oops Yeah and Mike and Mike edits production all the time like that’s the
18:23 production all the time like that’s the problem here Mike still edits the main branch Mike but that was a good point though like in terms of breaking or changes if someone let’s say me and Mike were working on a a project together or we are did we move to power bi yet or we’re talking about power bi just what I’m just asking like what are why what are the use cases like so why do I want to put what what parts of the organization there is a lot of power bi Pro users right all the way down to the person who’s just learning
18:53 down to the person who’s just learning it from Excel should everybody try to do this or should only would only certain areas of your organization be interested in in doing that in integrating your your pbips and deployments have we talked about that yeah so I think I think we should go I think we should go a step deeper so let’s I think we should pull back I think your question is very valid use cases I think is very much there well let’s do use cases let’s let’s skip the pbip for now I think it makes sense Seth that’s let’s do use
19:23 makes sense Seth that’s let’s do use cases so one use case that comes to mind for me initially is because there is this concept of a single source of truth of that repo you can have a main branch you can have a branch that is test and you can have a branch that is Dev the way I see Power bi. com working right now is there’s a one-to-one relationship between a workspace and a single branch on that that repo so there’s there’s a there’s two use cases I can see here one is I want to have a single Source
19:54 is I want to have a single Source control I want to have a single definition of a file that needs to move from my laptop to a Dev workspace and then once we approve the changes I want that same definition to migrate over to test and I want the same definition after the QA and the quality assurance looks at the data model and everything looks like it’s right then we move over to prod so just the sheer nature of moving a full power bi file from Dev to
20:21 moving a full power bi file from Dev to test to prod I need the ability to be able to track that and be able to note if I need to make changes against those things things so that that’s just one use there’s probably another another number of other use cases here but that was just one that I’m thinking of initially is is you can link different branches and have those different branches go through different environments that’s probably the most important let me tell you for all developers out there what you currently have in your folders for new reports you have sales report and then sales report V2 because you can’t over if you don’t
20:54 V2 because you can’t over if you don’t want to work on your current version you have to create a duplicate this is life before you get sales are important sales report underscore test like there might be two of those like and right because you’re not using multiple workspaces yet right and you no longer know how far you are it’s it’s not import or in a sense it’s basically its own data set there’s a lot of complications if you’re trying to make changes to the original report and if you’re a good developer you’re not making changes to the actual report or trying not to and there’s a lot you can use deployment pipelines but too often you’re basically creating a replica or a complete
21:25 creating a replica or a complete duplicate yep Mike’s Point now with again where that solution comes in is you can have these other branches that are still connected to the same model still connected to the same Source you can see the individual changes not like how far are we away from the original which is so hard to see in just a normal pbix pbix would be interesting to me and I’m going to make one point and then pop back to a different different one yeah is I wonder if this is going to make it easier to like you’re talking about Dev test prod but in many cases organizations have
21:57 but in many cases organizations have individualized environments for Dev test prod yes which which should be seamless well which we could use but I wonder if this is going to make it easier to like take the power like the report side of things and and have that consistent code go through all the environments but switch models because the data is different many times between those environments right so either the model and the report are changing yep every time you’re
22:28 are changing yep every time you’re deploying into each one of these environments yep so it’s not the same thing or we’re somehow going to be able to have a consistent thing that goes along for the ride in each one of those environments I I think well I’m also leaning on I have not seen any direct demo of a deployment element that has multiple environments of where you’re deploying different the same report across different data sets however what you’d
22:59 different data sets however what you’d be checking in as you were doing you could be doing a git ignore or get nor on some of the definition in this new definition where you would ignore the model portion of a report potentially and you would then deploy just the report element or the report objects into powerbi. com which then this also gives the ability to us to only deploy the model or only deploy changes to the report so now in power bi desktop we can make changes and we can pick what pieces
23:29 make changes and we can pick what pieces of that we’re actually going to deploy now moving forward we don’t have to deploy all the reports or all the all the data sets now yeah and and let’s keep going on on this like the the more granular fine tune you’re taking like you took my use case question into this the specifics where the point I would make is where I was aiming at is this is like the teams right in an organization who’s going to be using this and it’s going to be the like the bi teams that are already close to the developers it’s not you see the Champions or super users
24:00 not you see the Champions or super users that live in business units that are just generating power bi reports or are you saying now with your look that I don’t know you would start throwing really heavy technical devs I’d go the opposite way around instead of thinking about the people instead of going after Champions and the personas of the people working in that right so there’s like maybe a central bi team and then there’s Champions I definitely think Champions have the capability of understanding and being able to build and build successfully with this
24:30 and build successfully with this capability that’s a lot of UI it’s a lot of clicking on UI stuff so I don’t think there’s any any I don’t think there’s any reason why you would say they the the person wouldn’t find Value from using that however what I would say is I think when you’re talking about certified promoted or just regular content I think that’s more appropriate the break point so you could have Champions working on certified content and I think you would want those certified or or probably a Champions working on a certified piece of content
25:02 working on a certified piece of content whether a data model or a report yeah then then I think we’re using git then you’re then you’re educating that champion around potentially using that and integrating with that because now we’re talking more corporate higher level reporting and and there may be a champion in a department that is doing this for their team but but this is this is where I’m like I’m not completely aligned with you right because what I would argue is a certified data set or a report just has like we we hope to have slas around the data we hope to have
25:33 slas around the data we hope to have like all those things should be in place yep but this is how I manage the report this is not how I manage the data and if I’m if the if it’s coming from a certified place and the person who owns the report is certifying that when the report gets out there it’s valid and good your your line of thinking would force a business user to adopt a very technical tool to to click publish right and and I don’t know
26:04 click publish right and and I don’t know what the appetite and and the reason I I’m leaning towards not agreeing with you is the the cycles of development and tools like this are put in place for development teams and software development so that when there’s consistency and Trust in an application being deployed on across an organization so from there I see your point but those technical teams also get leeway from the organization in
26:36 also get leeway from the organization in terms of how long it takes to do something that is okay to push through those those like pipelines and those code reviews and everything to get something out the business Works in a completely different way like the front end is usually like turn around turn it around turn around turn it around I’m not I’m not I’m not disagreeing with you from the fundamentals of like yes it it like all these points I’m making would be solved by having git what I’m
27:06 would be solved by having git what I’m what I’m what I’m butting against is I don’t think business would be like yeah I’m totally okay with you spending more time than than clicking the one button to validate that the change that you’re making or the team has made is is a is a valid one I see your point and I’ll raise your point a I’ll raise your point a imagine imagine a world will so you don’t need to be working in desktop and you don’t even really need a ton of work around going
27:37 really need a ton of work around going into git and and Publishing things to different branches right so another Avenue of this is okay so when we’re thinking a Dev team we’re thinking like multiple branches we’re thinking merging commits doing reviews I do think there’s also this area of what I used to do in the very beginning I would make a main branch and everything all the work I did was in main branch I would commit directly to main branch and I would make all my changes there so I think that power bi Champion or that business user group would be very comfortable being able to
28:07 would be very comfortable being able to say I’m going to go into this workspace I’m going to connect my devops to this workspace and then it just works you can edit in the service you could edit in desktop and now all that stuff can get synchronized together so imagine a business unit that doesn’t use desktop or it wants to use it less now this this feature unlocks the ability for you to go into report edit it make its changes and commit those changes right back to the branch throw yourself so throw your like okay
28:37 throw yourself so throw your like okay you’re an anomaly because I say throw yourself back to like when you were using Excel and you’re the guy that’s trying to break it I’m like writing Macross but what about the 95 of users around you right what was the frustrating point they couldn’t do vlookup they they kept doing the same thing happy paste manually move from tab to tab work through the Excel like and why because that’s all they were ever shown
29:07 because that’s all they were ever shown and the interest to go further is isn’t there and or like the minute you say take a person like that the minute you say devops but that’s not a champion shutdown no that’s not a champion if we’re introducing these Technologies if we’re introducing these Technologies we are changing processes and we’re also really defining the lines because we’re introducing new very to your points that very development based technology this
29:37 very development based technology this is not this here’s a new bookmark feature click on a UI right yeah you can see the code underneath yeah and they’re like but because let’s go back to our principle that people process technology the technology now introduce is development Focus this does take someone requiring time to learn and adapt because there’s a lot more process now they have to learn this is not just a simple little process change like just publishing an app and we’ll review it after thing or put so you’re
30:07 after thing or put so you’re requiring that person now to adapt a lot of process a lot of intake of time and concept for a business to user where this is not their full-time job to be an RBI developer and listen I would like them to I honestly like that would be the goal but they’re like on marketing dude like what the heck like
30:29 dude like what the heck like like why I have to learn what I get I just want to see my bar chart now you’re telling me to look at code like wait but I would agree with you like I agree with you in a non-champion Persona 100 this is exactly what I would agree with like what you was described there is a non is a non-champion Champions are so close to some of your leadership Champions are also the people your center of excellence is integrating with I think I think your Champions are way more capable than you’re giving them credit to okay so but at the same time
31:00 credit to okay so but at the same time I’m a champion yeah correct like how how far along you are in your your adoption journey and your data culture I think dictates like what the level of champion we’re talking about I’m just looking for the person who’s writing reporting in that business unit yeah like they they don’t have to be the Uber the Uber person who’s who wants to learn get right and I think in there there’s some Nuance here we can argue all day like depending on the types of organization I’m just saying like they
31:31 organization I’m just saying like they they get stuff is probably too advanced for many many business users I think what’s honestly going to happen is there’s a split of the champion there’s gonna be like a sub champion who is still in that role super Champion ultimately ultimately it’s actually it’s actually gonna come down to the business right like if the business knows that there’s a tool that is very developer-centric that would lower the risk to the organization of seeing errors in reporting maybe they
32:03 seeing errors in reporting maybe they say learn it I want I want everything to go through there think about this Mike imagine says mike you’re going to be a finance Champion here’s QuickBooks here’s some accounting principles go ahead and learn it because you have to do that if you want to be a finance Champion you get some great benefits and you’ll be in a demo but like there’s a whole other set of Concepts here that are outside of just data here that you don’t need to know them that’s my point the point here is
32:34 them that’s my point the point here is the the synapse environment today already has this built in 90 of people who are using synapse today don’t even know how to check in check out do anything with get within synapse fine there’s literally a drop down menu or not so I think you guys are thinking like full like branching and checking in and checking out in desktop you don’t need any of that like think about how simple this can be too so this this feature spans a very simple user base all the way down to the super technical so the simplest implementation of this would be is go to a workspace
33:06 would be is go to a workspace open up a devops git repo connect it done walk away change no Behavior no process change all you’re doing is adding a git repo to that the only additional thing you’re getting now is by adding the git repo users can then go into the service edit reports users can download reports from wherever they live edit them whatever they want and republish them to the service the service will recognize hey I have a git repo attached to this you just published a brand new report all the definition that report is now different there’s no
33:36 that report is now different there’s no change in any behavior for publishing the only difference is there’s now a new icon in the upper right hand corner that says the the the workspace is different than the repo and you just click synchronize I don’t know but that’s well hang on timing hang on yeah this gives you tracking changes I’m saying there’s a there’s a whole layer of here that’s like okay I’m not doing any any major check-ins I’m not doing diffs like ignore all that yes I agree with you diffs changes BS code all that kind
34:06 diffs changes BS code all that kind messed up yes focuses on the developer but now I have a full version control of every single file and now again if Microsoft builds the UI around this where they can say okay here’s here is your branch here is every single person who’s been making changes on things and oh by the way we want to roll back to a certain period of time well now that everything’s in a git Branch you you could potentially conceive and again I haven’t seen the demo of this yet but you could conceive a okay here’s all the different changes that were made which
34:37 different changes that were made which change number do you want and you could literally go back in time and say okay I want three days ago I’m going to restore to that state and it just does it it’s just it’s gone so I think in that simplistic term I think so where I’m I’m so I’ll say this I’m agreeing with you guys I do agree with what you’re saying when you if you’re talking about if we’re going to use all the features of git yes I don’t think you’re going to be leveraging full GitHub for that business unit however from a change tracking standpoint or
35:09 tracking standpoint or or even or even having to do like potentially well there’s other things here but I think for just for a train change tracking standpoint there’s none of that today we don’t have any ability to to publish something into a workspace and get a state in time of that workspace is so I think this at a very high level and I think Microsoft will make it easy for us to be able to publish edit build inside that service or desktop and then just have commits and updates basically on the branch and that will then change the workspace so
35:39 that will then change the workspace so it makes so it synchronizes with what’s in git but so but there’s and I agree with that to an extent but the problem is if you’re having the champion work on something that is promoted and they’re just publishing and published to the workspace workspace right and that’s what we’re trying to avoid avoid again you’re talking business unit you you just right there your words right there automatically post yourself into not a business unit if you’re not talking Central bi so like again I I’m not saying it’s right I’m not saying
36:10 not saying it’s right I’m not saying it’s the right way to go all the time I’m saying I think based on what I see from the feature you can have a business unit just drop in a git repo and just continue their daily work that they normally have yeah first change last change in wins all that stuff and so you don’t make any change to the existing process well what’s interesting is the the rebuttal that I was thinking through was like okay well I already have that now especially with my auto syncing in OneDrive SharePoint and your version I’m version controlling all the time before I publish however but do we love that that but that falls apart with
36:40 love that that but that falls apart with the new modeling in the service yes is there’s no you can’t do that there’s no sync back to my own drive files correct I would agree if it’s a like that would be a great like -oh or backup a backup system within the workspace where you yeah plug into git and then a new user when you’re publishing or it says you you did some change click click the push it back button and then you’ll be safe and no matter what you’re doing you can always
37:10 matter what you’re doing you can always restore it to a certain point in time so I I agree with that and I think we can move out and let’s say you guys have other other areas so you guys brought up single source of truth right get introduces that the other thing we we talked through which I think is interesting is on some of the larger reports the ability for multiple users to work on different aspects of the report yeah that’s another big one and and then follow once again another developer process where you’re actually
37:40 developer process where you’re actually doing a code review as you’re merging these these two things back together so you can actually have multiple people working on different aspects of like each on a different report page which man that’s mind-blowing that’s that’s awesome I think that’s part of the the wins that we’ve all been wanting where the the collaboration was more or less impossible it’s amazing to me that we’re finally doing this because in powerapps and I think I have a feeling the Power Platform with the get repos and with
38:11 Platform with the get repos and with some of these push to the Champions I think we’re gonna see a little more Power Platform and power automate to make a lot more of this seamless I’m sorry we’re talking fabric we don’t those those all Fabrics aren’t the universe my friend oh it is dataverse was the platform Dynamics all of the yeah no it’s not all the data pipelines everything that was dataverse and all of that there’s a
38:42 was dataverse and all of that there’s a synchronization it flows perspective stored everything in CSV files on the dataverse fabric is one Lake based and everything that’s morphed over into there is Delta parquet whether or not these systems communicate with one another and you’re saying that they’ve said that date of birth is now part of fabric it’s still its own product but they’re going to do a synchronization or a real-time synchronization between Fabric and dataverse so sure database is still its own product everything they want
39:12 its own product everything they want everything in one Lake that’s why yes because you can extend and all these tools get much better when they don’t have to store in CSV files in a cobbled together way on the back end I say things all the time on LinkedIn posts and they do not get saved I’m sorry that bugs the heck out of me so like dataverse so how I think so dataverse is Dynamics yeah Dynamics
39:44 so dataverse is Dynamics yeah Dynamics is that thing and so what I would say is Dynamics is not just CSV files and flat stuff like Dynamics is like there’s like event hubs and there’s Cosmos DB and there’s SQL databases and there’s like so Dynamics has got a lot of things under the hood that makes all that thing work when when Dynamics materializes its data to other platforms it looks like dataverse so it looks like a series of tables that you can go hit and use or edit or modify and there’s like an integration between what is dataverse and what what the Power Platform and particularly fabric is going to be doing so I wouldn’t I
40:15 going to be doing so I wouldn’t I wouldn’t lump them in together as the same yeah well they’ve been doing this for a while so I I I’ll backtrack a bit but they’ve been doing this for a while with Cinema so set this one a stake oh you can so basically the same integration has been available with
40:36 integration has been available with power with the dataverse before where I can connect my dataverse to synapse workspace and now I can do the same thing with fabric and I just pushed yeah but a synchronous have you done one to synapse before well it’s better than pulling from Power bi I would agree even even syncing dataverse to like send outs has not been the most elegant thing for me I’ve had some struggles with that and not to go too random but my Microsoft my my Fabric’s freaking out right now I just was testing something out I said we’ve added premium per user to your colleague which I’ve had and then it
41:07 colleague which I’ve had and then it said you can buy this later in 2021. so a few bugs it could be a couple bugs still so far so wow it’s been around for a while then yeah it was about yeah I was like well I’ll beat you too at Microsoft but that’s funny yeah okay so the collaboration so so so let’s let’s dig into like what are what are some of the new things specifically with power bi files in get in this integration that obviously we’ve talked about like we
41:38 obviously we’ve talked about like we can Branch we can merge we can do all these things that git provides what is what does this look like now from how did they organize this how are they breaking it apart how are they break in part the power bi files or like what is that Mike’s new hat yeah yeah no I tried making one last night the the maker is not is not built yet so couldn’t make a hat so it will incoming as soon as the the the Hat making tool in my website works again so now I have officially Three file types so yeah exactly pbix a pbit and now a
42:11 so yeah exactly pbix a pbit and now a pbip which is power bi project file so let’s yeah let’s go in deep on like what’s this pbip thing because this is I think really the Workhorse of what we’re talking about here yeah so from my understanding based on what I’ve seen so far there is and whenever you do whenever you do a full PBI P file so now in desktop you should be able to go into the desktop you should say save as pbip and what that’ll do is it’ll generate a series of files and folders with that when you
42:41 files and folders with that when you talk about git git also has its own photo structure there’s a DOT get file there’s a git ignore folder or file as well so there’s actually some files that come along the ride for a git and there’s actually a new file type called pbip which is just a Json object that has the definition of what report what model you’re looking at and if you click on the pbip it will pick up the folder named the report and it’ll pick up the model named the data model so I’m I’m really excited to see how
43:13 so I’m I’m really excited to see how this is going to work the demo only showed two Thin reports and one data model inside the demo but I would imagine in a workspace you could have multiple models multiple thin reports because it’s synchronizing everything with a workspace together and and this this is where I want to like lean in which is one some of the some of the Integrations or methods that people have had I don’t I I don’t recognize a thin report do they
43:43 report do they right right whereas this this integration is fully recognizing the fact that or supporting I should say a common practice of having a single model that supports many different objects and the fact that that was demoed was awesome to see because that is exactly how many many many people how you scale the power bi solution yeah totally and to be able to manage all of those artifacts on singular models within the
44:13 artifacts on singular models within the same project it was built the right way right and yeah it was the Ruiz on point with what he was like yeah he had the right design and he was definitely coming so rui came from the business he came from like a company that was highly technical I think Dev scope is where he came from and he was already hacking these files way way harder than anyone else was at the time and so he understood what was going on and so the fact that Microsoft hired him away from devscope was awesome in addition to that he really
44:43 in addition to that he really understands what development Cycles should look like and and so I think really he was very much the right hire for that position to build this feature because this is to your point Seth like in this pbip folder when you’re building you could have five reports reports and one folder for a data model or potentially I think you can even have multiple data models inside this folder structure so this you say that and that’s where I go okay I we didn’t see
45:13 that’s where I go okay I we didn’t see it in a demo but that would make a ton of sense because then I could have my Dev test prod all right all right there and if I have all those objects in the same yep project my assumption would be that I could run my thin reports across each one of those models as I deployed data changes and report changes and the pbip file is the thing that changes what you look at right right well so the pbip file has a definition of here’s the folder that has the report in it here’s
45:43 folder that has the report in it here’s the folder that has the model in it so you could literally copy the folder that is the model three times and say model. dev model. test model. prod and then you go into the pbip folder and you physically change or comment out or uncomment different things you want and so you now can then change the pbip folder and literally the PVP folder was just a pointer to where the reports exist and what model you’re looking at so I could take the same report run it against a model that is Dev
46:17 it’s like that but it’s it’s a little bit more it’s like it’s not as challenging as updating the connection strings and there’s this whole issue with the model having data in it right so the this new method will be smart enough to know hey I’m going to pick up this model there’s a whole bunch of tables here that don’t have any data in them because one of the challenges we have today with checking power bi files into git now is that file could be 500 megabytes because there’s there’s literally data stored in the pbix file so what this method is doing is basically allowing you to strip out the portion of the Single part the single
46:49 portion of the Single part the single file that is the data and say I’m going to ignore the actual data part but I’m going to keep the definition of the model and the report so now you’re really checking in just the model report definitions the metadata and you’re ignoring the data those could go independently too yeah right like I could just have model changes and validate that it’s coming through yeah are we sure this is not though the direct Lake though this also works with import I haven’t seen that yet I’m obviously oh yeah it works for import or
47:19 obviously oh yeah it works for import or directly yeah what was that what about cross workspace if I have a thin report another workspace he said it’s just a pointer then so it depends on what you’re looking at though like if you’re looking at if you’re looking at local right if you have it locally it’s not going to work I don’t see why it wouldn’t work well think about it your direct not unless both the workspaces are connected the same kit but you’re not going to pull the model down locally if you’re like so I’ll say it this way from what I understand of what I’ve seen the feature so far there
47:50 what I’ve seen the feature so far there is a connection string that’s located in there and if you change the connection string object you can point to a local model or you can point to a model in the service so if you have thin reports there is the ability to say this report points to this service element which is the URL of that xmli endpoint so it knows it’s going to be smart to say I know that model is out in the service there the tricky part too is you can also do this I think also you can also put in localhost so you can also do localhost inside that connection string
48:20 localhost inside that connection string piece as well so you could bring down a repo that is a bunch of thin reports you could bring down a different repo that is your model load up your model in desktop change your thin reports in the pbip file to point to your local model based on localhost which again there’s already we already have in business Ops we already have a number of tools that help you find the local host and Port I think you could just pop that into the pbip file again you’re editing the Json and saying oh by the way don’t go to the service go here to this local and as model and it’ll just work the thing there’s so much more flexibility now the thing that’s scratching my brain
48:52 now the thing that’s scratching my brain though that doesn’t make sense is what where does the hook of connecting a workspace to that get repo play repo play that’s right I understand like I’m syncing objects back and forth with a singular git repository what if I’m like traversing I can’t travert what if the workspace is owned by a different git I suppose it wouldn’t be would it no no I believe you can only have one workspace one branch
49:22 one branch so there’s this one branch okay that would make sense to me so so that you would have a different you would have a you you potentially have a branch that sends thin reports into a different workspace yes correct so you could take so okay I see what you’re saying here so there is so patterns and patterns and data modeling right one is make a Dev test prod of just the data sets make another workspace or a series of workspaces that is Dev test prod of just thin reports
49:53 is Dev test prod of just thin reports and so that way I can then give metered access to the people who are building thinner ports versus the people who are building data models so and then the data model connects back to the standard reports I think there’s no reason why you couldn’t have a git repo that has Branch Dev Branch model and so in those branches you could contain those things I’m not sure if that’s what you’d want to do ultimately you may actually have two different repos where is model repo and thin report repo and then what you’re doing is you’re then publishing the main branches of those two
50:23 the main branches of those two separate repos to two different pipelines and each in each of those repos you’d have Dev test prod in each of those two different repos what’s your main branch then though prod that’s your prod workspace so you could do you could manage it both ways workspaces
50:45 ways workspaces I I was just like I’m not as familiar so I’d like it seems like I don’t think I would recommend size oh yeah figuring out how you would how you would support scenarios where you would have thin report like a model in one workspace and your thin reports in multiple like it could be in that one or they could be in a different workspace yes correct all this I’ll play with that a bit more I haven’t gone that deep on them but I think you would make two I think in my mind right now looking at what I understand today it would probably make
51:15 understand today it would probably make most sense to make tube repos one for just the models and one for just the thin reports and that way there’s a full separation between those two items and then if you’d have Dev test in Maine and then that would go to Dev test and your production environments more fun to think let’s take a quick step back we literally said here’s git guys and we’ve counted the branches what about the collaboration feature and I think I I I want to really hammer down on the collaboration effort of how this Bridges the user
51:47 of how this Bridges the user and like even the champion with the developer because one of those demonstrations rui did that I think is going to be the biggest probably the easiest low-hanging fruit is I can edit in the service and that’s pushed back so I can also focus on doing model like simple modifications in the service and not worry about my desktop being out I’m out of scope or outer version how do you handle something else at a version well yeah so we’ve now solved
52:18 version well yeah so we’ve now solved that yeah I think I think to me the main insightful piece that I find here is I can make now so what this does this solves the whole problem of I need to make changes in the service I need to make changes in desktop right so now one thing that we’ve one thing that’s changing my process now with this addition addition if something is in git I’m not as I’m not as inclined to say you can’t do anything you can’t edit the service right yeah so I think I’m more accepting of hey you can edit in the service but
52:48 of hey you can edit in the service but if you do we we recognize there is a common definition of what this workspace should be whether you’re looking at desktop or whether you’re looking at the service it’s all there and so now I can say okay if you’re making changes in the service my recommendation would be is make sure that there’s a minimum of a GitHub repo attached to it if you’re not going to put a git repo in there don’t make changes in the service because you can never get those files out and you’re constantly downloading that file to whatever people are working in and so another challenge I think that has been somewhat resolved here a bit was you
53:19 somewhat resolved here a bit was you could go get files in the service those files are now locked or if you change them on incremental refresh and you would you would for a period of time if you change the report and model if you change the model and had incremental Refresh on it or changed anything with the XML endpoint you could never get it out the definition would never come out to you so this is huge yeah so now you can actually now you can say okay even though I’m going to be changing P so it feels like what they’ve done is they’ve unblocked a lot
53:49 they’ve done is they’ve unblocked a lot of that feature set as well so now I can make changes in the service I can have it on incremental refresh I can keep the model in the service and its data right so the data can stay there but I can at least download the definition of that model and work on it locally and then push it back up and we’ll have to see how it finds itself and figures itself out when it gets back to the service yeah it’s it’s I’m really excited about this though I think I think this is going to be a really big Improvement what do our overlords say man I’m like oh that’s a good question I gotta I
54:19 oh that’s a good question I gotta I gotta go so I add I asked chat jpt question earlier it probably was a very lame question so it wasn’t the best so I might need it Tommy you might have to also spin up a little chat. ai. com here and see what you would say what’s what would be the right prompt for this one but I prompted a Bing chat I said teach me about git as if I was a brand new user and it didn’t really do so hot it just gave me like sure sure git is a distributed version
54:49 sure git is a distributed version control system that allows you to track changes in your code base over time it’s widely used by developers to collaborate on projects and maintain a history of changes made by the code base here are some resources that can help you get started with Git and just basically list out a bunch of websites like tutorial on javapoint but tutorial and beginners so hope these help see ya so it jumped I I asked why does power bi need get integration all right what’s is it thinking the integration power bi can significantly improve the development and deployment
55:19 improve the development and deployment process of reports and dashboards especially in larger teams and complex projects here’s some reason I’m acting like it’s completely correct Version Control it is popular version control system changes the files over time this is particularly useful when multiple work on the same power bi project how’s it no project of what allows into overwriting each other’s changes collaboration branching merging with getting creative separate branches automated deployment with CI CD tools audit Trail to see who what changes did
55:49 audit Trail to see who what changes did what and it’s going to it’s treating power bi like it was just a project it’s not saying our rollback rollbacks that’s something we’re talking the the the biggest win or aspect that we didn’t talk about at all which we’ll just end with like I think is the already developer Centric probably massive pain point when utilizing power bi as an embedded solution in an application this this is this is going to make developers
56:20 this is going to make developers extremely happy that we can now like have the power bi reports and those changes go out with releases of the actual application instead of being this own independent thing that just gets like oh guess what it showed up right what do you mean it showed up like you can’t just deploy changes into the application despite the fact that that’s exactly what we were doing yes when you’re you have customer facing reporting now everything can go along those Sprint Cycles the release Cycles
56:50 those Sprint Cycles the release Cycles the actual planning and that’s super exciting so I’m a little scared with chat GPT as at the very end it says remember as my knowledge I don’t think there’s good integration with power bi oh yeah the whole explanations like maybe you do maybe you do so I wanna I wanna point out your point there real quick Seth I think you made a very interesting point this is going to be more of a philosophical in nature just very briefly here at the as we wrap up here your point around hey we have this awesome thing called git what you just described now is going to
57:21 what you just described now is going to be able to enable us to change our process we’re going to be able to have so this this integration means we need to seriously think about what does this mean for our team and how can we get it to you how can we use it to change our process in a way that will be effective and safer for us to build things moving forward so I loved your comment I think that’s spot on but but it like I I hit embedded but it absolutely Rings true for bi teams too like my team will be learning this because that’s how I deliver
57:51 because that’s how I deliver consistently into the organization on it on the very exactly digital key reports that we need to and this is the center of excellence needs to do this needs to understand this and then communicate here’s the new process we’re going to be following oh by the way we’re not just whipping stuff out the door anymore we now follow this here’s what it looks like we’re going to do these things we’re going to have these reviews we’re going to have this check in and then it will get to the workspace so this is this is a brand new process we need to develop how to use git in your teams and what does this look like for production
58:22 what does this look like for production level certified data sets and document that process put it in your your your know your your Center of Excellence location or your community site communicate this is occurring so that way when people ex say hey I need this one quick change yeah that’s going to get in our next release cycle that’s what this is going to look like so now there’s an expectation being set from the bi team back to the rest of the organization there is an actual process now we’re following we we gotta rap but this also points to a lot Tommy this points to a ton of the problems
58:53 this points to a ton of the problems that you surfaced a long time ago where it’s like bi teams don’t have like they’re just constantly under barrage right right the content like this this actually would would be the the push where a team could be like hey we we need sanity we’re going to bring some of these processes into our life right we’re gonna we’re gonna use tools that allow us to create Sprints in a backlog and we’re going to release these things through this managed you these things through this managed way in which we have get and we do
59:23 know way in which we have get and we do these releases and they push back into the businesses so we can guarantee accuracy and whatever right provide the justifications this is now like now there’s a realm where you can not hide behind but push back and say we want to deliver the best thing for you you can give yourself some space removal and and manage your your area I’ve already added two topics to the our backlog about the bi teams that get where and that’s the thing I think one
59:54 where and that’s the thing I think one of the biggest takeaways from this entire podcast that we’ve done was the really that Mantra of people process technology that I don’t know about you guys I apply in every call that I have in every situation that I’m in and you think about the new technology being introduced it this has a profound effect on that process so Mike both your points which I could get into ad nauseum right now but I won’t I think these are great places that we’re going to continue to discover awesome but with that let’s wrap it here
60:24 awesome but with that let’s wrap it here thank you very much for your time today we appreciate you listening to the podcast it’s been super fun again as always so thank you very much Tommy where else can you find the podcast you can find the podcast anywhere they’re available Apple Spotify and YouTube if you want to learn more about Fabric or if you want to hear us talk about certain features there’s a mailbag on the power bi tips site so make sure to go there and join us live every Tuesday and Thursday 7 30 a. m Central Tuesdays and Thursdays excellent thank you all very much we’ll catch you next time
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.
