PowerBI.tips

Training Staff on Agents for DAX – Ep.549

July 28, 2026 By Mike Carlo , Tommy Puglia
Training Staff on Agents for DAX – Ep.549

The question is specific and familiar: agentic tools have sped up an experienced developer’s work, but junior staff use them the way anyone vibe-codes a weekend project — asking for things they don’t fully understand. With DAX, that produces confidently wrong answers. This episode is about what has to be in someone’s head first, and where the senior’s effort should actually go.

News & Announcements

  • Chicago Power BI & Microsoft Fabric user group — Next session downtown, same location. Tommy will run Fabric Task Flow Studio soup to nuts: a simple prompt, deploying items, generating data on top, and going back to manage projects deployed earlier. The underlying agentic creation is Alex Powers’ work; Tommy built the wrapper that makes it usable. Registration is required.

Main Discussion

Topic: What juniors must understand before you hand them agents for DAX

  • DAX is different from other languages. There aren’t many functions to learn — CALCULATE, FILTER, the time intelligence family. The difficulty is that DAX depends entirely on the data and the semantic model, so syntax knowledge gets you nowhere on its own.

  • AI is confidently wrong, and DAX is where it shows. Syntactically perfect code returning a completely wrong number. The failure isn’t in the writing, it’s in the reasoning about shape and context.

  • Tommy’s three prerequisites. Understand how Power BI processes calculations, shift your brain into filter context, and genuinely master semantic modeling. He’d want those demonstrated before granting agentic tooling.

  • You only learn filter context by doing. Tommy has read Marco Russo’s chapter on it seven times over. Reading is not comprehension — the aha moment arrives when the measure works in a table and comes back blank in a card.

  • Better semantic model, better DAX. Relationships are the business logic. Push what you can upstream into data engineering so DAX isn’t recalculating everything dynamically at click time.

  • Mike’s real example of the failure. An agent produced a working calculation that hardcoded weeks five and six instead of being dynamic. Someone had to read the generated DAX, see what it was doing, and redirect it toward filter context on the current row. You don’t need to write DAX to do that — you do need to read it.

  • The classic trap juniors miss. Time intelligence on a fact table finds the most recent date per product, so totals look right while year-to-date on the date table comes back blank. Mike demos this in every DAX training he runs.

  • “Stop paying for the same cognitive load.” A post the hosts quote approvingly: if your application burns tokens repeatedly rediscovering the same solution through nondeterministic reasoning, you’re being fleeced. Once a behavior is understood and repeatable, capture it in deterministic code — APIs, CLIs, tools, workflows. Tokens should fund discovery, not rent.

The senior’s job is now building the agent

Both hosts converge on this. The senior earned their judgment through years of paper cuts, and that knowledge shouldn’t stay in one head — it’s already partly written down in the SQLBI books and DAX Patterns. The move is to build custom agents that encode those patterns, challenge the model rather than accepting it, and recommend the right approach. Juniors then get something always on, always ready to teach, carrying the senior’s knowledge. And it answers who QAs the work: not the senior reviewing every measure by hand, and definitely not the junior reviewing their own.

Raising the floor, lowering the ceiling

Tommy’s warning is the sharpest thing in the episode. Give a junior every skill and a full agentic workflow with no time served, and you’ve raised what they can produce while capping how far they can go. Mike’s counter is that AI pulls everyone up a level — the same way Power Query commoditized data engineering and semantic models commoditized analysis services — and that the middle management layer directing engineers becomes far more valuable. Both agree the ramp to giving someone harder problems shrinks from months to weeks, if the systems around them are good.

Looking Forward

Hand a junior a DAX measure and ask them to explain what it does — before you hand them an agent that writes one.

Episode Transcript

0:07 measures. It lighting up the sky. Dance to the day. The laughs in the mix. Fabric and A. I get your feels. Explicit measures. Drop the beat now. Pumpkins. Feel the crowd. Explicit measures. Hello everyone and welcome back to the explicit measures podcast with Tommy and Mike. Tommy, good morning. How are you doing? doing? Hello. Hello Mike. How you I am doing

0:38 Hello. Hello Mike. How you I am doing great. great. All right, let’s talk about our main topic today. Our main topic for today is training a junior staff on agents for DAX. And we’ll have to see how this is going to I think this is a mailbag. I believe this is a question around a mailbag. Yeah, we’ve touched on this topic slightly in other episodes, so we’ll probably revisit a little bit of concepts., but I I’ve been actively thinking how do we make DAX easier? Mhm.

1:08 Mhm. With the guidance of agents inside like our normal workflow like how do we build with it? So that anyways that’ll be quite interesting to see what we come up with there., before we do that,, Tommy, you’ve got some news. Yeah. So, coming up in a few weeks time is the next Chicago and Fabric PowerBI user group and or the Chicago PowerBI and Microsoft Fabric user group going to be downtown Chicago, same location, same

1:38 be downtown Chicago, same location, same time, 3 pm. We noticed that that does work for people. And we’re going to be talking about the fabric task flow studios. This is a forked version of what Alex Powers and the Microsoft team created that helps you agentically build the architecture that for needed with a simple prompt. what we did is build an application out of it both with ability to edit the different phases of the deployment really actually integrate the agentic side of that a lot more within the chat edit go back and actually manage

