PowerBI.tips

User Defined Functions in DAX – Ep. 463

October 1, 2025 By Mike Carlo , Tommy Puglia
User Defined Functions in DAX – Ep. 463

DAX User Defined Functions are here, and they could fundamentally change how we write and maintain measures. Mike and Tommy explore the feature, its implications for code reuse, and the nascent daxlib.org ecosystem that’s already emerging around it.

Main Discussion: DAX UDFs

What Are UDFs?

User Defined Functions let you define reusable DAX functions that can be called from measures, just like built-in DAX functions:

  • Define a function once with parameters
  • Call it from any measure in the model
  • Changes to the function definition propagate everywhere

This is something DAX developers have wanted for years.

Why It’s a Game-Changer

Before UDFs:

  • Complex calculation patterns copied across dozens of measures
  • One change = updating every copy
  • No abstraction layer for common logic
  • Inconsistencies creep in over time

With UDFs:

  • Define the pattern once
  • Every measure calls the function
  • Single point of change
  • Consistent behavior guaranteed

The SQLBI Perspective

SQLBI’s article on UDFs lays out the foundations:

  • UDFs work within the DAX evaluation context model
  • They support parameters for flexible reuse
  • Performance characteristics are similar to inline DAX
  • They’re a preview feature—expect evolution

daxlib.org

An emerging community library for shared DAX UDFs:

  • Pre-built functions for common patterns
  • Time intelligence, formatting, statistical calculations
  • The beginning of a DAX package ecosystem
  • Potential to standardize best practices across organizations

Practical Impact

Mike and Tommy discuss where UDFs help most:

  • Time intelligence — Complex fiscal calendar logic defined once
  • Formatting patterns — Consistent number formatting across measures
  • Business rules — Allocation logic, threshold calculations, scoring models
  • Cross-model standards — Company-wide calculation libraries

Getting Started

Looking Forward

UDFs are one of the most significant additions to DAX in its history. Combined with TMDL and git-based workflows, they enable a software engineering approach to semantic model development. The daxlib.org ecosystem hints at a future where teams share and reuse DAX logic the way developers share code libraries today.

Episode Transcript

Full verbatim transcript — click any timestamp to jump to that moment:

0:00 Down. Good morning and welcome back to the

0:32 Explicit Measures podcast with Tommy and Mike. Good morning everybody. How’s it going? Oh Mike, it’s a good day today. Playoff baseball starts today, which I know how excited you are about that. So excited. Although I will say the Brewers are doing really well this year. So they’re very much up there. They So they are actually the number one seed in the National League, but there was also the rotation. They’re might be a little overrated. Well, are they peing too early, right? Anything could happen now once we get to the playoffs. It could change very quickly. So, we’ll

1:04 See. Is the depth there? Can we hang on to it? I don’t know how, Tommy, what’s the statistics on this one? How many times does the number one seed actually win the World Series? So, last year it occurred with the Dodgers. The the the part that you’re saying though about the trending is really important because a lot of people is like, well, we got to look at the last 200, , at bats to see how good this player is. A player may only get 60 at bats in a playoffs and that’s if they make it. So that you’re looking at this like microcosm of the data. So it’s kind it’s very misleading to

1:36 Look at someone’s performance over 162 games to say that’s how we’re going to evaluate what the playoffs do. The Yankees have been a little hot and cold. The Brewers had their really big hot streak. And again, you’re also playing some crappy teams. so there’s a ton of things like this is where the even I think what we do too, there’s like the eye test and then the data test. You can’t just use the data to say, “Oh, our numbers are great, therefore we’re doing great, right?” Like because there’s always the

2:07 Trending. And let me actually go off of this. And I I wanted to ask you a question about visualizations and how much we should change our visuals. So was helping someone out and one of the visuals was it’s looking at the last three years. And if you can envision your head a simple column chart that’s looking at fiscal year 2023, fiscal year 2024, fiscal year 2025. So three columns in this or three data points in this visual. The problem is it’s just counting up, right? That’s all this is

2:39 Doing. And in my head, I’m like, this number changes so slowly that no one really is going to get any insight out of that. To me, that’s something you keep in, , very low on the vis on on your report or in a very not prominent space. But again, that comparison of looking at the last three years, especially when this year is not over, I’ve gone so far away from using those or and especially when people are no, we need to see it. It’s like, do you though? So, what’s your take on this in terms of visuals that feel static or

3:14 Things that how often do you actually need to change something to provide the better context? Hm. I think it really depends on the conversation you’re having with the business around what they’re trying to display or what they’re trying to show. A lot of I think a lot of metrics are very much year-over-year. I was working with some companies over COVID and and it really changed how they looked at their analytics because they had a very down year during the the the the pandemic piece of this. So because of that they had to look further back in time and they were

3:47 Actually measuring themselves based on like a the last successful year we had was whatever year that was and then they said okay now our our goals and performance are not baselined off of that. So everything every year is okay we need to grow more than last year but when you have a huge downturn for whatever reason economic reasons something happens out of your control you adapt right you you try to adapt the company keep it moving forward. So there was this lull and because of that metrics were were changing. So your typical three years of data chart would not have worked here. You would have rolled through and you

4:19 Would have looked like oh wow we’re way up to what we what we were for the last 3 years. Well not really because you had a huge downturn because of some catastrophe, right? Something like that. So I think it really depends. A lot of this I think is the literacy of the people consuming the data. I think it goes back down to like what is your data literacy a little bit because if you can interpret very heavy things then you can give more advanced charts like a scatter chart or a bubble chart those things can tell you different insights around the data and again we’re talking about like

4:52 Aggregations or or generalizing you’re rolling something up to like a a visual what you when you were talking Tommy it made me think of the line chart that I’ve seen on graphs where the line chart has little to no variance in it and it’s just like a straight line. Mhm. Oh, yeah. Or or the variance is happening, but the scale of the y-axis is so large, I can’t really tell what’s happening, right? I know exactly what you’re talking about. Yeah. You’re like, the number is bouncing like a 100 thousand per month, but because the numbers in tens of millions, I can’t see that change. It’s just like

5:26 A flat straight line. What do I do with this? Exactly. What’s going to cause them to go, “Oh, that’s different from last week. Therefore, I should call this person or email this person. I’m such a proponent, Mike, now and my I don’t want to think it’s a rebuttal, but the only thing I would say to about the literacy side is I’m finding it’s more easier and easier or people are more adaptable than you think when you provide the context in in in a report. So, I’m such a proponent, Mike, of how I develop a report now in terms of really making sure that

5:58 Everything has some context on that visual, whether it’s a constant line, whether it’s some conditional formatting. This goes more to the utility side of a report rather than the nice design side of things. But I am very if you look at all the reports I’m building today or what’s being developed nothing has there’s not a lot of visuals that are pretty standard so to speak because it is easy to put a column chart together after you created your model but I don’t think it helps at all without a something dis signifying or

