Power BI Demo: Goal Pacing with Gauge Charts

A free video tutorial from Maven Analytics
Award-Winning Analytics & Business Intelligence Training
Rating: 4.6 out of 5Instructor rating
30 courses
811,477 students
Power BI Demo: Goal Pacing with Gauge Charts

Lecture description

In this demo, I'll show you how to build and customize a gauge chart visual in Power BI Desktop, and use it to show pacing toward our Total Orders goal.

Learn more from the full course

Microsoft Power BI Desktop for Business Intelligence

Master Power BI Desktop & learn advanced Power BI analysis & data visualization w/ a top Microsoft Power BI instructor

10:42:59 of on-demand video • Updated August 2022

Build professional-quality business intelligence reports from the ground up
Blend and transform raw data into beautiful interactive dashboards
Design and implement the same B.I. tools used by professional analysts and data scientists
Showcase your skills with two full-scale course projects (with step-by-step solutions)
Understand the business intelligence workflow from end-to-end
Learn from a best-selling instructor and professional BI developer
English [Auto]
All right, I've got one more specific visual demo for you. And I've saved a fun one for last. We're going to talk about gauge charts so you can find the gauges right here underneath the pie. And we can drop one onto our canvas. We need to make a little bit of room for it. So let's go ahead and just shrink down the returns view and our trended profit view to make some room for these gauges up at the top of the page. That looks good. Now, essentially what I want to do is use the gauge to provide a quick visual indicator of pacing towards our targets. And remember, we defined order targets and revenue targets as 10% lifts over the previous month. And we did that using time intelligence functions in DAX. So for a first gauge, let's call this our total orders gauge. We'll hop into a sales table, grab total orders and drop it into the first field, which is the values field. And you'll see a few things happen here. It's populated the total value, 23,000. Again, no other filter context yet aside from our report level filter of 2016 or 2017. And what it's done is default to a minimum of zero, maximum of about twice the current total so that it defaults to a half filled gauge. Now there are a couple of tweaks I'd like to make here. Number one, I want this gauge to always show monthly performance for the current month because our targets are goals are defined at the monthly level. And I want to provide a recent view of performance, not just the grand total. So to do that, we're going to work with our visual level filters here, and we're going to need a field from our calendar lookup in this case monthly. So I'll take the start of the month field and drag it right in here. Now, I've got a couple of options here because the data that we're working with at this point is fixed. We could simply select June 1st, the month of June, and update our gauge to the latest month that way. Problem is, we need to get smarter about this. We need a flexible solution that will scale if we end up adding more data over time. If adventure works, for instance, starts sending us sales or returns data each week or each month and expects new reports, then this basic filter just isn't going to cut it because we're going to pull in July data and it will still filter to June because we've fixed the filter in that way. So what we need is a better solution like Top End. And what we're going to do here is show the top one item and that item is going to be the start of the month. And because it's a date field to RBI, gives us these earliest or latest options. So we want the top one latest month and when we apply. We see the same value, which is exactly what we want. June is the correct value because it's the current month. Except now our solution is more scalable and more flexible by using that top end filter instead. So that works for our filter. We're good to go there. Next up, we need to provide context because right now this gauge is meaningless. We could simply have a card showing this number and it would accomplish the exact same thing. So the beauty of gauge charts kind of like KPI cards is that they accept interesting values like dynamic minimums or maximums and target values. So let's go ahead and grab our target order target Dak's measure and you'll see that calculation right here previous month, orders times 1.1. And let's drag that into the target value field here. And now what that does is it creates this indicator with the target, which in this case is 2382 telling us that we are slightly behind target overall for the current month. Now there's another option that works pretty well here, too, which is to take that target, that order target, and move it to the maximum value. That way the gauge fills up until it hits the goal or the target value. So if you have a partially filled gauge, it means you haven't reached your target yet. So I think this is actually a bit more intuitive, but again, this is completely up to you. If you prefer to see that order target in this format, that's fine. I think both look nice. I'm going to keep mine on maximum value and let's just resize this a little bit. That looks good and update the title. And let's make this a bit more descriptive to something like current month orders versus target. Here we go. And if we want to be consistent with our exec summary. We could do something like this. There we go and center it. Beautiful. So there's our total monthly orders gauge. We can go ahead and take that, copy it, paste it two more times. Because we're going to do one more for revenue and then a third for returns. So let's work on our second one here and we're just going to swap in and out the values so our filter can still stay exactly as is. It can actually collapse our calendar. And in this case, we don't want orders and order target. We want revenue. And the revenue target. So swap them out. In this case, current month we've got 1.83 million in revenue against target of 1.95. So coming in just under and we can change the title as well. To current month instead of orders, current month revenue versus target. And our last gauge here, we're going to show returns and our fields drill into our returns table and we'll grab total returns instead of total orders. And now, remember, we don't have a return target. So in this case, let's just use the previous month return as our maximum value. And because this is a negative metric, I want to call that out and make that explicitly clear using some color consistency. So let's change the data color. There we go. And just the title here as well. To current month returns and not versus target this is versus previous month. And there we go.