Upgrading Power BI Architecture - Sharing, Gov, & Admin (with Steve Campbell)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign [Music] [Music] [Music] foreign [Music] [Music] [Music] foreign [Music] [Music] foreign [Music] [Music] foreign [Music] [Music] [Music] thank you [Music] [Music] [Music] foreign [Music] [Music] [Music] [Music] foreign foreign [Music] [Music] hey Steve good morning how are you doing hey doing well read how are you doing pretty well today yeah thank you for coming on yeah thanks for inviting me it's good to be back uh yeah a couple times now second or third time I think at least no third third time probably because you've been on at least twice uh for some other streams yeah um I think it's uh you know as we've done some streams together and also had some opportunities to coordinate between the the two sequel bits and everything else I um I know that we've ended up finding a lot of uh common grounds in some of the trainings and other stuff um and content that we've had so I think they're kind of been a natural progression um to eventually kind of covering some um topics uh collectively together um and in this case like uh things that you can do to help upgrade and kind of enhance the architecture that you have um from a kind of a power bi or a Power Platform perspective so I'm happy to be talking about this with you today for sure yeah definitely um yay as you say me and read uh We've we've worked a lot together and really I think our experience going through and just looking and learning from you know our own mistakes and mistakes of others and really looking at how to do things well do those best practices and and stop fooling down in holes that we've probably fooled in in ourselves or seen other people falling yeah it's it's in a lot of ways they're like the the two halves of a coin like the every Pitfall to avoid is usually a best practice to implement so it depends on which which direction you're you're addressing it from are you trying to show the things that you shouldn't do um or is it the coming from the perspective of the things that you should but it's usually in that sense there's always the other half of that of a thing to avoid so definitely yeah um and uh overall um for some context so one thing that that's uh Steve and I have done uh someone successfully uh this year and thank thankfully for both of us as we've uh basically put together uh quite a lot of content on uh Enterprise architecture and enhancement both from the tenant and the service perspective as well as um from the actual data models the reports so kind of everything from the artifact level all the way up to the tenant Administration and service level and lots and lots of content a few days worth honestly of that and we figured that there would be opportunities to share at least some of that uh kind of on a stream today have some conversations around that uh what are some principles and best practices to implement what are some of the things uh the gotchas to avoid um so we figured there would be a good opportunity to do a stream to cover some of these a lot more content that's available to cover in an hour but we feel that there's a good opportunity to share some of that today um on the stream and then also have an opportunity later to write some links uh for some additional resources in the end some upcoming trainings on this as well that people are interested in further learnings and resources from there yeah definitely um yeah as Reed said there's there's a there's a couple of things we've been doing together I think there's been some really exciting and really cool stuff um that we've done and we've had a lot of fun um talking to everyone as well who's who's gone through the courses um had some really really great conversations so as Reed said I think this is opportunity uh I know not everyone has a chance to to be in those so we really wanted to open this up uh for the next hour just kind of talk through I think highlight some of our favorite things that that we talk about and and that we've talked about together I wanted to I'm I'm impressed with the number of people we got so far in general anytime we do one of these I know you you're the LinkedIn master and you managed to get a good amount of extra people then we have 62 at the moment so please as we talk about any of these conversations whether on state it sets reports any of the things that we go into from service architecture as well um please drop questions into the chat as always I will make sure to put those onto the screen above um start the question with a little bit of a cue if you can um that will uh help me to kind of make sure I'm grabbing the appropriate information um and I can filter through the comments and I'm just actually remembering I need to there we go drop the associated comment to remind that um so yeah I want to keep this as conversational as possible um but for the people I'm not familiar with you Steve you want to start with a little bit of background about yourself and also maybe some recent news if you wanted to share that on where you are in your career as well yeah definitely uh thanks Reed so my name's Steve Campbell I specialize just like read in all things kind of Microsoft data especially the the bi space most recently I've been at a large consultants in consultancy for cognizant so I kind of ran a data analytics team in the emea region so Europe essentially was was mostly the team we did mostly power bi but also some back-end stuff and we worked with their data and AIA team and cool Technologies like um data bricks and now of course Microsoft fabric recently though I have um left and in the in the process of just leaving um so I'm launching my own consultancy my own my own thing here and it's going to be next week if you follow me on LinkedIn we'll have all the details but really focusing on Microsoft bi fabric power bi all this sort of stuff as well as doing a lot of focus in training I mean read as we say we already have some training and we expect that to kind of ramp up some really really excited to to do that and and go ahead and meet a lot more people in the community well both with some I think live trainings that were delivering online which seems to work very well and then um getting some recorded content which is something that uh we're both familiar with so getting a couple things on their first number reported learning yeah definitely yeah it's uh give you a little bit of an Applause there for a transition it's um going Independence uh something that not everybody wants to do but it for the people who um who have the the motivation and and the desire too because not everybody wants to go that route uh it's it's the the autonomy and the freedom that comes with it I can say it's a lot of fun there's definitely a few a few months where you're juggling too many projects and it's I mean there's a lot of effort that goes into just running the business versus you know just getting paid to do a job but it you know if you want to go um you know Skip off for a month somewhere and uh take a trip to like Australia or something you just simply let your clients know hey you know by the way I'll be answering emails maybe occasionally but I'm just not going to work for six weeks and you just go somewhere definitely and I know that's something that me and Reed both enjoy to do to go travel and meet new people small amount of addiction yeah hopefully um but I think transitioning from that if we uh from a high level I'd maybe give us a couple of Q prompts um I can throw up here this that so some of the stuff that we'll be talking about today again we'll um we're gonna get as much as we can into about an hour um have some really good takeaways for a lot of best practices and tips related to the items here below um with a little bit of a nudge and a nod if people are interested in some additional content that's coming up as far as some structure training that we're delivering but we still want to give you some really cool insights and things to take away um on a lot of um things from all the way from the artifact to the the tenant level um and a lot of the really good gotchas takeaways and pitfalls for that so um if if you're kind of envisioning this a little bit Steve do you want to just kind of start from the top down or what what are some topics that most excite you that um uh that we can dive into in a fun little discussion yeah definitely so part of this and and as Reed said of course this does cover your structure course that we're dissecting here today I want to go through some elements of a lot of this came from as we mentioned earlier kind of Moon reads experience we we put our hands together combined and thought of you know what what are the best things for myself when I was you know running my teams we were doing Enterprise big deployments with some customers had a lot of teams I also was in charge of helping train and develop people and it's a big thing I think I even spoke Reed with you on the live stream about this and learning paths and really looking at this best practices I think looking at the best practices and why we do the best practices and that's really I like this this talk when enhancing the model design I think this really talks around doing things correctly and reasons why so I'm interested into hearing you kind of what you would say is is the 105th year of when we talk about enhancing the model design a couple of tips and why you think we should do it absolutely so as far as the the model design enhancement and also cover a little bit of report design enhancement as well because the today you know we have a single PBX file like that that story is changing and evolving a bit now with project files but generally the the you know the front and back end into an experience for a report is going to be your report and your data set and um ideally you want to increase adoption for both whether or not that is ensuring that you're uh from the very uh front-end with the consumers that the reports being used and it also um is as Simple and Clean and easy to use as possible uh in terms of the the interface the design the visuals the flow of information uh the story that it's trying to tell but even from the modeling perspective I Microsoft with this platform very much encourages shared data sets but a lot of times if you're you know if you're looking at a data set or you're gonna you go to get data you connect to a power bi data set and you're trying to leverage one of those to build a report and you look for you know the word sales or date or something else you end up with 15 fields that show up with that name then it becomes the question of like all right um okay sales order day let's use that but now you're using something from your fact table the calculations aren't working correctly so there's a lot of curation and and optimization that kind of goes into the the design of the actual fields in terms of the organization um making sure proper ones are visible uh even perspectives to a degree can be leveraged with this a little bit to um to kind of curate a filtered list for particular audiences but it's kind of a mixture of Art and Science that goes into those and actually do have a few things that I can share on that that I'd like to go into I'm a bit to talk about those but as I mentioned the um all of this really is is kind of designed to be for focus and usability like what fields are visible or not whether or not you have hierarchies like there's no performance impact but if you have a promoted or certified data set to any degree and you're wanting to increase the adoption of that you need to make sure that Sharon or Bob who has never doesn't have has zero understanding of a relational database does no fact and dimension tables they just need to have a visual and they need to be able to grab a categorical field like product geography or date and they need to be able to grab a metric any calculation they need to be able to grab any of those combine them into a visual and it just works uh I'll actually give just a little shout out to Euler who wrote a great article on um how to identify and organize like visual level or report level measures and when those Shooters should not be visible but the end result of a perfect data set in my mind is that every column should be able to be used with every calculation and again like perfect world scenario and you can put it into a visual and it will subtotal or at least return something reasonable or valid like and there's obviously exceptions to this but ideally the majority of your model you can just drag and drop into any visual whether or not that is on your X or y-axis or anything else you can combine them and something relevant will show up if not then those are the ones that you want to start hiding or having exceptions or considerations for or creating special perspectives but it should just work when you bring it in because the people using it have little to no understanding of the um things that get built into a model why they get built in and it's easy for a model to become very complex and of course once we hit complexity that's when people start like well screw it I have no idea how to use this I don't want to go and have to submit a ticket to figure it out and wait two weeks I'm just gonna go build my own model and then you end up with a data silent scenario where you have hundreds of reports with hundreds of individual data sets and then when you have a medium people are wanting to know why their numbers are different because they've done different Transformations um so I've seen a lot of pitfalls if we're going to use that word in in these scenarios of people not properly leveraging shared data sets or things that could be reused whether or not it's a data set or a data flow or anything else because either a they're not properly um no it's not properly uh shared in terms of just awareness of it or whatever is shared is just too complex um I have a couple things that I want to show on that too but uh from your perspective to you as well like what's what's been some of your observations on um some of the uh benefits but also pitfalls of trying to get that adoption between either uh the reports or the data sets themselves yeah um I definitely I want to touch on a few key really interesting points you brought up the first one I say is is Reid mentioned you know the shared data set and obviously share data set the idea is we want to use this data set more than once right of course we want to have efficiencies have a single source of Truth something that I do um when we go to companies and when we deploy I do a lot of governance and helping actually deploy power bi within the organization generally organizations have a bit of power bi going on we always measure one of our key metrics as we call it the data set to report ratio really easy metric to figure out you get your data set and you get your reports and you see the ratio of how many reports on average to a data set usually most companies are about 1.1 which what that means is for every one data set there's about 1.1 reports is it that so like I've I've I definitely have tracked it unofficially and I know that's an end that I've had but it is it is that an actual observed metric that you've seen with like that low of a bar often and bear in mind of course when we go in to do governance generally we're helping set it up so this is probably not something that that a lot of companies are doing we we can um we can take some some things I take away your personal workspace with that but yeah generally it is very low and I think this is a an evolution and you know part of our our uh roles as developers although we might not be in charge of this is to actually try and make good enough data sets that we can get this number up right and that comes from the data set developer having that knowledge to say Hey you know I'm making this to share really really helps and it will really help you as a as a power bi developer or whatever your role is to to Really push and help your adoption and be seen and I think um a key part to this as well always assume when you're making a data set that you're not going to be um maintaining it forever assume someone else is going to be taking it over from day one when you start making it descriptions and things right do it as as you build and I read read very happy with that one um when you make a column when you make a measure put a description in it it doesn't have to be fantastically detailed at the beginning but just get in the habit of doing that as you build and it'll really really help you as to to keep this instead of trying to do it some of the ones that you're mentioning kind of like listed here is the the the most common model properties that you'd be configuring or you know it's proper names um you've already mentioned the the descriptions uh so and one of the benefits of this as a um as a best practice is the effect that they come up as tool tips so if you have a description of any type typed in to any of the uh the fields which be the year or tables columns measures um hierarchies and all that uh that little it pops up to give an explanation of that there's also a script that I um I did a video on this like three years ago two years ago I there's a script and tabular editor where you can do like a four each and it basically takes your your measure um uh the actual code in your Dax measure so like calculate some of sales amount product category equals bikes or something like that and it sticks it into the description because when you connect to a live model there is a little bit of a black box of like I see sales uh variants but well variance to what maybe it was let's assume that the name isn't super detailed and it it shouldn't be hyper detailed anyways you don't want to you ideally don't want to measure name that's um you know like massively long uh but the description can provide more of that so if you have a you can run a script and tabular editor that's I think is a good practice for um for shared data sets and it immediately takes the code and puts it into the description in one click so then if you hover over it you you see the the code so for the people who actually care to maybe just look at the code a bit to see what filters are being added to that if the numbers are different than what they might expect that gives some transparency to what's happening in the back end it exposes a little bit of the model but without them actually available you know to touch the code so to speak so like that's actually one little uh trick that I find that's quite useful um and actually like once once I have you talking for for a minute on something else I'll actually quickly grab that link but I think that that's actually a really clever use of the description that I found funnily enough as as you say that today earlier today um I was actually connected to my own life model and I completely forgot um what the measures were because I hadn't done this and I had to go back find my model and go and do the edit mode just to remember my code so even if it's not for someone else it will help your yourself when you start doing things with reports yeah I love that I could just Google visuals and descriptions terrible editor Heavens Consulting and it just it gives me the link so it's I I don't even remember the exact name of the blog but I do appreciate how keyword friendly Google is when I want to search for something so I'm dropping that into the chat here now but that is the here's the um uh the blog post which was 2020 so yeah that was a three and a half years ago that I wrote that uh it does not seem like that long but it it was um another another one that I I want to call out on just on on this page while we're talking about it now is synonyms is one of those things like I guess you could use it like in Q a q a is a great was a great product selling feature and I think both you and I can agree with Microsoft over the years have there's there's kind of two things that they often release as as part of the product release plan or historically they have there's a thing that keeps the Gartner uh the Garter Magic Water right the one that has a little dot in the upper right corner where Microsoft's always like the the industry leader in that um there's products that that move the dot in that direction and then there's products that people will actually use and Q a is one of those that it's very Innovative you know when the you have the option to you know ask a question and a dashboard you know five years ago and um it would you know generate a visual for you I'd ever have met that many clients or people that ever use that like it it's a cool idea but a well-built report should already give you the information you need for the most part um very few users want to go generate their own visuals or know how to or what questions to ask they just gave me the right charts give me a slicer let me solve it so synonyms I've found is a it's a way to enhance it it's the most I've very rarely ever built it up because it's a lot of time and efforts but all this is coming back to the conversation to say that now with fabric and with um all the chat gbt and co-pilot stuff coming out I think this is going to have a bit of a Renaissance for itself because the QA is going to get smarter I think it's going to be easier to configure without having to spend hours to build that out so I can imagine um QA type stuff in the next six to 12 to 24 months is is going to come back as this new like powerful feature mostly because it's going to be much easier to to incorporate but then also have it you know self learn to just be a lot better at being able to ask many different nuanced questions and actually have it return something relevant versus basically useless visuals which without a properly synonymed and curated model um QA is can be very confusing but I'm curious and I think yeah I think that's a great point and my my advice would be get ready for this we talk a lot about um I think everyone's been talking about generative AI all of this coming within uh context like reporting and you see you know chat YouTube chat GPT code um analyzer it's really really good at looking through lots and lots of data very quickly so it's called the chat gbt code analog because I've used uh I've used um copilot built into GitHub and a bunch of other stuff but I've not done the code analyzer itself the uh code interpreter I mean thank you gpt4 so yeah stuff like that um obviously that's that's not uh Power bi Microsoft product but it gives you a good glimpse of what these generative AI things do really good at finding seemingly hard to find insights in lots of data so I have loads of data I don't really know what I'm doing I don't know what to look for this is a really good way of quickly helping us out with that I think you know as a power bi developer that makes me really excited because now my focus is a lot more on we need to get these nice data sets we need to get these Enterprise things set up people know how to use them that the backend developers can maintain them can keep them in this really nice schema really nice looking way that these these algorithms this stuff can work even better so I think that's a a really good point and a really good focus on Enterprise and doing things well I agree and one other little I would say Takeaway on both features that are available today but then um will also get better is we've we've had two degrees some Auto optimizers you know like best practices analyzer and a few other things like that but I I can imagine that even stuff like that because Michael Michael kavalsi built a really good like um data set at a best practice report analyzer that that helped to you know to look at things from a technical perspective will help you clean up the model to a degree which is the um you know making sure that you don't have any long ends you know key columns are hidden stuff like that but I do think that as some type of co-pilots can be leveraged for that more I I do think more of the the the art rather than the science perspective of that like Prada Kia almost universally like on a fact table that's just something you should hide from your Fields list but then those questions and like if somebody searches for sales or the word date or those other you know um from a user perspective what are those soft best practices that are not always the case but sometimes the case uh I think the real the the tech will will start to be able to identify those and help to flag those as like there's you know there's the red versus yellow warnings and things you want to consider if you're a model so long story short I I think that any of those auto scanners and tools that will have recommendations on how to curate your model and even curate the reports um I think we'll now I continue to get better as we can basically just ask these AI tools like what else would you suggest or recommend as things that we can incorporate into an external tool or any any you know red easy button that we can press to clean up our model um plus with the updates to you know timdal coming out uh so we basically you know we have a readable format for our model which will make it easier for tools to be written that can you know one click make changes to that I hope at some point in the future we'll also get that for the reporting later because I I know that I've tried to dig into the report layout file and it is the the um Escape you know formatted uh Json that is in there is that absolute nightmare to either extract information out of and you can't really write to it you know it's not officially unless you hack the model um but I I just want everything in power bi from the report to the data set I just want people to go to have an easy way to write automated tools to be able to do one-click cleanups optimizations or changes you know everything should be able to be automated uh to a degree and I I see a light at the end of the tunnel for the tool sets for this in the next 12 to 24 months to just talk a little bit about some of the things that excite me yeah I think that's that's excites me too and and something I you mentioned which I find really interesting is Tim dual and this this new way of um being able to analyze the model so for those who haven't heard of Tim Dog within a data set we have two elements I always like to say we have the data itself right so it's a backup of a database of some kind that's that's stored wherever you know the actual numbers that you're calculating the other side is you have the metadata and this is really your model and this is things that tabular editor interacts with so if you've ever used tablet editor you know it doesn't it doesn't read your data it just reads its metadata things like the measures the relationships the the structure and layout now this is all code to the computer but we can actually view this and that's how tabular editor does and previously this was this was in a format called timzol and uh it's just one big Json file which doesn't really we can't really read it very well as humans doesn't it very good Tim doll um is actually a a new kind of structure designed by about here called matthiasis uh lives over in the UK yep it's not actually any different yeah excellent excellent Tim Dillon tinsel right they're just representations we like to say because the the metadata is all code to the computer it's just how we view it and we interact with it so both are are the same ones not replacing the other they both do exactly the same thing this Tim dual is just a new way of of being able to look at the code and being able to easily read it now what that means is that we'll actually be able to re easily edit it right rather than having to to understand the difficult Jason in the old format you finish this and I want to grab one thing to show you how much I love Timberlake OH talk as as reads off to to grab his uh something bad Tim's all but there you go yeah love it so much I had a shirt that uh tinsel not so much but um definitely I'm gonna have to give me give me one of these reads yeah I'm gonna have to get one but yes what I think though Tim doll is and it really segregates lovely with this new power bi developer mode so this power bi developers mode it's really interesting um I'd love to hear your your thoughts and kind of what what you've seen of this so far read um so for the last part the thoughts on Tim dual specifically or was there one other question the power bi developer mode as well yeah so two just two mentions um I dropped the link that Matthias um graciously was I was the second string that he managed to do the um Tim doll announcements on right after he announced it at SQL bits but the the stream links in the chat I it will be outside of the scope of what we're talking about but check that out it is uh he does a great job explaining the implications of it and it's not something that everyone's going to use it will be for like data set developers the business user isn't going to care but a business analyst should learn about that language and you know how to leverage tabular editor you know Visual Studio code with some of that stuff but it it's the start of a lot of other things like that's the snowball at the top of the hill that's in two years like you'll you'll be amazed the other stuff adjacent to that that will be coming out um so check that out and Steve's also mentioned in power bi at developer mode so again there's also a deep dive that um rui who is the program manager for that he did with me a couple weeks ago but that is the first time we've had a new type a new power bi file type sense power bi came out I think because from from the beginning do we already have template files or was that like a year pbit files did that come like a year or two after I want to say I came after I I don't think yeah it was early but uh it was only within a year or two yeah it was really really quick because the only difference is it just doesn't have data but we had PBI key so power bi project file and all office files to begin with just their zip files anyways they just contain a bunch of folders and objects that are inside of it you know that are basically extracted and you know read by whatever software is running it and you know inside of a ppip file you have separate files and structures basically for reports and your data sets separately so it's a great way for shared data sets when you actually have a dedicated data set and five different reports you can have one PBI project file that has that data set in that every single report that would be connected to it and that is very it's uh it folder structures it and places it into a folder next to the pvip file so then you you actually have very easy git management all that so that's a big game changer I know I'm super frustrated when it comes comes to share data sets and then well if you make a change to the data set then you publish it then you realize like something got renamed and the report's broken so you have to delete the field to re-add it like the management of kind of you know restructuring and and organizing between those and then you have to publish to wait for changes because it has to connect to this the data set online it it's a clunky process for the developer and Steve you even built a tool three years ago uh sometime in a while back that the hot swap connector that lets you uh immediately change from a uh the published data set to the local ssas instance that's running when you have power bi desktop open so you can see you know instant changes from your report to your data set as you're kind of iterating between those two which was needed for anybody working on shared data sets so this to a degree is going to help solve some of the headache from that but it's still in preview to a degree right now um and we only have kind of half the equation because it's uh it's really beneficial for the data set layer the report layer is still a bit of a black box for that but just from a management perspective of um single data set to share data sets I think this will really start to drive that 1.1 ratio that you mentioned and maybe in a year it's gonna be 1.2 and then 1.5 and it's hopefully going to start going up but um I think this is a big innovation for helping to encourage people to to uh utilize that shared data set methodology uh with their their power bi tenant yeah um and you you mentioned uh the hot swap tool I'm very looking forward to to depreciating that one so we have an official way of of um doing this in in the project mode so that's that's really exciting you mentioned git quite a lot um I want to take maybe some time now just to go over and explain if people here maybe not so familiar with Git and what we're talking about you know git is a type of Version Control so I just want to take him a minute or two and just kind of run through you know what is git um help us give us some context of of exactly what we're talking about Wars oh there we go beautiful so what is git so we keep talking about gate this project mode power bi developer mode this project file which is going to allow git so if you've not heard of git if you don't want to if you don't really understand I want to give you a kind of high level here what it is and why this project mode uh this project file this developer mode will will allow git and what we do with it so get really high level is Version Control um but how does it work so imagine that we have um our local machine here so one thing of of git it's distributed in in git systems is distributed you know all the ones Azure devops and GitHub typically we look at for example think of doing things in our local machine so we're not tired of doing something in a shared repository shared um area and we're not all working on the same file we're all kind of having our separate files on my local machine so I might have this open up on my computer now what you have on the left is some code that I'm writing now you can see this is this is part a very small part of a data model and Tim dual this is kind of how it looks and you'll see now it's it's kind of easy to understand um what this means right we can say this is a data model it's it's the price column we've got the data type here um and you know the summarize by so we can we can look at this and I can actually open this in something like a text editor and maybe what I do is I make a change so I've got my data model I'm writing directly I'm adding code I'm going to add a column and once I add the column I'm actually going to save it so here I just have I'm saving everything I'm kind of checking it in uh to my into my machine and just saving as I go then I might make another change right I'm going to delete this column and I'm going to save this and have another saved version because I'm all editing the code with Git right the idea is hey if I want to go back I keep each saved version so I'm not overwriting right I'm adding a new version this works easy it's code because these files are small so I just got you know version one two three I can go back into the past if I want and see any any version of my code and that's really really helpful if I accidentally save or I do something wrong then I want to roll back so what we do is we regularly save our versions of the code and this is what we call a commit so you may have heard this word and we commit right and you know this is our local machine which is making regular saves now obviously we don't want to just have this on our local machine what we do have is a main copy of our code so this is our uh you know in this case it's a Tim dual data model file it's the description of our power bi data model and we have it in a main copy and then each person each developer will have their own copy and they're working on their own um copy of the code what this allows us to do right it allows loads of people to work on things at the same time right and then there's a central location where code and all the files are stored and this is using this Git Version Control it's called and this is called a repo a repository right and we call this the reaper so you may have heard people say you know check this into the repo stuff like that what I want to do though is I want to add my changes to the main copy you know typically what we're not all doing big changes all of developers hopefully aren't doing the same work there needs to be some communication around this of course but we're all editing little bits I take it to my my local machine I I regularly commit I regularly save it I said okay I'm done now I think you know the changes I've made I want to put that back into the main copy obviously I'm doing it isolated so if I make mistakes I'm not um deleting reports that are that are live and what I want to do is I add my change to the main copy and I'm not replacing the whole file right I'm just replacing those little bits I've changed so if I just change line six and seven I don't need to replace the whole file I just need to overwrite nine six and seven this means right if someone else is changing lines nine and ten you know we can both do this because we're not overwriting each other's stuff we're just changing out a little bit and that's why it's called merging right it's not over right we merge what we changed into the the main copy but of course you know this is Enterprise stuff um one of when I want to do this I I probably want to submit changes and it probably wants to be reviewed by someone right because a good thing is we don't want just one person to to do this without anyone else checking it and this is a really good way of we say we can raise a pull request so if you heard that and then other people can review check what you've done is correct and check you haven't made any errors right and when we're doing these mergers it allows us to do something really really cool and it's called a diff compare and you can see here this is actually um in a power bi deployment pipeline so this is a power bi this is the old format as you can see it's quite much more difficult to read but the diff compare it kind of shows us what's change you can see here this red so this is um this an example of a file that I changed I deleted all this red parts right so the one on the left yeah this is the uh the file that was modified the original one and this is the the development the new one so you can see the the green is bits I've added red is bits I've taken away now I wanna I just want to pause here quickly like so the the this is coming from a very specific tool in the power bi service I believe if I'm understanding the top interface which is from deployment Pipelines so it's one thing that uh I feel like deployment this is not emphasized enough at least when I ever hear people talk about one really cool thing about it like this is super nice yes it's showing you really like the detailed code but it every single change that's happening between them from the data set perspective it doesn't do this for the report layer by the way but it is so nice to just as you merge changes between stages uh like it's one of my favorite selling points of like why would I want to go to a premium pre-user workspace you know or anything like that like if you if you actually want to do easy Enterprise management between those like you know Dev test prod and also have this built in without having to have any extra tools or installing software or anything else it is a really nice feature of deployment pipelines it's just a stiff compare that lets you see that that breakdown yeah and exactly because this stops things like oops I've accidentally deleted their measure I didn't even realize and I save over my model I've broken everything so really really cool now obviously that's getting and what is this power bi developer mode this is that that project file but essentially this this works right it works better when you have lots of little files because we're all working on different things we're working on on bits so if you have smaller files it makes it a lot more manageable you can imagine if this was ten thousand lines long and I had to go through and go to ten thousand lines it will take a long time so we want little files it works a lot better so what does developer mode is what it actually does is you have your power bi desktop file you can save it into uh ppip Power bi project and what that does it actually is just saves into different folders in it creates a power bi project folder and inside it you have a one for your data set and one for your report and then it splits out all the elements of both your data set and the report into individual uh files and they're all text files so it's just the code on behind the scenes code on how it runs so one of these right would be the the Tim dollar the Tims or file the code on on how this things runs I think eventually the idea I assume is is probably we want to get more and more granular you might have one for tables and measures as read said the report isn't probably there yet it doesn't split things out much at the moment but I think that's obviously gonna come because that's the whole point of doing this yeah the cool thing is then I can open something like Visual Studio code or notepad and I can actually look at the the code behind my report the code behind my tables and actually I can even just change them if I know how to code well and I understand things like tinsel I can just change them with with my um text editor so that's really really cool one little color just in Visual Studio code I I honestly I've I think most of us who've ever touched Visual Studio have a really bad taste of Visual Studio there's 10 years ago there was always those memes where it's like I oh I guess it's time to start a visual studio code I'm gonna go work out get my groceries run some errands I'll come back in two hours and it'll be open like it would it was a necessary tool but also a very slow tool um when this first came out like I saw that damn Visual Studio I didn't touch it with a 10 foot pole I also thought it might require a license I still today have clients where like I need this on the VM like well we need a license right now it's free it is a 15 megabyte install file um it's a very lightweight easy to use and it's honestly probably for Windows devices the one of the best code editors and it has a library of Open Source extensions for it so just as a little encouragement if you want to get it you know don't worry about license or anything else or then like is it you know expensive and bloaty on my computer it is a really really cool tool and I wish I had installed it like a year before I actually initially started using it yeah definitely um one of the best and we'll see something else cool actually with it yeah um and then the other part of this right now in fabric you're going to be using fabric what you can actually do is you can sync um you know through Visual Studio another reason read why it's very cool um and you sync it with Azure devops and this is that repo right so if you look at this this probably hopefully looks a bit familiar we have a local machine where we're going to be working and we're saving lots and lots of times using visual studio code we're committing and then we have our our main repo so this is in Azure devops and this is the main version of our code that once we've done with our edits we're going to merge back up and look Visual Studio code here and it has this built-in um view right where you can actually see what you're doing in real time the edits you're making and you can see the changes that you're doing compared to the version that's in the repo that's why so this is super cool because you can see everything right before we might have downloaded the model we're doing everything in the dark what if we forget it we accidentally deleted something or we forgot what the original version was and we can see see things and how they change so obviously we can merge and then what's really really impressive is we we do this in Azure devops Azure devops is a you know git system it holds the the code but this syncs automatically with a new fabric workspace so I can open my visual studio code write some edits save it you know uh commit it merge it into my my repo here and then my data set will sync and refresh automatically and be updated um with this with this new file so really really cool stuff if you don't work with Git um very much a an Enterprise level in a solution um we do there is a lot of other ones as well so not for everyone and I think one thing we do like to do is match the solution with the team with the type of rapport with the type of data set who's going to be looking after it we won't go through today but um we have a tool out as well power bi Version Control choose a SharePoint it's more aimed at um business users so maybe this is a bit too much for some people SharePoint has built-in um version history which is really cool so if you make an error you can roll back any SharePoint file where always always save everything in SharePoint please um but yeah so so another option there basically it suits your upgrades to it like the at the bare minimum your like business one drive which sure it is sure Point um everything in the back end is that um the upgraded version of that is the like actually creating a SharePoint site which I there's that configuration where you can have the check-in check out specifically which does prevent that like conflict files a little bit more and you can have a note that's added to each version so that's like the seven what like you've gone one floor up and then from there actually getting to git integration um I I still think only like half the story is here today you know we now have Fabric and they get Integrations for it it's it's um it's not doing that much else if if you are just working with power bi uh PBX files today it is it gets a nice to have but not a need to have yet um just because it it's basically you're just versioning the file in git maybe with some extra uh Enterprise architecture versus SharePoint but you still just have history of the files once um in theory that uh that I um we get the complete story of Tim Dole and then hopefully something like that for the reporting layer that's when I really think like git's gonna explode out because then you have everything that can be managed from a code perspective for your reports and your data sets and then that's why I think yeah there there will be um companies will will finally start to see a buy-in from that perspective of really integrating with either GitHub or Azure devops um between either of those scenarios and I knew that git GitHub is already on the pipeline with the get integration and power bi it's just not available today you only have devops right now for the options yeah definitely um a lot of this though it's been a long time coming if this all seems and read me yeah um a bit too much for for a lot of people just a step in the right direction right start by Saving somewhere you can you can roll back and as Reed says it's this kind of enterprising and Grub story exactly um but I I think they're it it's it's starting the Journey of a lot of really cool things to come um I think we are at a pivotal moment not just with the the Enterprise features for power bi but it's like the other the fabric stuff that's um I think will mature very quickly um once it starts to come out of that I'll just make one other kind of anecdotal comment the I I love the idea of fabric I've had a lot of clients come out like oh let me just switch over can we move our entire infrastructure into that like I think it's great to explore to have some test cases maybe at a department or or a branch level or something else where there's a team that can start to utilize the data sets one like and all that yeah I think there is uh start start that Journey now a little bit if you are wanting to consider some of the many features that are in Fabric and I have other streams that talk about all that but um like with anything in preview it's one of those where you know yeah um you go into the shallow end of the pool and then 12 to 24 months once all these other things come out of preview that's when yeah that that larger migration uh story can start to happen for these for most of the organizations that would want to leverage the stuff yeah okay as those new features come out definitely so I'm interested to hear yeah well and personally I I know I just want to be cognizant of your uh your time Steve and uh loving the moment about the conversations but considering we have um well I'd say like 10 15 uh minutes so yeah I'll do two two things where would you like to direct the conversation and then as as you are um commenting on that I want to again open up for anybody that has remaining questions that they want us to talk about I do want to give opportunity for five or ten minutes of that at the very end so if I missed a question earlier dropped in with the Q and those can be some things that we can also talk about as we're wrapping up today as well yeah definitely um you know a lot of things we do want to talk about as well is is managing Your solution here I think Fabric's gonna be very interesting um it might change quite a lot in the back end stuff like that I think still though um we're gonna need to to have power bi quite often and still do the things that we've been doing um for example data set refreshes this sort of stuff how we design models when we do fabric is going to open a lot of more options and a lot more ways we can we can get data we can import data you know it's bringing this new direct leg mode which is really going to change uh things on how we uh pull data in but that's one thing that direct link just like it is we don't have the time to like dive deeply into that now but like that is the evolution of direct query and it is going to be a big game changer that will just simplify it it reduces data movement and the amount of transfer where you have to copy data as much with import stuff so for anybody dealing with large data sets or data that needs to be distributed to a lot of different locations and you want to park your fact table somewhere that's going to be really really powerful if you're you're leveraging that I've that's my favorite favorite feature that that's as part of the new uh platform implementation definitely um it's really exciting and um I'll post out you can see on my name as well I'll post out a quick video in a moment um on the chat if if you're not familiar with direct link I've got a quick 40 minute overview of everything fabric um very very high level but I read that I'm interested in in hearing your thoughts as well knowing everything is coming um knowing all this additional stuff that's coming into kind of the power bi land fabric really exciting for people um with a power bi developer background or working in power bi reporting because I think it's it's really opening up a lot more into the realm of power bi and having that um Power bi is a focus here right and now we're looking at all these these Enterprise architectures I'm interested in read uh hearing a couple of your thoughts on how you manage that and kind of maybe your your top takeaways in terms of anything around sharing or access and that kind of stuff yeah so in is this sharing an access in regards to the data sets or just some of the the new items specifically related to fabric yeah I think probably the the data sets I think fabric we're all still getting there but definitely around the data sets themselves yeah so I mean the conversations at least around sharing and distribution I mean we have like at least row level security object of Global Security um but I do know a big one that I think will continue to become important just tie off and finish off the conversation of fabric because workspaces are going to have more and more objects and we obviously want to enforce and secure those but uh actually bringing it back to the topic of upgraded Enterprise architecture uh I do think that people often uh give way too many elevated permissions like very commonly I will come into a workspace and you know you look at your access list and like oh there's like 35 people added in here uh like oh actually yeah like seven of these people don't even work for the company anymore like there needs to be better management of the uh the users in there and I mean in general outside of one or two admins you should almost never have a single person as a member of the workspace like especially if they're if they don't have build permissions to a degree but usually I would hope to see like five or less items added to to the access list of a workspace it's going to be maybe a couple of the the main admins who are managing it the rest of them should be maybe like a user an actor director group that are the people who are the report Builders so those are your member contributor um access between those two and then the the reported viewers which should hopefully be a much larger active directory as well but then of course you don't have to manage the workspace you just simply manage the active director groups same kind of with role of security in a perfect world you have a user-based security and a model which is what I recommend everybody implements and then with a active director group with the whole company added to the group once you publish it you never have to touch the security group again the hopefully the SQL database is managing that security table in your model and you know whatever user gets to see like what I you know categorical ID that's filtering your dimensional table and then the permission list for people to access it is already managed because you've added the right Active Directory Group into the security model um big takeaway for any of that is permissions and sharing is the The Golden Child of all of this is to active directory groups nothing should be added at the individual person level because then it requires so much more micromanagement exactly um I think a couple of key takea points I I took away from there using the the groups is my number one thing I say to people it is so difficult to understand who shared when you when you start sharing things um individually really depends as well and I think having a a strategy there's a lot of ways to build these strategies in terms of how we set these groups whether you kind of organize it you know Department by reports by by groups lots of different strategies you can go down but I think having some strategy just having some thought around it and really you know little steps in the right direction is really good um you don't have to have the perfect strategy do everything perfectly day one but if by day two you can do slightly better than you did the day before you know just having some groups set up um really really helps and just having your mind frame into having some thought and logic around it and I think this kind of brings in is there's two kind of Main um documents that I I would really want to to bring up and which I can run through quickly now it really helps build this strategy now this might not be your role but typically whenever we talk about these governance and looking to roll things out this comes even more as we're talking about um when we have this fabric when we have these huge more and more elements in this we have a lot more people and we have things like all this devops and this this Source control two documents several documents but two of them that I want to highlight I'd really recommend that organizations uh produce the first one is a racing this is nothing Microsoft this is napping power bi but it just lists out people and tasks and it just says who's responsible accountable consulted and informed for each task I'm not going to spend too much on this slide you can Google this it's it's uh it's a management tool it's project management tool out there but in terms of a power bi right what we'd want to do is is have something like this would split our uh a company and we'll have different roles power bi Champions network is generally these very strong power bi probably a lot of you people spending your your Friday possibly Friday night for some of you watching this right you're probably in those power bi Champions Network you have these different different um different areas and you'll do things like you know create deployment pipeline we talk about git right the power bi Champions they would be the ones responsible for this maybe and this could be different in another in another company ultimately the data Steward and this is normally a role who looks after git they're accountable so it's their head they're the ones that get told off if it doesn't get done but it's between both them and the Champions who do it and then the admin with the admin is they need to be consorted they just kind of need to be told what's going on and you'll see how this document really helps you put this logic and put this strategy around who's responsible and making sure we have someone doing each task right when we have so many new things and we have Version Control all this Source control you can get lost so making sure there is someone who's able to do this and listing out the tasks the people and who's going to do them kind of simple as that the second one I always tell people to do is create process Maps right if you're having a strategy around active directory sharing something like this design a map on how to do this the process map and what they look like is this is for example a data set certification maybe I want to certify a data set make sure this data set looks correct I might have a power bi Champions I'm a content creator so the content creator might say hey I'm going to submit my data set for certification then the process will go to the power bi Champion they may run these data model checks you know Reed spoke about these might get better and better as generative Ai and stuff comes out then they say you know is this data set good enough for certification though is it following a good data model star scheme of that kind of stuff if not I'd say hey we can't certify this it needs to to go back and it needs to have some improvements if it does though if it satisfies your data model checks maybe then you'll run it through the CI CD pipeline now if you're not familiar what this is It's a Dev test prod and basically high level we're testing it I'm doing our tests visual tests testing the data again if it fails you say hey this has gone through our tests and it's failed otherwise it might pass and we say okay we can certify so this is a nice example of quite a simple process map kind of lists who needs to do which action and and what action they need to take right and this goes alongside your AC where it says who's responsible and who's accountable for different tasks so I think these are two that how I would really recommend people look at and I deploy them talk to people talk to the people who would do this and make sure these are there if anything it just helps you it can be very very simple when you start but it really helps you put some logic around stuff and have a process for doing something and I think the one other thing just as I call it kind of with the just as I mentioned from cicd and like moving between those is often like your your Dev test abroad is the it's also the data set you're connected to which once again is what's so useful about having the um deployment pipelines is yeah proper to parameters set up you can either filter your data set or change easily between your Dev versus test or production databases as well um you know as an example if you're if you're developing you know and making changes you don't necessarily need to have 48 million rows of data in your fact table until you actually start to test the data so you should hopefully be working off of a some a smaller section of that either through a filter or through testing uh connecting to you know dummy data to a degree but your your database admin will be very happy if you're not doing large data polls on a development file exactly yeah and there's the yeah a lot of cool stuff you can do with parameters and stuff to to help all of this exactly um but this kind of announced a circle back on some of the stuff that we've been talking about and some of the stuff that will be also uh talking about a bit more is again like we're we're wanting to cover kind of a nice little breadth rather than depth um approach with many of these different conversations but a lot of these are things that we have curated into about a two-day training that will I'm actually be delivering a couple times I'm here coming up in September so uh this uh webinar is designed to be kind of a stand on its own best practices and hopefully some good takeaways from you and some good conversations between uh two people who've spent a lot of years building out this stuff for Enterprise clients but also again kind of a gentle nod for anybody who wants to learn some more information on this and actually uh take away through a lot of labs and exercises we have ones coming up in uh the first week and then the last week of September both for European and um more like Oceana Australia New Zealand time zones um we'll be doing two kind of uh half day trainings between the the two of those so um for anyone wanting to check that out I can drop some links in for the chat as well for um for all of you to go explore and give you an opportunity to maybe uh join some of the some of us there I think last time we had was it 50 somewhere between like 55 to 60 people I think registered yeah I think it's about between 15 and 60 um as read said we kind of went through through all of this but really really interesting uh q a sessions there we got to chat with all the um all the participants had some really really cool conversations had a lot of fun teaching it I think um exactly was was great and I really appreciate everyone who turned up last time you know the 50 60 people there and really participated um very happy and why we're running it twice more yeah I mean like it's you know we as much as we like to do free content um like it's you know this is how we also earn our uh our rent and the uh the Pint at the pub at the end of the day so it's something that for anyone who is interested in learning some cool stuff and can get maybe a uh a work credit because I think we probably had about at least half the people attending were individuals who were doing continued learning from um usually their their work that uh is to chip in for that so I hope to see some of you there and I I love to teach you know that's one of the reasons that I travel around the world pretty uh on a pretty regular basis and enjoy conferences and um workshops and pre-cons and at this point if I was to count on a hand probably hands and Toes uh the number of workshops that I've I've done I it's paid workshops has probably been about at least 30 to 40. if I count the presentations that I've done three and paid It's gotta be up there with maybe like 120 140 different times that I've I've presented and taught and this is just non-academic both of us have actually taught classes at University as well um you were the University of Wisconsin I think right and I've been at University of Washington yeah yeah Wisconsin Milwaukee up there yeah the continued education so yeah great fun doing that and yeah we both both love to love to teach and chat and just great way to get it talked with people as well and hear people and hopefully impart some knowledge that helps people grow exactly um but now that we're about at a 10 36 and starting to wrap up um is there anything else you wanted to kind of cover to finish off um and I think you've been answering some questions in the chat so if there's any remaining questions feel free to drop it in there with Q we can finish those but otherwise um yeah Steve uh how would you like to wrap up there no definitely I think that's been great um really interesting to hear your thoughts and and look forward to doing the rest of the classes with you of course if you more questions do pop up or if you're watching this on demand and you're not here for the live um come find me and read on LinkedIn definitely come join us follow us we love to post there and keep up because we're we're doing a lot of content hopefully you get a lot more of this free webinars and some smaller kind of free sessions out there as well and uh links down below to contact us and um to check out the course as well but otherwise also I just wanted to mention that Steve and I were working on a uh Financial course as well that will be kind of like a data modeling and Reporting from a finance perspective so that's your FDA type data p l reports um you know any kind of budgeting and forecasting type data so uh we'll we'll both have a mixture kind of structured and then probably and some like page uh structured free and paid content around that they will have is you know little webinar type stuff and then some longer trainings but uh that's something that we're planning to get out there sometime in the fall so a little bit of a sneaky for that yeah really looking forward to that one yeah absolutely um but otherwise then I don't see any other questions um I want to thank everyone for tuning in today and uh for those watching the live stream later and then otherwise I will see you all next week on Med extreme thank you Steve yeah thanks so much Reed for inviting me yeah absolutely all right everyone take care and have a great weekend thank you so much for watching please consider hitting that like And subscribe button and if you want to help support this channel take a look at our Channel memberships or our merchandise store for cool swag and last but not least please consider sharing this video on your social media platform of choice to help our Channel and grow so until next time
Info
Channel: Havens Consulting
Views: 2,680
Rating: undefined out of 5
Keywords: Power BI, PowerBI, PBI, DAX, Data Modeling, Visualizations, Tips & Tricks, Power Platform, Power Query, Power BI for Beginners, Power BI Training, Power BI Desktop, Power BI Best Practices, Power BI Relationships, Power BI Dashboard, Power BI Tutorial, Power Query Excel, Power BI Versus Excel, Power Query Tutorial, Power Query Functions, Power Query Parameters, Power Query Editor, Power BI Service
Id: wnRHm58Rc7o
Channel Id: undefined
Length: 72min 46sec (4366 seconds)
Published: Sat Aug 05 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.