6:31 Distinguishing between good bad on target but like I don’t I think every other visual just wasted case. I think you’re making a good point. I think you’re you’re making a solid point around the expectations of the data versus what the data actually is. Mhm. Right. When when when I’m start adding like expected minimums, expected maximums. And when I was in engineering, we did a lot of like tolerance measurements. Oh yeah. So we had like an upper threshold and a lower threshold. and we would measure a bunch of parts and we would say okay we

7:03 Do a run of a certain amount of parts and based on the size or the volume of run there’s all this statistic stuff that comes into play here so this is like your sweet spot you love statistics so we’re doing a bunch a bunch of measurements on parts and we knew if we were going to get accuracy at the full running production volume right let’s say you’re going to make a million parts in order to get a representative sample size of a million parts. You need to run tests on X number of parts to make sure you’ve got enough run product

7:38 Or enough product in hand to make sure that statistically you can make a an estimate as to like what the real value will be. Now, all kinds of things happen and people change and tools adjust and weird things happen. So, so yes, it’s representative but you’re just trying to get can you control the process? Is the process controlled enough that you can get the dimensions out of the product or the part that you want? But in all those situations, it was a lot of like min, max, statistics, bell curves, , looking at your sigma values. How many sigma away are you for the standard means? All all

8:11 This is really good stuff. another thing I’ll just point out here too, Tommy, I hear you talk about this one. Sometimes the data has noise in it and it just naturally like jumps around a little bit. Yeah, it jitters a bit. And so I think sometimes when we look so intently closely at the data points, we we lose the signal in part of the noise. Does that make sense what I’m saying there? I So that that goes back a bit to you make me think of one of our earlier episodes. We talked about we don’t have the ability to story tell in PowerBI. We

8:44 Have the ability to story frame, right? Because the data is it it can be loud. It can also be not what we want it to show on a report. So it’s not like we can guide user like hey this next one’s going to show this 5% increase. Well the data is always dynamically changing not in the way that we want to show it but do we have the ability to frame the story with the visuals because again someone may make a giant sale tomorrow and that drastically change how that visual looks or behaves. Correct. So there’s a huge point there too and I love this too and I’ll pre- I preface I love the variable side of what

9:19 We do. , one of my favorite things I worked on or in a sense the exercise, it was depressing, but it was actually one of the senior pro , senior projects we had in sociology was we had to look at a large data set and one of the idea, one of the data sets was showing that the amount of suicides that occurred in Britain in the fall in like November, December were always spiking up. And it was our job to look into that and why. and they gave us some other like either some

9:51 Data sets that were correlated and ones that were just misleading and it was our job to basically say can we correlate this with something to explain why there’s this increase. So, and there were a lot of other studies like this, but this one was the most telling for me because it was like there are all these that could be, , correlation coefficient, whatever it may be, but what the actual study showed was because of the weather. It had the by far in the same months the most cloudy days. And so, that was our argument towards that was you don’t see the sun. It’s just constantly cloudy for

10:25 Consecutive days. And you can see how that aligned. So, I bring that up because this is what I love about what we do is you can just show a volume of sales. You can just show a number on a report and that’s fine. But that’s all you’re going to get from that to me in terms of action and what people are going to do. But there’s so many other ways that we can in a sense frame the story that allows people to actually make the data work for them rather than, , the old our old buzz of we’re going to bring, , bring insights to data. Well, what does

10:56 That mean? the I know we’re doing a very long intro here. We haven’t really announced the topic yet, but we’ll get back to it. But I I I think this is a really relevant point, Tommy. And , one of the the pivotal things that really shifted my mindset around what analytics was, and I thought I was pretty good analytically, but what I realized I was really good about pushing numbers around Excel. I wasn’t really good at understanding like what is defining the, , the core drivers of when businesses were getting earning money or losing money. Mhm.

11:28 And only when I got into like category management, really studying like what products are doing well, what products are selling well. , this is in the retail space, but there’s a lot of analytics going on there. And there will be points in time where companies strategically are losing money on a particular product, but they’re still gaining in market share. And so therefore it’s considered a win still. So even even sometimes like just being able to wrap

12:00 Your head around some of the things that occur with like market share market share analysis again it’s very difficult to do that because you have to estimate like what your competitors are selling is there a central in the what I was working for was the battery industry and there’s a central body that basically describes you all the companies send their sales data to a central place. they anonymize it and then say here’s how many batteries were sold for this quarter of the year and so therefore how much you sold every other competitor knows how much they sold and therefore you can

12:32 Calculate from that like basically rough or estimated market share batteries is was an interesting market because the customers all registered their vehicles like all the vehicles were are registered and there it’s public open source information so you could go by vehicle registrations and know how many trucks were in, , Savannah, Georgia versus how many sedans. And then you could go up to the Midwest and see who’s who’s got so many like what car is the most popular car in the Midwest. And those

13:04 All those vehicles took a certain battery. And you can make a whole bunch of assumptions around how often are they getting replaced. People are keeping their cars longer now than they ever have before. There’s just a lot of numbers in this. And so it was just very fun. But what I learned again going back to like your your point Tommy here circling back to the the main idea communicating with data we are visually instead of using words to talk to some to someone about something we’re physically using images graphics bar charts and I think the observation that

13:39 You’re saying here around adding boundaries or expectations or suggestions or other framework work onto the visual adds so much more context around these are the actual numbers that we’re observing and here’s what we expect it to be doing. Again, this is also helps out a lot with this noise in the signal, right? There there’s there’s going to be some noise in these lines. Well, maybe we should be looking at that as a we should be applying what is the noise ratio of this data? What is it

14:12 Acceptable from that standpoint? And when do we fall out of the noise? Then we start taking action because sometimes we overreact. Yeah. And and start allocating things too quickly before it actually is a problem. It may not be just a problem. Dude, I love it. I love it. Yeah. I know we took some time, but this is something I could talk about Monday, Tuesday, Wednesday, Thursday, Friday. So, I love that conversation. But Mike, we got something I’m going to put consider on our game changer watch list. What are we talking about today? Yeah, let’s go into the main topic here before we get into the news. The the

14:44 Topic for today will be the impact of userdefined functions in DAX. There’s a lot of things called UDFs. Now there’s a DAX UDF, there’s a Python UDF, there’s now a fabric UDF, but this is specifically talking about building a function used inside a DAX inside the DAX environment. So this is being able to reuse DAX code. , Marco Russo, who’s one of the, , not founders, but like pivotal members of the community who knows everything about DAX, extremely excited about this one.

15:17 , and when he’s excited about something, I need to take note. We need to listen to what’s going on here. And I I was reading on Twitter the other day, someone was writing about userdefined functions, and I I apologize. I really can’t remember the name. I just was scrolling through the feed and I just saw the comment and I I thought, “Wow, that’s a really good comment.” They said, “Userdeed functions is like defining a variable inside DAX.” I thought, “Interesting.” So they’re they’re saying that the the userdefined function is like defining a