2:09 edit go back and actually manage different projects that you’ve already deployed in the past. So just showing how easy we’re going to go from soup to nuts of coming from nothing a simple prompt going through how to use the studio deploying items and then actually even creating data off of that as well and beginning to run that data. Let me be clear here. This is a tool Alex P built the agentic creation side of things and then Tommy you built like a wrapper around it that makes it more of like an easy to use user interface. I

2:39 of like an easy to use user interface. I can run multiple jobs at once. It It’s more of like a It’s more like a UI, a runner for what Alex built. And it again, Alex Alex sent us a picture or sent you a picture. It was like, “Hey, man. I’d love to have this. This looks great. I’d love it to look like the opening homepage of Google.” Like literally just a single text box where you say, you say, “Describe what you want.” kind it kind “Describe what you want.” kind it like starts from there and then it it of like starts from there and then it it like handles most of the other leg work that you’re doing. So anyway,

3:09 leg work that you’re doing. So anyway, this is a really cool project Tommy built. This is all Tommy Tommy did a great job on this one. I like the tool. I haven’t played with it yet. but Tommy has demoed a little bit of it for me and it is pretty dang sweet. So the project is actually out on Git right now. You can go download it right now. And then the description has the meetup. You make sure you sign up. You have to sign up in order to go to the event, right? And we we are doing the payment this year just so or for this one because we noticed that we have a lot of people that register for it which

3:40 lot of people that register for it which then we plan the food around that and then you don’t have to show up because you don’t pay. So there’s a just a quick $3 buy in, but that will provide for food as well. So good call out there because most user groups don’t really offer that or it’d be it’s nice to like, hey, there’s some food there. You you’ll be incentivized to come. All right. Right. Yeah. Exactly. Before we get into our main topic today, Tommy, let’s talk about we got Tommy and I have been on a rip recently just recording episode after episode after episode because I’m doing some traveling. my kids

4:12 I’m doing some traveling. my kids have been doing some traveling for for camps and stuff these last couple weeks. But since I’m going to be out, we have to record these episodes early and then slowly trigger them out. So this is a recorded episode. We record this one early. Tommy, how do you how do you handle vacations? What is what does a vacation for you run like? Because if you’re like me, I’ll I’ll explain my side of this where the question is coming from here. When I go on vacation, my family says it takes you like two to three days to

4:43 takes you like two to three days to fully like detach from like thinking about work, getting in the in the in the role, pushing things forward, right? all all there’s like a little bit of like de detoxing time that needs to happen, right? And then when I get back to work, it’s like another like two or three days of just like figuring out the pattern. I got to get up again. And then once I’m in, I’m up and running. This is like I in, I’m up and running. This is like almost this is like every weekend a mean almost this is like every weekend a little bit too, right? Just by the time Sunday rolls around, I’m ready to be

5:14 Sunday rolls around, I’m ready to be like, “Okay, I can take a break. I can breathe.” And then like Monday comes around like, “Okay, we got to ramp back up again and get going.” So that’s how I operate. How do you operate with vacations? And are you similar? Well, first off, let’s be clear here. If if the kids are coming, that’s called a trip. That’s not a vacation. That’s right off the bat. It get it Tommy, you are 100% right. It gets better. Don’t worry. As the kids get older, it becomes more like a vacation later on. because they it

5:45 vacation later on. because they it just becomes more enjoyable over time. My kids are older than yours. about like 10 years or so years. Yeah. My my oldest right now is nine. And the reason I said it’s not because my kids are bad. It’s just because when I am with the family, I am always on. And what by that, I can I’m a little better with transitioning to being on the trip. However, I am on for the things that need to get done. For example, let’s say you go to a hotel and has a pool, right? This sounds great, right? I look at that and I’m looking

6:15 right? I look at that and I’m looking around and I’m looking at, okay, the sun’s shining at this time all on these chairs. That’s where we’re going to sit and I’m looking at these things as we go in. I’m constantly analyzing like, all right, that I don’t know about this morning. This server every morning is not great. We’re going to go late. We’re going to go earlier thing. We’re sitting here at four,, if we’re here at 4 p. m. for the pool. Well, this is where the sun is. So, I am constantly thinking about what needs to happen to make sure it’s the best trip for everyone thing. And my wife should just relax. I’m like, I can’t.

6:46 should just relax. I’m like, I can’t. Dude, that sounds that sounds stressful to me. That’s like I I think I’m like your wife in that way. Like I’m like whatever. Like just roll with it. Like you get what you get and like just go with the flow and not I that’s also one of my downfalls. Like my family says you’re not good at planning. I’m not I’m not good at planning things. It’s just not my forte. So anyways, that’s just how but my my wife is very much the opposite. She would be thinking about stuff like that, right? It’s we better go to the pool now because it’s going to be warm. It’s going to get cold later. We should do

7:16 going to get cold later. We should do that now. I’m like, we’ll go when we go. Like, Like, yeah, yeah, my eyes are always on to whatever’s going on. So, and I’m not trying to. It’s just natural. It’s funny because my wife always said she was the planner. But I’m like, she plans things out, but in this situation, she’s the same. Like, we’re here, let’s do whatever,, or not whatever, but like and I’m looking going, I don’t like that guy. We’re not sitting next to that guy. Like I’m I’m always looking at the the variables around me. Geez Louise, that would stress me out.

7:48 Geez Louise, that would stress me out. We’re not. Yeah, I guess we’re not going on vacation together. Yeah, let’s not go to vacation. Well, it

