Alle Broadcasts
Fabric Frenzy #14: TMDL View i Power BI Desktop
271 views
Unleash the boundless potential of Microsoft Fabric: Your monthly source for cutting-edge news and limitless opportunities.
There is a wealth of new opportunities for data analysis and insight in Microsoft Fabric, and new features are constantly being added making it quite a challenge to stay updated and stay organized.
We want you to be fully updated with the coolest options in Microsoft Fabric. That's why once a month we give you an update on the new features and tips and tricks on how to take full advantage of Microsoft Fabric.
Register for the upcoming sessions. You are also very welcome to send us suggestions for features and functions that we should take a closer look at and take up in the next Fabric Frenzy session.
Agenda
Overview of the most important new features in Microsoft Fabric
Tips and tricks to make better use of new as well as old features
Concrete examples of cool business applications
View transcript
Hey everyone, and welcome back to the 2025 version of the Fabric Frenzy news broadcast show. I hope you've all had a fantastic New Year's and have had a great start on this next year. I've been looking forward to restarting this Fabric Frenzy here in 2025, where I have a little bit of news today and hope to be able to host a lot of great fantastic news over the year. So welcome back and let's just jump in and see what is new this year. January is usually a slow month in terms of releases. We have all just been on our respective holidays. The developers and team at Microsoft are probably doing the same thing. So January is not usually the most disruptive month for news. But we still have some quite interesting things that I would like to talk about today. So there have been upgrades to the semantic model, especially how we develop it in the Power BI or in Fabric service. We have seen the announcement of the Fabric co-pilot capacity. So if you're ever facing problems with not being able to offer your users to use the co-pilot features, because you were afraid that it could use up all your consumption or something like that, well, that is something that the Fabric co-pilot capacity tries to solve. Then we have a long-awaited option to do an item ownership takeover. And stay tuned to hear a little bit more about why that is incredibly important and why it's been a major pain point that we didn't have this feature yet. And finally, the TMDL view or Timble, as someone likes to call it, where we will look into this brand new feature that actually makes Timble a lot more approachable for everyone working with Power BI. The last one with Timble will also go through a demo, so we can see some hands-on demonstration of how that would work in practice. So a lot of things to talk about and a lot of things to dive into. Let's start out with the semantic model upgrades. So the first part is that if we develop our semantic model in the service, this still requires us to go to a workspace setting and actually allow our users to do live edits of our semantic models in the Power BI service. But once we've done that, we are able to make changes to our data model, even though it is not downloaded locally to Power BI desktop. That's not a new thing. Well, it's fairly new, but it's not new new. The new new thing here is that this now comes with a version history. So we can see what check-ins was made with this file, and we can even go back to and restore a previous version of the file. So we now are a little bit more safe in respect of allowing these changes to happen and not be so worried that some irrevocable change is being done without us knowing about it. We now finally have version history. And with version history, we also seen an update to the UI where this option to be able to live edit data models in the service is now per default on. So if it's something that you worry about and you want to protect your users against doing, you should be aware that as a setting, you probably need to go now and switch from on to off, because it will be from default on that you're allowed to edit this data model. But on the other hand, there was an update to the UI so that when we go to the data model and view it, there is now a view mode where it's view only, so we actually cannot make edits. And we now have to go to the top corner, click that, and then choose edit mode to make the changes. So this is on by default. Any user can do that with newly created items. But it's not the default option for them. The users still have to actively go and select edit mode. So just keep that in mind. It's something they're able to do. You can still switch off that option, but it gives way more flexibility, and it really opens up the possibility to edit our data models in the service without having to use desktop for all the use cases. And for users on Mac or other OS that doesn't support Power BI desktop, this is definitely a fantastic news because it truly brings us closer to online editing being on par with desktop editing. Great. That was news number one. Number two is the Fabric Co-Pilot capacity. So we've had Fabric Co-Pilot for probably more than a year or so. Pretty great, pretty mixed bag of features, to be honest. Some of them are pretty great quality of life improvements. Some of them are flashy and looks nice, but may not be as useful. But it's definitely a mixed bag, but there's definitely also some usefulness to them. One problem, though, is that using Fabric Co-Pilot takes up consumption. So if you have one capacity and you are running essential ECL jobs, your Power BI users are browsing reports, etc., then adding Co-Pilot consumption on top can be problematic, especially because it can be hard to control exactly when it happens and on which capacity it happens. So what you can do instead now is that you can create a new capacity. It still has to be an F64 or above capacity, but you can create a new capacity where you can assign this as a Fabric Co-Pilot capacity or FCC for short. Once you've assigned it as a Co-Pilot capacity, this can now allow your users to use Co-Pilot workloads where the consumption is sent to this capacity. And they can do this regardless of which other capacity they're actually working in. So they could be working in an F2 capacity or an F4 capacity, or you could have a small dev test prod separation of different capacity, but still have that overall Co-Pilot capacity that allows everyone to use Co-Pilot in all their respective smaller capacities. So it opens up a use case where you can use Co-Pilot in a smaller capacity, but you still need to pay for an F64 or larger. You cannot run it on the capacity itself if it's not this size. So it's not a cost-saving exercise. It's not a way to get access to Co -Pilot features at a cheaper price point, but it is a way to make access to Co-Pilot more flexible across your entire capacity setup and to protect your ETL jobs and other data workloads from being influenced by the consumption of Co-Pilot. Essentially so that someone running Co-Pilot chat doesn't interfere with people actually wanting to get insight into their data through the service. So it looks a little bit like this. There's not a lot of screenshots to show because it's basically just a setting. But you go to the, as you can see on the left, you can go to the admin portal, sorry, the tenant settings, and there will be a setting here where you can switch on if capacities can be allowed to be designated as a fabric Co-Pilot capacity. You switch this, switch this on and then capacity owners can go to the respective capacity settings and mark them as a Co-Pilot capacity. On top of that, when you've marked it as a Co-Pilot capacity, you also allow for specific users or users group who can then use this capacity for their Co-Pilot usage. So you don't actually, you don't actually necessarily allow it for your entire organization. You can control which specific users or security groups or what segment of your organization you want to give this ability to. So there's some control here of who can use this capacity. So quite nice for organizations who are already using Co-Pilot, but who are struggling with balancing Co-Pilot usage with regular data operation usage. Also interesting for companies where there are multi -capacity setups and they don't want them all to be F64 to be able to use Co-Pilot. Co-Pilot. Not so much a feature for organization who thinks that an F64 is too large and we're hoping to use Co-Pilot on something smaller, unfortunately. Great, but definitely something that will help overall in adopting and using Co-Pilot more inside of fabric. So the next and third feature. Before I jump to that, I want to say for anyone who is tuning in on the broadcast in the web, so that is outside of LinkedIn, you are more than welcome to ask questions or offer feedback or stuff in the chat or using the questions tab. And I actually have a laptop down here you cannot see where I can see all your questions you may ask. So don't hold back asking questions, especially because it's January and the news are not that plentiful. Great. But so far, no questions, no chat. So we'll just move on to change news number three. This is one that I am incredibly excited about, to be honest. It seems like a very small thing and a lot of people, including myself, would probably argue that we should have had this feature from the very beginning. So the feature solves a very, very essential problem. Whenever we create an item in fabric, that item has an owner. So if we create a semantic model, if we create a lake house, if we create a notebook, if we create a pipeline, etc., etc., those will have owners. Now, that isn't that big of a problem in itself. The problem arises when there's a certain subset of settings and permissions that are being logged into the owner. So let me give you an example. Let's say you have a notebook and you want to use deployment pipelines and set up specific deployment rules for changing parameters in this notebook between your dev, your test, your production environment. That's all nice. And it works fine if you are the owner of that object. If you are not the owner of that object, you will not be able to set up these kind of rules. And then you're completely blocked out from doing that. And even worse, if you're not the owner, you're not even allowed to see that they have been set up. So you're not even able to govern it and check out if it's set up in the right way. So you're quite limited if you don't have access to being the owner of an object. Well, that is kind of bad in itself. But what made it, and I say made very deliberately, what made it infinitely much, much worse, was that there were no option to switch the ownership of certain items. So something like a notebook before this month, we were not able to hand over the ownership of that item in any way possible. Except, and that was the loophole, except reaching out to Microsoft support and have them actually do it on our behalf. That was the only way to hand over this ownership. So that meant if a colleague of yours set up all your workspaces and your items and configured everything, and they, well, got a new job, they may have left the organization, maybe they transferred internally, whatever, they are not part of your organization anymore. And maybe the user was deleted, or at least it was shut down and not used. Then you suddenly have an abandoned item with an owner that cannot actually access it, which means you cannot configure these settings. You can even not even check these settings and you have no way to actually get access to checking these settings. So that was the problem. Here is the solution. Because with item ownership takeover, now we can actually do at least one part of the problem. We can now actually hand over the ownership of those items. So if you check the screen here, it's as simple as we'd hoped it to be. You click on the item, the normal box opens up with the settings tab and you can click settings and inside the settings of the artifact, you'll now see a new button in the bottom right corner. That says take over. So as you can see here, down here it says take over. If you now click this button, you click this button, then a new popup arrives that asks you, are you sure you want to take over this item? There are certain things that may cause certain problems with connection, credentials and so forth by doing this. But this is not something you can necessarily switch day to day or hour to hour. This is more of someone leaves and you need to take over this thing. Because the moment you actually click this button, take over, it is going to switch and to say, well, took over the item, all is good. But this item may have had its credentials flushed. So if this item had been something like a data pipeline or a data flow or something like that, all the connections to its sources was bound to this owner, which means that they may have been reset. You may need to go in there and reconnect and re-authenticate and reset up this connection. This is not foreign to anyone who's tried to change the owner of a semantic model. It was the same thing. If we change ownership of that semantic model, those things had to be set up anew. Same thing now goes for any other object that we need to switch ownership of. Which means, well, we don't have this horrible problem of being locked out of doing anything with our items. And we can now switch ownership. And there is a little bit of a task to be done when we do so. So it's not something we do like just to multiple times per day between multiple users. There should still be a main owner of those artifacts. Great. So moving on to news number four and the last one for today. The TMDL format for Power BI or TIMDL for short is not new in itself, but it's new in the way that it now has been introduced to the Power BI desktop. So if we go to Power BI desktop today, you will actually be able to see this new TMDL view. So it's right there in the left hand corner. You see it down here. There is a little button here below the DAX query view, which is now the TMDL view. And inside this view, you'll be able to see the metadata of your data model as well as actually making changes to the model through there. So I'll show you an example in just a bit. But it looks somewhat like this. So actual data about your data model with an apply button where you can actually implement and push these changes. Great. Let's check out how it looks in practice. So opening up Power BI here. And while this opens up, I want to say, if you want to try this out yourself, there are, of course, some steps you need to do because it is still a preview feature. So the first thing is you need to do is you need to go to somewhere on the internet, search for Power BI desktop download, something like that, and upgrade your Power BI desktop to its newest version because it's only included in the newest release of Power BI desktop. So you need to upgrade your application. Step number two, which I can actually show you here. Step number two is to go to files, your settings, options, go into your preview features. Preview features and inside of preview features, you will see a button that in the bottom that is called TMDL view or Temptle view. Click that on. And then finally, you need to restart your Power BI desktop application to make this make this work. So close it down, open it again. I already enabled it. So it's already ready for us to use. Great. I have a very simple data model here. It's a standard lightweight adventure works database with a customer dimension, product dimension, product category, other product metadata, and then some sales data. So very basic and very, very normal, normal data model setup like so. Great. And it has a single measure measure just for the sake of demoing this. So the new thing is I can actually look at this model from the Temptle point of view. So I can go here to the Temptle tab and I can do something like this. When you open it, it's going to be empty. I had just prepared a little bit too much, but it's going to be empty. And you can actually start dragging and dropping. So let's say I want to see the Temptle definition of a specific table. I can go to, for example, my customer table, drag it into the view. And that's the code. That's all the code for all the definitions of that table. So that's neat. And it has definition about columns, data types, summarization settings, and so forth. that even has the power query of where to get the data from. Now let's say I wanted to make a small change and say name style here should just be called name styles or something like that. I can actually go and edit this code. So here column name styles with source column name style. Let's see if it works. It probably needs to be an S there as well. We apply. Changes with the side. And in immediate you can see how this actually got a new name. So now it's called name styles. Same column, new name. So let's say we drag and drop it again. See here. Well, name styles, all good. I could also have edited myself manually here and say name styles with two S's or something like that. Doesn't really make sense. But there you have it. Back and drop again. And you can see it did the same thing behind the scenes. It changed the name of this column. So what I'm showing you here is that you can still use the UI that you've always been able to and change the things that you want to change. And it will be inflected in the TMDL code. You can also go to the TMDL code and change those settings and have them be reflected in the model and the UI by clicking the apply button. So let's. Great. So next step. So we changed something of a column inside a table. What if we wanted to do something more and something more broad? So let's say I wanted multiple table definitions. And I do that. Yes, I can just click multiple and I can drag and drop them. And you see now it doesn't just have the customer definition. It also, if I drill down around here, it also has the product definition. So I can have multiple tables. I can even select all of them and do the same thing. And there I have complete, complete documentation and definition of everything in my model. But I can even take it a step further because this is still just the data definitions. I can go to the model tab and see all those other metadata about my model. Something like my tables are there. Yeah. Roles, for example, if I have role level security, I could drag this and you see here, this is the definitions of this security role. role. This is just a simple role with permission to read all. So there's no actual settings in there, but the same things for relationships. I can check a single relationship and as, wow. Let's, let's just try to fix this screen. If you can get away with all this blinking, thinking party stuff. All right. Give it another go. So, yeah. Right. So technical problems here. We'll try to, to, to work around it here using a different device. Anyway, the neat part is that I can actually reach everything in my data model. So I'm not limited to just the table definitions or relationships or all these other things. I can actually go and find the specific component that I, that I want to, to do something with. And why is this interesting? It is mostly interesting because there's been a lot of limitations in the Power BI service for a long time. We haven't been able to, to change our, for example, perspective cultures, things like that. Only recently were they even added to the UI. These were all options that we could only change from Tabular Editor 3 or Tabular Editor 2 as well, but Tabular Editor or anything like third party tool could, could, could sometimes help us actually modify these settings. But with this new TMDL view, we can actually do this without using a third party tool. I don't know if I'm able to, yes, get the screen back up there. So I can now also do stuff like, um, changing the perspective, a thing we were not able to change anyway before. So if I have a specific perspective called test here, I could change it so it actually doesn't show the due date anymore. So I can actually just change the code like that. And now this perspective was changed, but I could also have, if I didn't have this perspective to begin with, or if I wanted to create a new one, I can use this code template. create a place perspective name and then the definition of the perspective. So I could also create here a fabric frenzy test perspective or fabric frenzy perspective and change the definition up a little bit. Let's just remove some columns and then apply this. And you'll see, I can now actually add a new perspective. This is something we couldn't do in Power BI desktop earlier. So it really opens up a new functionality to do out of the box without relying on third party tools. Of course, you can still work quicker and more efficient using some of those third party tools. But now at least for users who are not comfortable with that, or who are not allowed to use those, or who are just new to the whole world of advanced features in Power BI. Well, now you have an easy entry into using these advanced features right inside Power BI desktop. Great. But that also means that if you have a great script, like something creating a calculation group for time intelligence or something like that. And you think this is really neat. And it's based on a pretty standard date dimension or calendar dimension. And you're just doing the same thing for a bunch of projects, different data models, or even different clients or something like that. That now means you can actually just store this definition of creating that calculation group. And you can just add it to the model here and run it like so. But you could also share the script with your colleague. So if a colleague is facing the same problem that you have solved many times, you can just take, and you don't even need to write the script yourself. You can just go here to the interface and say, okay, I want to share this calculation group. You right click script TMDL to clipboard. And now it's in your clipboard. You could also have scripted it to this interface and copy and pasted it from here. So same result. So if your colleague takes this script and runs them yourself in their model, it's actually just going to create or replace, as it says, this calculation group. So it's a really easy way for you to send over features and send over bits of development that you've made and share it with your colleagues. So really, really, really neat actually. Finally, the big thing is that you're not limited to choosing either like a calculation group or a perspective or culture. That's very neat for this modulized way of working. But you can also just take the entire semantic model and have it documented as its full TMDL code inside the desktop. So if I take it like so on the screen here and drag just the whole semantic model, literally clicking the semantic model field in the top and dragging this, suddenly you will see many, many, many, many lines of definitions defining this whole data model. This is not even a big data model, but yeah, in its entirety, a few thousand lines of definition code defining this model. So yeah, TMDL view, quick way to access the entire underlying TMDL code of your model. TMDL used to be exclusive to working with the actual TMDL format. But with this feature, you can even actually do it on a PBIX file. It doesn't have to be saved as a TMDL to make this work. So it really opens up the power of TMDL for all and every everyday users. Great. And with that being said, we're going to finish from today. Those were the four news or the biggest news of January. There are, of course, some more, but the biggest news of January. We are not going to be back in February, but in March, I hope to be able to give you a blast off with a bunch of new things that will be released since now and then. And if we're lucky, we'll be able to include some of the features that may be released at the world's biggest fabric conference in Las Vegas in the end of March. So see you all there. Hope you have a fantastic 2025 and just enjoy your day and see you next time.