15:54 Reusable piece of code as a variable and you can reuse that variable in any DAX formula anywhere across the model. So you define it, it gets stored and then from there you can then reuse that function over and over again which is like almost like storing a variable at this point. So pretty interesting and I and I you’re right Mike it has a lot of buzz right now. I’m seeing most posts on my LinkedIn and on Twitter X to be about right now userdefined functions and I think with with due reason and it deserves it. So up until this point Mike

16:28 The only place we could really write anything custom was in Power Query. Yeah, it was a Power Query and in terms of from the PowerBI semantic model point of view again we know what do you mean by that? So up until you’re talking reusable functions in in Power or anything custom if I wanted to write my own action something to occur over it be iterated in Power Query I could write a function to do a certain task. Well let’s be clear like all the DAX you write is custom. All the M code you

17:02 Write is custom but you’re talking about your own functions. you’re you’re able to define your own function that rolls up other functions inside itself, right? I can reuse it corre what you’re trying to get to. Yes, correct. Exactly. I agree with that. Exactly. So that was up until Power Query and it was very effective. But again, it from actually doing our definitions in our metrics and creating our measures, we had the standard library. If you had to reuse something, you had to rewrite it. a variable only lives in that measure. You cannot reuse

17:37 That measure over multiple models or in in other expressions other measures that you define up until our userdefined functions. And let’s be clear, we have to say the whole there are three types of UDFs right now. That acronym exists in three places in Microsoft fabric. So if we say UDFs on this podcast, on this episode, we are talking about the userdefined functions in DAX which just came out I think just last week if I’m not mistaken. I think it was announced at

18:09 Fabric conference Vienna. So it was announced there and they were like really like it was also announced I think much earlier but it wasn’t you couldn’t play with it. There was nothing like you could actually do with user data function or DAX defined functions. , so now you actually have you have the ability to like go into desktop, turn on preview and now you can go get right DAX functions available to you. So you can go build them the user defined function directly in DAX. So this is going to be interesting. I’m already seeing a lot of stuff pro pop up more as far as like what people are blogging

18:44 About how they’re going to use it. Again, I think this is one of these areas of we know we needed it. There’s probably some use cases right now we can clearly identify, but it’s going to get I think this is going to be one of the ideas or features. This is going to get crazy. There’s going to be a lot of these and it’s going to be hard. It’s going to proliferate very quickly and it’s going to be difficult to understand all that it can do. And so the community is now just starting to get their heads around what is this userdefined function thing in DAX? How do we best leverage it? And this is a lot of times I think Microsoft does a good job building like

19:16 A system that they’ve built a system here, but the community needs to come back and say what’s the most effective way to use this system. What are the patterns we need to start building into the system? And this is a good starting off point because I think we’re both seeing the buzz here for userdeed functions. Why do you think there’s already it’s a hot topic right now? Why do you think that you’re hearing it everywhere? You’re interested in it. There’s a reason why it’s and it’s more than it’s just a new feature. So for you, what do you think is like why are most developers very intrigued and wanting to use it?

19:50 Well, before I answer that question, it sounds like we’re getting to the main topic already. I wanted to quickly just cover off. Did you want to cover any news or any early items first? You’re getting so excited about it. I think we actually forgot about it. Man, I don’t think I got enough sleep last night. So there is there is a news and it’s for tomorrow which is too late but you can join us live. I believe we are doing the Chicago Microsoft Fabric PowerBI user group downtown Chicago. We’re going to have a great time doing our Chicago crash course in Microsoft Fabric. Mike

20:23 And I are going to drive through a endtoend solution in an hour. the basic idea of getting data, integrating that data, transforming it in Microsoft Fabric, utilizing that in PowerBI semantic models and really a common use case that you would use Microsoft Fabric for. We’re going to let other people drive if they want. We’re going to have the tenant up with a nice license that you can use test out any feature that you want and we really want to get the feedback from you guys as well because another announcement is we will be doing the

20:56 Chicago user group monthly in person from here on out. So, we’re starting in October. We’re going to keep it going. We’re gonna keep it going through the cold and the polar vortex that we’re probably going to have this year because that’s apparently a thing now that’s going to happen this winter for those in the Midwest. But we’re going to keep doing it and we’re obviously a big focus is going to be for a lot of users like you who not to do the PBS thing, but users like you or listeners like you who want to learn more about fabric, want to get your hands on it. And that’s really where we’re going to devote a lot of our

21:29 Time with the user group. And it is tomorrow at 300 PM Central. It’s going to be live on all the YouTubes and it’s going to be in person. You if you are just hearing about this and you really want to attend, please message me like immediately as soon as you hear this and see if I can get you in because you’re going to need to sign in, you’re going to need to have your full name, etc. So, if you are in the area and you’re like, I didn’t sign up, but I really want to go, message me like now. Pause the podcast and do it. If it’s after the second, well, it already happened. Just

22:01 Find us on YouTube. What would be the best way to get a hold of you, Tommy? Through LinkedIn, would be the best. So, Tommy Pulia. Tommy Pulia. The B. It’s very standard here. So, we don’t have, , fighting Yankees 2405 or whatever thing. So, okay. I’m going to put the Chicago user group inside the chat window here in case you want to go check it out. This is the Meetup event for the event that Tommy’s talking about. And then also Tommy, I’ll put in your LinkedIn page here as well in just in case you are in the Chicago area and you want to join us tomorrow. In order for that to happen,

22:33 You’ll need to be able to list because we are going to be at the Microsoft office. , and that will require you to be able to sign into that. , and that will you can’t get in without telling the front desk you’re there. Mike, do you want me to take you to a new pizza place or do we want to try something that’s tried and true? Is that like taking Mike to different pizza places here? There’s another one I’ve heard about for good pizza. Okay. Always up for it. You’ve only been to Bonis once. So that’s the only thing. You’ve only had it once in your life, which is, , like 18 times not enough. So

23:08 , can you ever have too much pizza? Can you have too much Italian food? Oh jeez, it’s so good. Okay, so but we’ll we’ll talk about that. We’ll talk about that. Not to get a following there, too. Or we’ll continue the user group. But yeah, so that’s happening tomorrow, 3 PM. We’re changing the time up, too, which is also something we heard from you guys was the 6 PM’s fine, but it’s late. So, we’re going to try to do it. Get out of work early and say you’re doing it for work. So, what a great You’re going to learn something. Exactly. All right. All right. All right. Okay. That being said, now I think we’re good to go into the main