7:53 Yeah, let’s not go to vacation. Well, it would be fine. But Tommy would just be running in circles around me. I’d be like, “Whatever. Go do your thing.” I would be testing up the steak the night before before we had dinner just to make sure it was good. It’s like, “No, we’re not going here. Scratch it. We’re going out.” So, yes. Exactly. Exactly. Awesome. Okay. Anyways, I just wanted that quick question around vacationing things. All right, let’s get into the the main topic today. So, Tommy, let’s go into the topic. Training a junior staff member on agents for DAX. How does this work? All right. So, give us the

8:23 work? All right. So, give us the mailbag. mailbag. Yes. And again, please put your names, guys. We really do appreciate the questions and the mailback submissions, but we want to give you a shout out, too. So, here we go. First off, here we go. Li Hey, guys. longtime listener of the podcast. I first off why I manage a data team for medium-sized companies in the insurance industry. I have recently started using cloud code to assist with my modeling needs and for certain use cases is rapidly sped up my work.

8:53 cases is rapidly sped up my work. Great. question is when it comes to training junior staff. I’m confident with Agentic AI tools because I understand exactly what I’m asking them to do and how. I see junior staff approach stacks the same way I approach vi coding for personal projects on weekends. weekends. That is to say, they ask the LLMs to do stuff that they don’t entirely understand, particularly when it comes to DAX measures. This obviously creates some weird results because the because DAX is a tricky customer.

9:23 DAX is a tricky customer. Yeah, agree. I suppose the question is if you are recruiting someone into a data team, do you still insist they learn the technical stuff like taking SQL DAX courses before they can learn LM products to work to make their work more efficient efficient or can you let them drive straight into reliance on AI? So, oh wow, this is a superb question. And and I think really there’s two things here. It’s,, what to do when you’re new to agents and like when you’re a DAX noob and when

9:54 like when you’re a DAX noob and when you’re an agent noob, right? Because I think both those things come into play in the question that I hear, Mike. So, Mike, what’s your first take here just from hearing the question? Well, there’s a lot to unpack here., I think this question transfers not just to DAX, but I think this question transfers to many other things as well., for example, I brought in an intern this summer working on some project stuff. Okay, awesome. Really good.

10:26 stuff. Okay, awesome. Really good. But the intern is a computer science major, understands some things about computing, but not all things and doesn’t necessarily understand like the architecture that we landed them in. We build a lot of Azure static web apps and we do a lot of functions. We do a lot of net. So I can describe fairly easily like what technology stack that we use, how we build things, how we put things together, whether it’s DAX or it’s software or it’s apps or whatever

10:56 it’s software or it’s apps or whatever you’re using agents with. What you’ve immediately done with agents is you’ve brought up the technical layer from not learning the actual functions or or language of how to write the syntax but you can immediately step up into into the next level of that with agents which is architectural process process trying to communicate at a higher level right and if you don’t understand the fundamentals it’s difficult for you

11:26 the fundamentals it’s difficult for you to say the right words so the agent understands what you’re trying to say about that particular software application design right so it’s not just DAX it’s you can you can give it some reference to DAX things but it’s it’s this interesting area of I want you to use the AI but you still don’t yet understand the fundamentals right and I and I think a big part here

11:57 right and I and I think a big part here like is unlike other coding languages, DAX is dependent on the data and the semantic model always right so it’s not just the ability to know all the functions that’s usually where people have a hard time learning a new language like Python right it’s the some of the concepts with very much of what are the functions available DAX is different because like there’s really like 10 good ones you need to know I’m not saying that’s the only thing you need to know but often more often than not what calculate filter the time intelligence

12:27 calculate filter the time intelligence ones., that’s really where you’re spending most of your time and if you can master that, that’s great. However, I think it really just starts to me with Mike with you are so dependent on the results of it in terms of the semantic model and more importantly evaluation context. That is the difference here. It’s not really the hard part is not writing DAX. It’s about what the results are going to be. Is it the intended output and the intended results that you want? And this is hard for me. This is a

12:57 want? And this is hard for me. This is a hard question for me because to your point, there are some fundamental concepts need to know about DAX. And I dare say that you can’t really understand them until you’re actually doing it and not just writing the code. Again, that’s not the problem here. It’s those aha moments going, well, I just wrote this DAX measure and it works in a line, but when I put in a card, it’s blank. What gives, man? and then going through the forms and then you understand a little more

13:28 and then you understand a little more concepts of what that’s happening. Oh, it needs a filter context here. You it needs a filter context here., there is no base like okay. All know, there is no base like okay. All right. Well, then now I add it to a card and the line’s all messed up or the total is wrong. And those concepts you’re not going to learn by just doing the output. And you don’t also too just to from a point you also don’t learn that just by writing it. It is that testing phase that you’ve gone through. It is very much frustrating, but I don’t know if I’m strong about this, but you

14:00 know if I’m strong about this, but you only learn that by doing. Like, at least that’s our experience. So, Mike, let me just throw that back to you in terms of from a conceptual point of view, like your own learning journey. There must have been a moment for you learning. learning. Oh, totally. So, like especially in Dax. Yeah. Yeah. But But while I had those learning moments around Dax, how do you incorporate those same learning moments now with an agent?

14:30 learning moments now with an agent? That’s right. How does that shift how we and and so that’s a new paradigm shift whereas in the past again Tommy things are really dynamic right now like how our kids work how how the next generation of people that are working with computers are even going to understand how computers work there’s this concept tell me that before I would Google a lot of things I still had to learn stuff I still learn stuff you learned it by googling I learned it by googling and by doing in