23:40 Topic now. All right. Good. let’s get into our main topic back in. Sorry, Tom, you were you were in around what do I see as being options or where do I see the community starting to build things inside UDS? Why do you think this is such a hot topic, the user defined functions in DAX? Because we’re hearing it everywhere. We’re interested. What do you think about it? It’s like getting everyone’s attention. I’m I’m going to lean on the idea like this feels a bit more like a community move. And I say that because there are a lot of really smart DAX people in the

24:12 World that are doing smart DAX things, but it’s very difficult to share that DAX with other people. , I built a tool a long time ago that would help people build like programmatic DAXs or or DAXs that would could be you could enter the DAX directly into the tool and it will then parameterize the DAX and then you could enter in use that DAX in in other models. if you go to DAX.power.tips, tips. This is the tool that we attempted to build, which was

24:45 Basically the same thing as a data function, a DAX data function, but like three years a four years ago, like way early, right? Cuz it was like, man, I’ve got this bit of DAX and I want to reuse it over and over again. How do I build a way of reusing that DAX over and over again? So I think the excitement around DAX user udfs are the ability to like let the experts build patterns of good things or build the functions that Microsoft’s not providing to us and then inside that now you have a DAX function

25:17 You can just go reuse and it’s leveraged inside the engine. So, one of the examples that I think that resonates really well with me are a lot of people like to do SVG measures or SVGs that are measure based items. Well, already I’m seeing a lot of very simple blogs around well if you use this function, this function defines all of the SVG items for you. And when you call the function in the main DAX statement, you just like , , rocket icon blue and then give it some value or whatever you

25:48 Want. and and now what it does is it’s able to build all that HTML or SVG information for you automatically in this function somewhere else. So it basically cleans up your DAX and if you want to reuse that multiple times across multiple different measures, you now have one place to have the definition of it. this is the definition of like good programming, right? So what you’re adding to DAX now is the ability to reuse code over and over again and and now it just works. So I I like it. The the thing that rubs me the wrong

26:23 Way just about it is this just the syntax of it. It seems like it’s a foreign language again. It’s like another rando language of how you define things and what’s a variable and what’s an array. I was like my opinion on this one was like gez guys just make it like Python. Everyone already reads Python and knows it anyways. Like make it feel more like make the syntax of the functions more like Python. But they didn’t do it. They they did it. It it looks to me when I look at it, it feels a little bit more like M. You’re writing M inside there, which is I think less

26:57 Same characters. Yeah. it just doesn’t I don’t like it from that from that regard. It feels like it’s going to be again it feels like Microsoft’s doing like whatever they think is better for Microsoft and what’s easiest they’ve already built out somewhere else. is are you going to get better intellense because of it? I doubt it. Well, there is no Intel sense with user defined functions right now. This is what I’m saying like how long are we going have to wait now till that comes like so had you used like a more common language like a Python or something like that you’d have a parser or something out there that could help you like get what’s the format of it

27:30 Should look like corrected. I don’t know. Just my opinion. I still wish to this day one of my if I had a birthday or Christmas gift, it would be to get the actual number of overlap between people who know DAX and people who know Python. I want to know what that percentage is because I want to do an overunder with you. I’d love to bet you that because I think you think it’s a lot higher than I do, but there’s no way to tell. There’s absolutely no way to tell. We can’t We can pull a We get a sample. We could go old school sociology here, but I think I think the ratio is higher than

28:03 You think it is. I think the ratio is higher than if you look at like programming languages like I’ve I’ve done a couple of them, right? Python and R are like and even Visual Basic for that matter, they’re pretty straightforward and for me like when I’m reading them, they’re very human readable and they make sense. Like Python does a lot of really nice things for you that makes it easy to write. So in other languages like C or other languages out there you have to know the exact syntax the exact way you

28:37 Have to think exactly like these controllers and all it it just in my mind hasn’t spent enough time learning how that other those other languages run well and so I’m just not as interested in learning them because it’s just the learning curve is so hard harder. No and that’s not my argument at all. I’m saying the people’s exposure to it. And this is coming from someone who is using Python every day and has a has a reason to and loves it loves it thing. But I don’t know if the exposure is there for a lot of people if I’m just coming from a DAX world the purpose of a lot of people

29:12 Also knowing Python for most people. So but that all goes to be said I I do agree with you the syntax it is very much now like we’re kind it’s not like we’re learning an advanced stack. It really feels like it’s, , it’s DAX 2 or like, , DAX alternate DAX right now. So, it is it is very different and this is going to be part of the learning curve. Yet, we’re finding that interest and for me it’s I find it intriguing. You took the community around here in terms of asking like why do you think there’s the buzz here? I agree with that. Now that I’ve

29:45 Thought about it, I think that’s going to be a huge part that it’s going to be a shared library. to your point, you developed something, but Marco Russo and SQLBI already have something at what is it? DAXlib.com that already has a library of things as well. Yeah, DAXlib.org is an open source repository. I’m sure you’re going to have one in PowerBI.tips. Those always do very well. Well, you had the one with Tableau editor and the macros. So, this is probably another opportunity to share things. But to me, why there’s so much buzz right now and why we’re getting the interest is

30:18 I’ll take an example from Power Apps and what what was one of the biggest components or one of the biggest features that Power Apps developed. Take an example where I wanted to in Power Apps had a gallery and anytime someone was going to delete something, I wanted to pop up, , a window to say, are you sure you want to do this? Well, that can be used in a lot of places and it’s a you like you need a component and a grouping and d well they finally developed this thing called a component or custom functions where it’s like what just copy and paste this define those parameters. So now

30:50 Anytime someone clicks on the delete icon in any gallery in any app that same window shows up so to speak or the same components which was a game that was a game changer for me and the amount of time that that saved. Now, does that equate perfectly with this? Not necessarily. However, for me, I’m looking at the reusability side of this. And one of the things that I’m looking to find, I’m getting more research on is it says in the documentation and on the blog, you can use this across models.

31:22 Now, I’m not seeing how this exact now how this exactly works because you can’t create userdefined functions in the service. You can only create it in obviously the September version of desktop. This is not a service thing. , I think it’s in the new Tableau editor piece. They’ve been talking about it like crazy, too. I’ve been seeing Kurt and Greg Baldini, the great Baldini, mind you, , talk about this like crazy. But the fact that I have very complex formulas, because again, complex formulas are just a way of life too with DAX. something that I need to

31:54 Reuse and honestly even if I use once to make sure the logic’s right is such a huge part here because like the biggest problem I think people have with DAX learning it outside of take away the evaluation context if you could is I’m trying to get the number right but I’m trying to ensure also ensure my code is correct and I’m trying to struggle with those two things like is the evaluation context correct but have I also defined all the business logic and you’re trying to tackle those two

32:25 Things at the same time which can lead to a lot of unnecessary code and it leads to that that meme of of Charlie from it’s always sunny Philadelphia where his eyes are red and staring at the board where you’re just going crazy. So I can also break down and I think reu reusability is a single part of this. I’m looking at this to say let me just define the logic and then I can re use the measure and that’s where I’m seeing that G why it’s on my game changer watch list where I can focus on the business definition the core logic

32:59 Here and then we can focus on the evaluation context we then we can focus on if the numbers are right in certain visuals. So just being able to do that for me is where I’m like this is going to be a central part like when you think about the what we call the common flow game changer qualifies for us or at least my definition is if it changes my normal behavior in the process and to me this is absolutely something that it’s looking at now it’s only been out for so long so it’s hard to say yet but that’s where I’m seeing the big change here

33:33 Outside of even the community thing. Yeah, and I I agree with your your comments here, Tommy, on this one. This is a very big shift. This is a feature I think that the community has been asking for for a long period of time, right? This is something reusable DAX and to your point, , reusing it across multiple models is going to is going to make a lot of sense to do this. why I’m excited about the community side. I’m going back to my comment here just a little bit earlier just to explain a bit more here is I think it’s so important because again I when

34:07 You have something new like this come out there’s going to be a couple people at the very beginning who are experts in this area who understand how it works who are going to build good examples of of these pieces of code that you’re going to want to get your hands on and this could be inside your organization right if you have a larger organization there’s going to be parts of code that needs to be reused I think this is a good best practice in general the people that are going to know how to do this is going to be small. And so the fact that you can reuse these or put them in multiple models or make a single timle file that you import in

34:38 Multiple models that just give you these functions will be extremely useful to organizations so they can reuse this. So I think it’s I like the idea of it. What I worry about is the tool exists, but there’s no store to go buy them from. Right? So, this is like I have a hammer, a really nice hammer, but I can’t go into a store and see all the hammers laid out and then choosing the

35:11 One that I need. Right? So, the analogy here is like there’s there’s not a store there’s not a place where we can go get all these things. I’m seeing some things from SQLBI they’re starting to do this but the implementations is poor I would say I I guess at this point right you can go get functions from DAX library so there’s like SQLBI made this DAX library they call these things packages it’s literally just bundled up code you still have to copy paste not like not implemented the way it should be

35:44 Implemented like no like it’s just not yes interesting Is it the right way to go? Probably not. Like it’s it’s there’s again this is one of the things where the community hasn’t quite figured out the right level of friction to put on these things. so stay tuned Tommy. Okay. There’s going to be a better thing in the future. As of today, this is pretty okay. I’m what? I’m edge of No, I I get the implication. I got the innuendo there thing. Like just in case I’m thinking I know where you’re at thing. I

36:17 Know where this goes. I’ve seen this story before. Developers. You’re already investing your developers. We’ve already got something cooking, right? We’re getting So stay tuned. I love it. I love it. I’m all but I I got to argue with you with this. Copy and paste and with Timle. This is this is your jam, man. So it’s that’s dead simple. Show me something easier. Great. Yes. And no, if what you’re doing, though. Like, so that’s that’s the last step. Who doesn’t want to copy and paste? That’s the last step. Go go go go go go over to go over to dax library.com right dax library.org or and if you go

36:50 There you’ll see like okay there’s a whole bunch of examples that are there now showing up okay fine there’s there’s like literally a oneline sentence as to what it does I that’s not helpful right how how do let’s just let’s just play this forward let’s say there’s hundreds of things that show up here like this is a git repo that’s just getting populated and people are just adding things to it great that’s really exciting right get your name out there’s stuff in there that’s really interesting right Okay. But when I look at these these DAX measures, I have to understand is the

37:22 Title or name of it useful enough to understand what it is. how many format strings are we going to get? There could be like a hundred of these things. So how do I know which one is going to be the one that I need to use? Is there a place where I can easily implement it? Like I look at this page and go, this is interesting, but it’s just going to become a a mess of stuff that no one knows how to use. Seriously, okay, it’s it’s going to be it’s going to be interesting, but there when when you get to hundreds of snippets of code,

37:56 How do which ones are going to be useful or not? That’s where that’s where I think the community part of this really becomes very important around this because yes, you can give a common place for people to go land and push this push this code to, but like this this is not going to be helpful long term. like it’s gonna it’s going to create a lot of confusion and you’re gonna need to really know what you’re doing to be able to evaluate what people are building. It’s a heck of a lot better than user data functions right now in terms of my ability to browse. And listen, we’re two weeks in. Like I said, you got something

38:29 Better. Cannot wait to see it. I’m not saying you listen, I’ve seen what you can do. I have the temp I’ll do all the template things. I love the GitHub repo. So, I’m actually saying this genuinely can’t wait to see what you got thing. But the fact that we have something even just to copy and paste Mike and I and I hear what you’re saying. I really do. But just the fact that I can take something in Tindle, our favorite coding language, especially yours right now, too, or or your favorite scripting, it it’s a win. It’s to me, this is definitely a win. And

39:02 Listen, I cannot wait to see because honestly, bring on whatever makes my life more efficient, whatever makes things easier to use. And I I me, you give me something with an install button, install, install, install, install, install, just take it all thing. So I can be very greedy that way with stuff like that. So I can’t wait. And but this also goes to another question or another conversation around this because we’re talking about for experienced users. You kind you said that a few times. I’m looking at user data functions in

39:34 General, not necessarily from the ease of install or use but or or the whatever gallery it’s in. Is this more for pure developers or is this part of everyone’s workflow? So that’s what I want to ask you here because is user data function userdefined functions meant for specialized teams for people who are the core BI team or anyone who’s developing PowerBI reporting or or semantic models rather should understand and use a gallery like this would be relevant to

40:07 Them whether it’s one sanctioned by Microsoft or community-led is everyone going to find value from a gallery or from using userdefined functions. I think everyone will find value from it. I believe it could be used by anyone. But what where I would draw the line for me would be it’s going to be a prodeveloper feature, right? It’s going to be in again we’re we’re going back to like what model should be using this, right? Again, I don’t know a lot about the performance of this stuff yet.

40:40 How well will this perform? How much stacks can you throw at something? Like this is one of these areas where I think it could be very quickly abused by people by overputting too much code into a specific thing and not just using the standard DAX functions, right? I could see people in the someone someone in the community saying like look I’ve removed all the calculate statements and I’ve replaced them with all userdefined functions now that do something totally separate like okay interesting like fun like but at the end of the day it’s like how is this really getting closer to our end objective which is better insights

41:12 Better reports better semantic models right that’s that’s the end game here and some of these things I I think there’s going to need to be some like level of classification of what measures are doing what things. We’re we’re back to the same problem, Tommy. Like, can we make a a DAX UDF in a thin report? Can does it have to be in the model side of things? Like, haven’t heard a lot of talking about that yet. , maybe yes, maybe no. I don’t know. I haven’t I haven’t done I physically have not done the research to like try it out. Like,