15:01 I learned it by googling and by doing in like little mini tests and doing things. Now with agents, does that shortcut your learning? Does it shift your learning? Because the agent technically knows all the syntax. This is Nicola who runs who runs data data data data Mosart. Sorry, I’m blanking the name there. Nicola is running da Mosart and he’s like a AI is confidently wrong. It will write the exact right code. the syntax will be exactly right but what the output is totally wrong or

15:33 but what the output is totally wrong or not exactly what you were expecting and I don’t think it’s the failure on the agent actually I think that’s a failure on your prompting you don’t know what you want therefore you can’t describe the output correctly and the agent isn’t

15:44 the output correctly and the agent isn’t building it right right so that’s one area there that that is quite interesting to me so all this rolled up right I’m thinking about when I when I think about this problem this new world is we need agents to be smart enough to know and follow the patterns that are inside DAX. We also need the agent to do a bit more reasoning around does the shape of the

16:14 reasoning around does the shape of the tables and models actually make sense for where the measures are. This is one of the areas that I think I got tripped up the most when I was doing DAX initially. I just would bring in the tables and assume that was the way I needed them to be and I didn’t reshape them or build aggregations. I wasn’t really focusing on DAX is extremely good at filtering and aggregating. It’s super fast in those areas. So if you need DAX to do things, focus on filters and aggregations with DAX. Everything else

16:45 aggregations with DAX. Everything else push upstream into the data engineering realm realm 100%. And so sometimes I had to push back on models and say, I see what you’re trying to calculate. It’s just not right. And the DAX we’re getting to can be written, but it will be slow. And what and this is how I think about it. My mental model of what’s happening here, Tommy, is DAX is real time calculations. Every time you click on something, it’s real time calculating things. So you want DAX to be something that’s dynamic, something that needs to

17:15 that’s dynamic, something that needs to shift over time, right? It’s that DAX is where you apply the dynamic wear statement, right? I want country as my dimension and then summit. Well, if I switch that and change out a different dimension, I want the calculation to be the same still sum of sales, but I want to shift it out to product or date and product. Like that that calculation has to be dynamic. I can’t make tables for every single calculation. That’s inefficient, right? So in that regard I

17:46 inefficient, right? So in that regard I focus on where is DAX most efficient and then when it’s not iterative calculations rollups filtering things like I I don’t want to test the text on every row to get an answer out what what I want is I I want a filtered flag right if there’s an age of something I don’t want something doing calculations of like the first record and then the last record and then returning results right that just makes the DAX statement be recursive so there’s patterns that I try and avoid. Now, your new your new

18:16 try and avoid. Now, your new your new engineers aren’t going to understand what those patterns are and how to identify them. And this is a big point too with DAX where DAX is never wrong. It will always do what you asked it to do. Now, it may be not the desired results, right? The desired output, but DAX is always going to do exactly what you wanted it to do in terms of the formula. You may just not be asking it the right way. And this is the problem though because I I would argue, Mike, that it’s going to be really hard for someone to prompt without understanding filter

18:47 prompt without understanding filter context. Incredibly hard. Even if you have the skills, right, it’s going to be really difficult to phrase and describe what you actually want an agentic solution to do and an agentic tooling to do. Even if it’s using the MCP server, even if you’re using the semantic model build by skills for fabric, I I I would argue that you need to understand the underlying concepts first because you can ask it whatever you want. And if they say, oh, to your point, I I don’t

19:18 they say, oh, to your point, I I don’t think there’s ever going to be a situation more that confidently wrong statement that you said than with Dax like, yeah, the number looks good. You put into a card, it’s going to show up. So, So, I think there’s some I would argue Yeah. Yeah. let me add one more other item here Tommy. So I’ve been experimenting with agents and writing only DAXs, right? So as part of the power designer workload, we have built a workload that lets you have a semantic model. You can connect to a semantic model. You can

19:48 connect to a semantic model. You can write DAX and you can execute DAX and get a and get a a table out with an agent. So you can actually have an AI of your choosing, whatever agent you want there. The workload item is called surprisingly DAX. and and the workload item is part of the power designer suite of tools that we’ve built. So you can actually talk to directly chat with an AI agent about what you want to build. I was just testing this with one of our customers. We we’re doing this. We took a question from the business user. They basically said, I want to calculate this. How

20:18 said, I want to calculate this. How would I write the DAX to do so? We took their question and dropped it right in. Now the AI was very explicit about what they were building. It built exactly the right thing. It even gave the right answer. It actually built out a table with this new calculation in it. What it did though was interesting in our example or how we prompted it. We told the AI, I want to build week six compared to week five. That’s what we were building. Cool. It

20:48 what we were building. Cool. It did it. But it hardcoded the calculation for week six and for week five. It wasn’t dynamic. So it wasn’t calculated for every single week. And so we had to be like a little bit more prescriptive around okay well this didn’t quite work exactly the way we wanted and we had to be able to read the DAX interpret what it was doing and as one who was again I may not know how to write the DAX but I can interpret the output of what it did write and so this is where I

21:18 what it did write and so this is where I think things start to shift for me a little bit. Sometimes it’s good to have a first pass on a calculation and then I can react to it and then I can ask the agent, look, I see that you used a calculate all, right? I’m I’m un then I can say looking at what that’s doing. I now know that we’re unfiltering the entire table to get to the next answer. I know I know that’s not what I need to do. That’s bad performance.

21:48 performance. Instead, I want you to remove that part and only filter and grab the filter context of the row I’m on and then do like a minus one thing, right? Or or subtract a week of time. So it it takes some knowledge of like what you can do in DAX and then you need to be able to look at the DAX and be able to understand like the code like what it’s trying to produce in the engine and I think this is difficult and that learning you can’t

22:19 is difficult and that learning you can’t offload that to an agent. You can give a lot of information to an agent that will be good about this. I do think training your agents on DAX patterns is amazing. Mhm. Mhm., and also any agent that Microsoft has provided me like co-pilot things, I have not been impressed with how they build DAX, unfortunately. So, I’m I’m really of the opinion you need to if you’re going to use AI things in concert with DAX, we need to be intentional about what skills or

22:49 intentional about what skills or instructions are we specifically giving that agent to improve the output of the DAX. So, and that can help to a point though, but I’m going to argue about the people actually doing this still because Mike, you mentioned you could identify calculate all right off the bat as being a slow performer and also can be misleading. There’s even worse situations too and I’m going to even take a step back here, not just the DAX, but what makes DAX successful, Mike, the semantic model,

23:19 the semantic model, and having a good semantic model. I would argue the core is it is the model, right? DAX is the model basically. Yeah. And Yeah. And well, let me say it this way. DAX is the model. That’s all the the metrics in in the model. The other piece of it is like the relationships. It it’s pre-built

23:38 relationships. It it’s pre-built relationships inside the model. That’s that is the business logic, the semantics layer that we’re trying to capture. Right. You want a better DAX, have a better semantic model. Correct. Correct. Right. Right. Yes. or or move some of your calculations out of DAX upstream right into a different system. And I think about a lot of it, a lot of it is the upstream calculations are what are you pre-calculating so the DAX doesn’t have to work so hard to dynamically calculate everything on

24:10 to dynamically calculate everything on the fly, the fly, right? And then the misleading side too is let’s say a junior developer let’s make somewhat of the assumption here that junior developers also building the semantic model. I would think here you’re not just handing off DAX to the junior developer to write a prompt like I’m thinking about this person’s workflow in the mailbag. Well, let’s say they don’t want to add a date calendar, right? And they’re just, you calendar, right? And they’re just,, being dumb about it. They’re like, know, being dumb about it. They’re like, “Hey, do the sales year to date,” which could be the most misleading thing. Well, DAX is going to use the most data available on a fact table. And the junior developer will look at this in

24:41 junior developer will look at this in PowerBI, go, “Wow, the numbers look good.” But then they add all the different products and what does DAX do on sale or year-to- date or time intelligence on a fact table? It will find the most recent one. This is one of the demos I always show when I’m doing a DAX training course. We’re like, “Hey, the totals are right, but why is this product showing numbers, but the year to date on the date table is not showing anything because it’s looking at the context of each product to say when was the latest year? That’s the year we’re

25:11 the latest year? That’s the year we’re going to use.” How would a junior developer know that if they actually haven’t gone through training? So, I would argue as I would agree with you have to have the set skills in that agentic solution. see Skill Vault if you want to sync them with your company or your organization or something like that. But more importantly, yeah. Yeah, 100% Tommy. But that’s only that’s only a part of the story, Mike. I’m I’m looking through the question. And I’m having this conversation with you and I’m getting to the opinion and more and more in our conversations where I think you need to

25:43 conversations where I think you need to prove fundamental concepts of DAX or mastered filter context before I’m going to give you aic tooling because again you can read Marco Russo’s DAX fundamentals and read the chapter on filter context like I must have read that seven times in a row and like But until you actually start doing it and can prove that not just you understand it, but you can comprehend it, right? Because there’s one thing about repeating what it does, but really

26:14 about repeating what it does, but really that I always call it a mind shift. It’s it’s DAX isn’t hard, but it does force you to think,, really shift the way you think about formulas and and numbers. And until you have that shift in your head or in the way you approach data, I don’t want to give someone agentic solutions at all. I want them to prove that they understand the tooling that they know the fundamental optimal ways to build DAX. They understand and more not

26:44 build DAX. They understand and more not mastered filter context but they have at least they they shifted their brain that way. And I think there would be a third one here too. I’m trying to think of like three concepts that you need to know and or semantic modeling. So it would be semantic modeling and the just really master semantic modeling. So those three things again understand calculations in the optimal way for how powerbi processes it really master or get on top of semant filter context

27:14 get on top of semant filter context and valuation context and master semantic modeling. I think until I can be proven that by a junior, you have to learn it on your own and then I will give you the tooling available because I don’t want to spend tokens going back and forth. Yes. I actually favored a post. Let’s see if I can I’m going to try and pull up here on my on my phone here because I I thought this was just so incredibly relevant. Someone had was talking about see if I got history bookmarks. I there’s so much internet

27:46 bookmarks. I there’s so much internet information happening nowadays. It’s It’s hard to keep up with everything that’s getting bookmarked. I don’t know where I put it. Did I put it somewhere? I hope I put it in a folder. All right, you keep looking. And I I want to bring as you are looking, I’m going to bring up another part here too. Who’s going to QA this then? And this goes back to I would never want to give unless I hated that senior developer or more advanced developer the work to Q&A all the things the junior did with an