41:44 So that would be interesting. , , what’s the performance of these DAX user data functions? Is it actually performant to do it that way? Is it more performant to define the the DAX user function? Or is it the same performance? It’s just bundling up code and just reusing it multiple times whenever it executes. I don’t know. We’ll have to see how that pans out. That’s where I’m I’m, , I’m interested in seeing the proliferation of community level things, which is exciting. It’s very good to see that. But on the flip side of this, I’m also looking at going, okay, we need a better system of just

42:16 Upvoting and downvoting things. , again, I’m going to dax library.org. There’s already like a bajillion formatted items you can go search for and , yes, interesting. But like now, , there’s a lot of there’s filters in here that has like a filter for one item. Like that that’s not helpful. Like there’s there’s thing called an audit tool. there’s one person who’s made an audit tool with a doc like this this website potentially will get

42:47 Out of hand very quickly if it’s left unregulated. So for me I’m looking at the adoption on the user and I I take it from a training point of view. If if someone said develop a series on DAX or update your series on your training on DAX, where would I put userdefined functions in terms of the order? And I’m looking at this and there’s two things that are coming to mind on the where I would place this training. If I was training someone from beginner to advanced, it’s going to be conceptual and workflow is

43:20 Where I’m taking the what type of person it is. Conceptual is the concepts you need to know in DAX to be sufficient just to survive in a sense to float not necessarily to make your boat go faster or to be an expert in a sense swimmer but can you float in DAX and so obviously that means we’re going to probably push back userdefined functions in terms of the type of user that’s going to use it because if you don’t understand evaluation context if you don’t have a handle on the functions

43:53 And you don’t have the experience experience, then user defined functions don’t do anything for you. Yeah, you could copy and paste these and try to use them, but you’re not going to be creating anything, right? So, yeah, this may be it’s going to be helpful to have galleries like this and things that are being created, but at the end of the day, too, if you don’t understand DAX, I’m not teaching someone this like right off the bat. The other part is the workflow. So, yeah, that’s my point. It’s a prodeveloper. It’s someone who’s already familiar with a lot of the ecosystem and they’re looking for a way to like be more efficient and reuse things like this is

44:26 This is purely in the prodeveloper space but then the other side of me thinks of workflow too. So and again when we define prodeveloper if I had a spectrum of the type of again persona right you think beginner I’m building reports I’m just learning I just did dashboard in a day and now I’m going to create semantic models all no right but I think this to me I don’t think it’s all the way on the other side of I am five years into PowerBI I could be an MVP I’m certified this could be very much in the middle

45:00 For me Like when I’m looking at that type of user, if you were to put on that gauge where it’s not necessarily, it can be a pro, but it doesn’t necessarily have to be that prodeveloper type of person because if I get the concepts of DAX and I understand business logic, this could be someone that is dedicated to a department like the the spoke, right? I don’t think this is just a hub use case here. This can very much you’re describing to me the pro like you understand DAX pro. Okay, you’re I don’t care where you live.

45:33 Visual side, IT side, like doesn’t matter to me. You’re a professional. Like, you’re working with Dax enough that you understand it, bro. Like, I’m not going to I’m not going to be so I’m going to be more cut and dry about like I’m not going to worry about the role of where they sit. I’m going to say that’s going to be the person that is if if what you’re doing, this will advantage you. Pro. Okay. I So, I see. So, but you mentioned the pro developer and for me, Mike, I see them now, at least where where we’re heading, as almost two separate things. I can be a procreator

46:05 And I could be a prodeveloper. And to me, I see those as two different personas. I I would I don’t use that language when I talk about it. I talk about the report builder and the data modeler. I talk about those two different areas. Sure. Sure. Sure. in those personas how I look at it because of someone who crafts the report pages, designs the UI, builds out the pages, works with a model that someone else may have built, I do expect if you’re a pro report builder, there’ll be parts of this that you want you will want to use. You’re not going to probably write a really

46:38 Crazy geographic something. You’re probably not going to build some crazy time series something, right? But you might use a lot of SVGs. you might use a lot of visual side of the things. So this is where DAX becomes it it transforms to what you need it to be right some of DAX is very heavily calculation and aggregation based another part of DAX another whole discipline around DAX is the stylizing the formatting the conditional formatting of DAX right so there’s this part that flips between both sides of things and so that’s where I

47:12 Look at the DAX functions and say well it it fits the roles the personas pro report developer pro data modeler, it still fits pro in both those levels. Like you’re you’re not going to go out if you’re building SVG measures, you’re probably a pro. Like you’ve you’ve figured out enough to like get into code and write a lot of code. I I think we’re saying I think we’re saying the same thing. So we’re probably saying the same thing. Yeah. So I think a good exercise unless do you want to say anything on here because I want to put up a scenario that I think will also be a

47:44 Good exercise. Go ahead. Okay. So let’s go to our data. One of my favorite things to do on this podcast that I think really also helps too, not just from the individual, but in terms of how this actually going to get adopted. You’re the data organization large how whatever parameters you want to put on this. Where how soon are you pushing this in terms of getting this now part of the workflow adopted that hey we’re going to start updating reports not just creating reports for userdefined functions but we want to start migrating some of our

48:17 Current semantic models that are certified into userdefined functions. you as a data, what is what are you looking at from a project or a timeline point of view to get this implemented for if at all timeline? It’s like how long? Yeah. No, I’m saying for you, you want to start pushing this in the organization as the datas are. I it sounds like you found a solution looking for a problem. I

48:49 Would even I wouldn’t even frame it that way. Okay. interesting thing. Sure. I I would I would attach it to a where are we struggling with our current deployment or or development of DAX? Is there parts of it that need to be reused? So this is going to take like an architect level person to step back and say do we have 15 models? Is there parts of 15 models that we’re reusing over and over again? you need a comprehensive look at like what’s going on and saying where do we strategically apply this or is there something I’m trying to solve in DAX that just doesn’t work very well like I would argue again

49:22 Back back to the SVG side of things right I think that’s a big problem to solve I I look at SVG measures and think this is a pain in the butt to run like this is really hard to write it’s not easy I don’t want to do it every single time on every single model so I would walk away from SVG measures because they’re so difficult to implement. Now, if I could dedicate someone to focusing their attention on building these prettier stylized things for my certified reports, then yes, this would be something that I would want to package up and reuse that knowledge over

49:55 And over again. , that’s what functions are really. It’s package bundled knowledge into a reusable an element. So, I would probably approach it the the other way. I would probably start on the model side saying where do we have challenges? What’s difficult? and then looking for are there are there of the challenges we already have are there specific things from the user DAX user data functions that would solve those problems one of them for me right now is I don’t want I don’t want to write a bunch of SVG all over the place I want to define it once and be done with it clean done that’s that’s one of

50:28 My use cases so if we have reports that have those things in it I would identify that use case we’d go build the functions we’d incorporate them so that’s as a data zar or that person who’s architecting at the higher level. That’s how I would approach the problem. So man, that is that is completely different from my and take take from this because you’re looking at this more almost from a custom ad hoc point of view. Do we have com right now specific issue reasons that we should