28:17 all the things the junior did with an agent. agent. Q&A DAX is not fun. It’s not just looking at code and simply saying that oh that oh what what are you still there? Oh no something disappeared. So okay so I just want to scare you. No I found it. Okay, cool., spill the beans. beans. Okay, so someone on X was posting something and Joe Zunet, I guess is is his handle, said

28:47 Zunet, I guess is is his handle, said something that I thought was extremely relevant. It was in a it’s actually a comment that someone made. If your application depends on agents repeatedly burning tokens to rediscover the same solution through a noneterministic reasoning, you’re being fleeced by the AI companies. Meaning you’re you’re needlessly burning tokens. If you are asking your agent again, remember when I remember Tommy, we had a conversation around Microsoft is had the blog announcement for the next next month’s update and they’re like in the

29:17 month’s update and they’re like in the blog announcement, they’re like, “Hey, look, co-pilot’s changing. Look, hey co-pilot, you can ask it what was your sales last month. Dude, this is literally the statement. It’s literally you’re being fleeced by Microsoft and their AI and saying go ask a question of the same thing over and over again. That’s not helpful. And so, right, right, let let me go on and read the next section here. Let me react to the next one. Right. Agents should handle uncertainty, exploration, and any exceptions. one behavior becomes understood and it

29:49 one behavior becomes understood and it becomes repeatable, you need to capture that known behavior in deterministic code using APIs, using CLIs, building tools or building workflows. 100% agree. I’ve been saying we’ve been saying this in the podcast for weeks now, which is like stop using AI and stop listening to to the message of well AI should just ask it questions about your wrong thinking. That’s not how we think about AI. We think about AI is stepping into the uncertainty, stepping into

30:19 the uncertainty, stepping into exploration, stepping into creating new things. That’s where AI is good. Use it there and then you step back from that. And once that behavior is known, again, back to your point, Tommy, you can ask it one time. What was my sales for last week or last year or last year compared to now? to now? But that’s different than the junior developer though. I feel No, it’s I don’t think it’s not. I think this is a skill that needs to happen, right? So that statement let’s let’s let’s talk about this right sure sure if I need to ask if the junior developer

30:51 if I need to ask if the junior developer is talking to the AI it’s not asking questions of the the model but the junior is trying to do this process the junior is trying to say I want to talk to the agent the agent is building me DAX statements that are repeatable and reusable and the art of the little post goes on to say the goal is not to eliminate agents is to stop paying for the same cognitive load over and over and over again. Tokens should fund discovery, not be a rent seeking on already

31:24 not be a rent seeking on already discovered problems. Mhm. Mhm. Boom. Like this is huge. So love this

31:29 Boom. Like this is huge. So love this post. It puts into words much better my thinking about this one. And this is if I rewrote that and said that is my term that I’ve been using for weeks now, which is called the creator agent. the creator agent is what we’d use. So yeah, I found that part Tommy. You were talking about testing and QA and DAX. I have a thought around that, but like let me react. Let me have you react to the this post and see what you think. No, I one I completely agree. We’ve been

31:59 No, I one I completely agree. We’ve been talking about this a ton that then that’s the other problem you’re going to do with the new a novice or junior on aentic,, skill. Like I think you’re talking too about even if you have someone experienced in DAX if they’re just going into an agentic tooling without some training or experience. that’s you’re asking for it. So even if you hire an intern or even if you just hire someone out of college or a new person, I cannot let them give them much less agentic tooling and then just give them DAX and agentic

32:29 and then just give them DAX and agentic tooling and say have at it. Guess what? Your job just got easier. This is part of the workflow and I think one of the trainings that has to happen. There is an education Mike just like getting better at hitting a baseball that you need to do when you are going to do anything AI now especially from a developer and execution point of view. You cannot go in just acting like this is Google search and just go crazy as long as you want. You have to have some experience, some skill, some approach, a

33:02 experience, some skill, some approach, a proven approach on how you actually talk to cloud desktop or CLI or an IDE or VS Code or whatever the case may be or something that’s built internally. You just go in in a sense that very general broad way like to me that’s the same as just writing bad DAX on your own. Yep. Yep. I I totally agree, Tommy. So let me then bring up I think one of the things that really is going to confirm my stance here on why I’m going to require the

33:32 here on why I’m going to require the training the skill both from an agentic side but also from being mastering or getting to a point with DAX experience that I would feel comfortable giving them agentic tooling. Mike, we obviously know a junior developer cannot QA their own work, right? because they’re not again they can look at it but if if if that they don’t have a good way or they can see evaluation context well they’re not going to know what to look for. look for. So who does that fall to then right? Oh,

34:04 So who does that fall to then right? Oh, hey senior developer who knows evaluation context. Guess what you get to do all the time now? You get to look at they don’t they don’t look at it. The agent does. Well, this is this is where I think Oh, Oh, what are you what are you borrowing from that senior developer? The senior time. Yeah. Yeah. Their skill, their knowledge, everything they’ve learned over time. Right. Right. That senior got there because

34:35 senior got there because they spent they got cuts from Dax and they’ve gotten the paper cuts from Dax in the past. Right. They’ve learned things. things. Tommy, we’re not going to be so foolish to say that knowledge was just learned and only stuck in that person’s head. Right. Right. Right. This is this is books from SQLBI. This is the definitive guide for get for DAX. This is DAX patterns. This is reading like there’s a lot of really rich educational knowledge around how DAX should run well.