51:00 Use user data define function and implement that? For me, I took that scenario as can userdefined functions be part of our normal work make us more efficient in our current workflows in general. So I took a more general approach to that where rather than oh we’re using SVGs that’s a good case implemented. I’m looking at this is regardless of long-term and now would we be more efficient using userdefined functions in the common workflow? If the answer is yes, when you in a sense talking to your architects, then I’m I

51:34 Would start the process of that in terms of beginning to like Yeah. Yeah. But I Yeah. Like I what you’re talking about is so like not tangible to me. Like you’re describing things that are like it’s not tangible. Are these things helpful? How do you quantify? Yes. But what are they helpful for? Like I my question to your you’re you’re just saying are they helpful? Do they save me time? Okay. What are the examples of that? I’m just going down a little bit a layer deeper and saying writing SVG measures is going to be the timesaver for me. So

52:06 I see what you’re saying like I would identify the actual situation and when this thing applies when is it good to be used that’s what I’m starting from. I’m not going to start from the other side of things where you’re like well is it is it useful? Then we should then we should figure it out. it’d be more like I’m looking I need to make sure I’m I clearly identify a problem and how does this make that problem go away? So, and and I completely see what you’re saying and I may be coming from a more theoretical point of view right now than practical, but one thing you talked

52:39 About being messy with the gallery. One of my concerns if I went in individual is some of my semantic models have userdefined functions and some of them don’t. And even if they could be if they’re in a sense doing the same logic that to me is where I would be concerned and I want I would personally from a data point of view would want to stray away from is I would rather there’s a practical approach just like in your center of excellence in your knowledge center on how we develop models is if there are very general or common baseline use cases for userdefined

53:12 Functions you’re using them it is part of the workflow of our organization again this could be more theoretical but I have a fear when you look at large organizations that if some people know userdefined functions and others don’t and some people are using userdefined functions and others aren’t then once you open up a model if that’s now your model and has all these user-defined functions and that’s not part of that team’s workflow what are they going to do so and this is that’s the concern I have you either have this part of the common use case or you don’t

53:44 Use it at all and that’s where my concern is because this can be something so integrated into your model. It’s like you either use DAX or you don’t. You can’t have some models that are all implicit measures and the others are explicit because again based on each team on especially the more enterprise side of things it has to be a common understanding. Everyone has to have the concepts. Everyone needs to know it. You can’t just have and I’ve the reason I’m saying this because I’ve done this myself where I’m like I learned something new in PowerBI. I’m going to

54:15 Implement this new feature. I had to hand it off. That team didn’t know what it was. Never used it. Never had to. But because I was always on the cutting edge, right? Like I was doing things that honestly I probably shouldn’t have. I should have waited until the rest the baseline developers were using it as well. So that’s where I’m coming from when I look at this. It’s great if I can use it, but if I’m working in a larger team or with other prodevelopers in the organization, this has to be something that there’s a baseline being used.

54:49 Interesting. I like your point around that one though. I I do think there’s this idea of like in larger teams, you just can’t implement something and roll with it. And and this is maybe why I’m more of the opinion of find a problem that this solves well and start there because just looking at the different again going going back to dax daxlib.org Right. Again, the links in the description or in the in the chat window here on this one. Like even look even

55:22 Clicking on some things. I’m looking at some things here now like there’s no images attached to any of these things, right? So I can’t you you can’t go through these things and say okay if you’re building an SVG or what is like what does the measure do? There’s just such, again, this is one of these ide areas of like there’s such little documentation out there unless you start experimenting with these things and like really spending some time on this one. That’s just gonna get thrown out there and it really the story becomes like how do you build these things in a way that actually makes sense so people can like use these things in a again usable way. Right.

55:55 , I’m going to also maybe pick on you a slightly a bit about this idea of like are you what you said and this is I’m I’m probably maybe going a bit too extreme on this one as well. You said a comment around like if if you are so let’s take a team. There’s you and a couple other people. You find user data functions that they prove to be very valuable in this particular area. Look, I’ve got this complex calculation. We use this across multiple models. There’s I I can build the math of that. I can do that mathing of the thing very well

56:28 Inside the function inside this user data function. Okay. Interesting. Great. Tommy, you solved a problem. What is the path to learn or teach the rest of the team to do this one? And I think a lot of times you you put up this barrier of like, well, this is new, we shouldn’t do it. Or this is new, everyone needs to learn it. I feel like there needs to be more emphasis on addressing the problem and then from there focusing on okay how do we land this and what does the communication that look like for the

57:00 Broader team if you buil to your point we shouldn’t be building things into models in in brand new features that come out of PowerBI or features that are getting GAD unless we’ve had a review with the team and someone at the top is saying this is important enough we’re going to use it let’s get everyone on the same page as to how we use it. And this is where I think very early in the conversation, it made a lot of sense for me to say, let’s stand back and and focus on what are the problems this is solving because then I

57:33 Think it’s a much easier communication pattern to say, team, we’ve got problems with reusing SVGs in DAX. We’re using in our reports. Our our customers demand it. In our certified reports, we’re using it. I want to I want to do a better job of managing what that is and if we need to make updates to it, we need we need a process by which to govern this. And so I think a lot of times what you’re speaking here to Tommy there’s a very lack of it’s a lack of process. It’s a lack of

58:07 Rigor around development. It doesn’t exist. And so what happens is we have a bunch of people just trying a bunch of things. And so after people try a bunch of things, we like get a little disorganized and then we have to like reorganize ourselves and then we we stumble down the path together but with little to no process. And this is where I think Matias Tarbach has got like a really good strong scenario around this where he’s building DevOps and automation and tooling and all these things where how we build stuff needs to be a process. Yeah. And I think a lot of

58:41 Organizations in the data world don’t follow this or haven’t thought about a process or they just do what they’ve been doing all along. It’s just a ticket system. So there is a process but it’s very like min minimally thought out at most. And so when you start really talking about process that everyone understands now you can really start ringing out value and ringing out value from the team much faster. Preach brother because I completely agree. So let’s take an example here. Bernat Guuel Rossello. We we’ve actually talked to him in the user

59:12 Group. He’s one of the best DAX people you’ll meet. He has a thing here called everyday KPI. What if Mike I randomly just like I like this. This is actually great. I’m going to change all my models and every KPI I have on a visual in my reports to using this userdefined functions or functions because there’s more than one. Well then let’s say someone on my team or whatever happens is like I need to update that report or I want to take that over and they go what the heck is this because they never had that exposure. What if I need to change the logic there now and I