35:06 DAX should run well. Okay. So you also have I’m assuming in your company a whole handful of existing semantic models that have a bunch of existing DAXs that works fairly well. You have patterns you’ve already established. Oh Oh right. right. Yeah. Yeah. So, while I do agree with you, the senior still needs to review things, but not to the extent that I think I think not to the extent that you’re communicating. The senior should be

35:37 communicating. The senior should be working on custom agents to incorporate their knowledge and building and testing an agent that is recommending the right stuff. stuff. Okay, Okay, this is where the effort is should be spent. Right? So while there there so if I had to look at a senior and say look your task in this space is one you own you will own your teams or the juniors in this team to make sure that we get good decks. Now they’re going to make some mistakes stuff’s going to slip through the cracks. You’re going to help

36:07 through the cracks. You’re going to help them fix it done right. You’re that’s going to be part part of your job. But that’s not like 50% of your job and the other 50% is building new stuff. That’s that’s a smaller portion of your job. another portion of your job. Let’s say I’m going to throw some random numbers out, right? 60% is adding,, contributor access to the team. 20% of it is helping juniors do things. another 20% 20% of your time is working with an AI system to teach it what to

36:38 system to teach it what to teach it in a way that helps juniors write better DAXs to teach the AI to not just look at the tables that are in a semantic model and actually challenge the model to make it better more appropriate for better use cases and scenarios for DAX and actually getting like improved results from that. I I think that is there’s there’s knowledge in that user, that senior engineer, and there’s patterns that they’ve developed that the agent will have no

37:08 developed that the agent will have no clue about. And so, the more you can give the agent patterns and systems and how your business runs, the better the agent can then help juniors get to up to speed. And and then the senior is teaching the juniors, hey, I’ve already spent a lot of time on this specific DAX agent, right, from Azure Foundry. You build an agent, you you publish it to the M365 environment, go here, ask that agent your questions. It knows about the

37:38 agent your questions. It knows about the context of your models. It knows about our business. It knows about how to write good DAXs. And so I think that will be a better return on results because then the and then you teach your juniors hey when you talk to AI agents specifically the one that our senior developers are building now you’re getting two things right you’re getting a always on always ready to teach agent always there right and you’re getting all the knowledge of that senior baked

38:08 all the knowledge of that senior baked into that that teacher I know you’re having I know you’re having hard problems with this Tommy but this this This is the way. Oh, this is this is part the way. I Okay, this is going to be hard for me to say. I’m not saying what you’re I’m not I’m not disagreeing with you. I know. I know. I’m not disagree. The the whole space of this is different. And here’s the thing. This is where I’m conflicted, Mike, because I really do I completely agree with you with what you said about the senior’s role. And the senior’s role is going to be, what a great way to get the brain

38:39 what a great way to get the brain knowledge out into the organization with skills, right? But this is where I’m and so I completely agree with you actually that’s actually we’ve always struggled with that in general. How do you actually get that head knowledge into the organization skills? So about that it’s great. Yeah. So but I think that’s I think that’s the job of the senior though like so as but that’s always the hardest thing. Correct. As you embrace this bring your smartest people. So the money you spend on that senior is substantially more than any of those juniors. Why wouldn’t you have that

39:11 juniors. Why wouldn’t you have that senior build tooling and reasoning systems, right, with agents? Help the agent reason the way the senior would reason

39:21 reason now now and that’s what you and then and then you can give that to everyone who’s using DAX in the junior area. I Oh, this is awesome. And I completely agree with this. There’s a part of my brain there’s a part of my brain that ask is kept asking me and I wanted to ignore it. How does the junior ever become a senior? Time. Time. Time. If I’m just prompting and I’m actually learning it because Michael, when I was in college, when they would give me a study guide, I didn’t learn it unless I wrote it down and you’re

39:51 unless I wrote it down and you’re actually in a sense in the trenches. I will challenge you. It’s very hard for you to do. I know JavaScript and Typescript even though all my applications are being built on that right now. But you never learned it. You never learn JavaScript now, right? But neither is a junior developer. I don’t But you learned the concepts. You learned you learned what it’s what it’s capable and not capable of doing. Right? So again, you’re learning building bad senior developers. Then AI is not going to let you build the

40:23 AI is not going to let you build the lowest level of things. I never I never It’s going to pull you up a level. AI is going to pull up a level of development. And so honestly, I think really good middle management people that are directing many engineers to build projects, that middle management layer, right, is going to become incredibly valuable and you’re not going to want to hire a bunch of junior developers anymore. You’re not going to want to bring on people that are like not able to execute things. Honestly, this might

40:53 to execute things. Honestly, this might be something, again, this is going to sound wild. You’re going to have executives in your organization building their own things in a way that’s useful for them because agree agree and again that senior developer right should be the one investing in the AI customizations of the AI for your business for your world that lets that AI cater its knowledge towards those larger like tasks right right and now anyone in the organization

41:24 and now anyone in the organization becomes beneficial anyone can build stuff and we’re finding in the same way PowerBI I think commoditized data engineering with Power Query right right in the same way PowerBI commoditized analysis services by making it a semantic model that everyone could go build in create measures in like those were those were typically skills and roles that were only reserved for it had was the only person to touch that stuff because it was too technical and there wasn’t good enough tooling for all of it