59:44 Have to go to the userdefined functions, right? Even though every other report in our organization is using normal DAX, but this one guy went rogue and put all of his KPIs to this custom package, right? And yeah, to your point, this is a process around pure development. This is where actually now the more I think about it, dude, you you talked about the developer role here. We have to treat it that way. We have to treat this as from a when we take we’ll talk about source control too in that element because Mike I got burned for implementing the

60:18 Preview feature of the filter pane because no one else did and they didn’t know what to do when they wanted to change it because I was like on vacation and god forbid I went on vacation back in the day. and it was like stuff like that. So this is this is not to take anything away from userdefined functions but this is also our podcast. We’re talking about this in the real world. We’re talking about this when you’re trying to implement this. Now, as a consultant, it’s great because I can talk to the client, say, “Hey, guess what? We’re going to use preview features. User defined functions are one of those things, and I can just go at it, have

60:50 Fun, thing. But if I’m working in a team, and again, even if it’s just me, if I move to Sicily, I have to assume that next person knows userdefined functions and is proficient in I someone has to be proficient in this skill as I am.” And that’s how you have to take this. Yes, but it’s also like everyone’s this is new. Everyone’s learning together. It’s like a it’s a collective learning with all the people to figure things out. So yes, is there going to be an expert day one? There will not be right. It’s a matter of can you identify good use

61:22 Cases now that help you out that take minimal effort to learn and then as the team progresses people will find other and this is where I was talking about earlier the community is going to figure out the best places to apply this stuff right the good stuff will boil to the top. the the junk stuff will just sift to the bottom and there’s going to be a whole bunch of things that people just do not use or do not download and you’ll never look at them again. Right. Right. So, this this is the same pattern that happens inside your organization when you make reports a commodity. When everyone can build a report

61:53 And everyone can make data things, data products, basically you’re going to have a whole bunch of them being creative. Not all of them will be useful and you’re going to have to figure out what is the strategy. How do you bubble the best stuff to the top to reuse that information? Dude, you need to scrape off the cream on the top. That’s the best part, right? You’re going to have a whole bunch of things that are going to sink down to the bottom. So, I really think this is super useful. I think we probably need to wrap on some closing thoughts here around, , DAX user data functions. Good topic here. I’m very

62:27 Excited to see what’s coming out from the community. I’m excited to see what will be happening, how we how people are going to land this stuff. , it’ll be very interesting to understand more about what is going to be used here. I’m I’m optimistic that it will go well. I’m just a little bit skeptical at this moment because it’s so new. There’s a lot of hype around it and I don’t think the community has really figured out where’s the best place to use it. This is this feels to me a little bit like bookmarks. Everyone, there’s bookmarks now. we can do all these amazing things and now people build a whole bunch of

62:59 Reports with bookmarks in them and then 6 months later you’re like how do we maintain this what does this look like how do we reuse this stuff like this feels a little bit like that but again I’m not saying it’s going to be I’m not saying it’s a bad idea I’m just being cautious because with the right proper community tools and documentation and the right implementation of this it could go really well and make it really easy for people to see how how you leverage this new technology which I think is a good thing. So and for me it’s really there’s

63:31 There’s the two modes of thought here is from the individual developers point of view this is something that yeah learn be proficient in and I think this is going to be a big part of what we do but the other consideration here is you need to think about this from a governance point of view and that has to be a part of the consideration to implement this in in any organization whether you’re enterprise or even whether you’re small business because again this is one of those cut and dry cases of whatever you do, you have to have a baseline on anyone who would take that over because

64:05 This is new. It’s in preview and it’s just like if you do something if you do something complex in DAX, well, you better be able to explain it and you better make sure that someone can take that over. This is a cut and dry case of that too. That does not take away at all from contributing, from learning it, and from utilizing it. But we have to keep in mind to the wider aspects and impact of this once we introduce this to a culture or a team. So new I love the conversation today. Very good things. I thought it was very useful as well. This

64:37 Is going to challenge a little bit of where I apply this. I think this is definitely the right move for Microsoft. I think this is going to continue shifting how people build things in models. We’re going to hear a lot more about this in the future. I also feel like yeah the community doesn’t know what’s coming here. like this this is this is a herd mentality. Everyone’s rushing to it right now. We’re going to have to figure out how to sift this out and organize it later on. So I I think this is something this is a topic that I will stay close to. I will definitely monitor listen to it. I think we’re going to have many more

65:08 Conversations around we should revisit this Tommy in 3 to six months and then oh yeah hey this feature is either like I use it every day or do you remember that feature called DexDS? Like do you use it at all? from it. , I think without finding proper use cases for it, it’s going to it potentially is going to be more of Yeah, it’s a nice feature and I use it when I need to, but it it doesn’t it’s not revolutionary. I don’t use it every single day. So, we’ll see. I could be wrong on this one. This prediction may not be right. Thank you all for listening to the

65:41 Podcast. We appreciate your hour of time with us. , we know you can spend your time anywhere else listening to or doing other things. Hopefully this added some insight to you around what a DAX UDF is, where you might use it, and where the community is starting to build these things as well. Hopefully that keeps you up to speed. That being said, please like and update this like and share this episode. We would love for you to get the word out there. Also, for those of you who are really invested in what we’re doing here, we really appreciate you joining. We’d love you to become a member. Please become a member down below on our YouTube channel.

66:13 You’ll get the earliest releases of all videos that we’re doing and there’s going to be more com content coming from powerbait.tips that will also be membersonly content in the future here. So stay tuned. More things to come. We really appreciate you all for joining today. Tommy, where else can you find the podcast? You can find us on Apple, Spotify, wherever you get your podcast. Make sure to subscribe and leave a rating. It helps us out a ton. And please share with a friend since we do this for free. Do you have a question, idea, or topic you want us to talk about? Maybe you’ve done something with UDFs right now that you cannot wait to share or tell us or

66:46 Disagree with us. Well, guess what? You can do that. Head over to powerbi.tips/mpodcast. Leave your name in a great question. And finally, join us live every Tuesday and Thursday, 7:30 a.m. Central, and join the conversation on all of PowerB. Tips social media channels. Awesome. Thank you all so much, and we’ll see you next time. Heat. Heat.

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.

Previous

Microsoft Fabric Feature Pyramid – Ep. 462

More Posts

Feb 25, 2026

Excel vs. Field Parameters – Ep. 505

Mike and Tommy debate the implications of AI on app development and data platforms, then tackle a mailbag question on whether field parameters hinder Excel compatibility in semantic models. They explore building AI-ready models and the future of report design beyond Power BI-specific features.

Feb 18, 2026

Hiring the Report Developer – Ep. 503

Mike and Tommy unpack what a report developer should know in 2026 — from paginated reports and the SSRS migration trend to the line between report building and data modeling.

Feb 13, 2026

Trusting In Microsoft Fabric – Ep. 502

Mike and Tommy dive deep into whether Microsoft Fabric has earned our trust after two years. Plus, the SaaS apocalypse is here, AI intensifies work, and Semantic Link goes GA.