41:54 wasn’t good enough tooling for all of it then Microsoft gives all the stuff away for free and boom, now we have a whole wave of people building PowerBI reports and not just Excel reports. 100%. 100%. This is the same thing again. We’re just going up a level. Here’s my problem though. I think if you’re a junior or you have a team of juniors and you want to do the short term of just providing the agentic solutions you the only thing you’re doing to them is raising their floor but lowering their ceiling. I think without them actually doing some of the work. So I’ll say that again. I think if you’re a

42:24 I’ll say that again. I think if you’re a junior, not a senior, if you’re a junior without the experience and time put in and you drive straight into even you have all the skills built for you and all that knowledge in your agentic workflow, you have just raised the floor for them, but you’ve lowered their ceiling in terms of how far they can really go unless they actually spend the time because they you’re right, they are going to be capable of doing a lot. are they gonna understand it when it comes time to you understand it when it comes time to to shine so to speak on their

42:54 know to shine so to speak on their own that I think that’s where the problem is so really just go back to the question here what would I do if I had a team of junior developers I would still insist I would directly what the mailbag said I would have them take SQLBI courses I would want their first few months to be DAX on their own right without any gentic solutions and then I’m gonna like I’m going to want them to take some evaluation test whether I created internally or one of the ones available on Microsoft just to show that

43:24 available on Microsoft just to show that you have the grasp of what you’re looking for, right? It goes back to those questions that we’ve had on you only know what and you don’t know what you don’t know. So I need them at least to know what they like know the things that they need to know. So when they even if they ask a bad question in a prompt when they’re looking at the data they can identify something that doesn’t look right. And to me then the agentic solutions become an incredible asset not just for them but for my organization because I’m spending less time Q&A. So and with tokens as well and

43:57 time Q&A. So and with tokens as well and you’re also empowering them for their careers too. So this is this is I’m going to mic drop that by the way. Yeah, I think it’s a really good one. Tommy, this is a great topic. I know we’re trying to keep this a bit shorter here. Anyways, I think this is a really good topic. I’m going to go back to the question here. Here, I’m going to make sure that we at least cover off on these questions directly., one, the question was, do you still insist that they learn technical stuff like SQLBI DAX courses? Yes, I do. I’m not going to say no. You need to understand the concepts. You need to be able to read DAX and interpret what it does. If nothing else,

44:28 interpret what it does. If nothing else, the exercise should be I’m going to throw some DAX in front of you. You need to explain to me what’s happening there as if the agent was explaining to you. Also, if you are being given DAX, you should be building the seniors should be building DAX systems or investing time and effort and money on taking their knowledge and putting it into into these agents, right? You need an agent that is customizable or a model that has been customized in a way that the DAX stuff is is working well with this. I think you can get pretty good results, but again, DAX is a narrow topic and

44:59 again, DAX is a narrow topic and how it works with your models, how your company has built things. There’s likely a bunch of examples you can give the agent so that it can understand the patterns of your company. That that’s worth worthwhile there. Do you let them dive straight in or have reliance on AI? I think you you the the the shallow you still walk them into the shallow end, but the shallow end is much smaller than it was in the past. I think the ramp up to giving them bigger,

45:30 the ramp up to giving them bigger, harder problems with an AI agent as with them is actually much faster. You’re talking like I don’t know weeks instead of months is maybe what I’m thinking, right? 100%. If you build good agents, if you have good systems in front in front of this and then I’ll go back to this other post again. And I want to call out the post again one more time in X, right? The post in X was like use AI to understand patterns and build systems. Once those systems are done,

46:01 Once those systems are done, make them deterministic by building scripts. Use the agents to build scripts on things. That’s the value ad. And I’m doing that everywhere now. Everything I I have a whole bunch of things that I don’t know how to do. I ask agents to build a system around it. And then once they do, we turn that off and we say, “All right, now build a script on it. Let’s run.” Right, dude. I love it, Mike. Love the conversation today., Tommy, where else can you find the podcast? podcast? All right, you can find us on Apple, Spotify, or wherever your podcast. Make sure to subscribe and leave a rating. It

46:31 sure to subscribe and leave a rating. It helps us out a ton. Do you have a question, idea, or topic that you want us to talk about on a future episode? Head over to powerbi. tipsodcast. Leave your name and a great question. And finally, join us live every Tuesday and Thursday, a. m. Central on all Powerad Tips social media channels. Thank you very much and we’ll see you next time. Explicit measures. Tommy lighting up the sky. Dance to the day in the mix and I get your explicit measures. Drop the beat now. H feel the

47:05 measures. Drop the beat now. H feel the crowd. Explicit measures. Drop it loud.

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

Can We Trust AI Pipelines – Ep.548

More Posts

Aug 11, 2026

Crawl, Walk, Run with AI in PBI – Ep.553

Meagan Longoria's five-stage maturity model for agentic Power BI development gives Mike and Tommy a framework to argue with. They mostly agree — except on the crawl stage, where Mike thinks starting with an MCP server beats starting with a chatbot.

Aug 6, 2026

Power BI Desktop Bridge – Ep.552

Desktop Bridge gives agents a local server to drive Power BI Desktop — reload files, check report state, and take screenshots so the agent can verify its own work. Mike and Tommy agree on the prerequisite: don't use it without skills.

Aug 4, 2026

Return of the Composite Model – Ep.551

Austin asks whether a hub-and-spoke composite model pattern is the right structure. Mike and Tommy say the shape is defensible but they'd reach for master-and-mini models instead — and that every composite model needs a data contract, change control, and git-backed monitoring.