The November 2016 update is now out and it finally brings a way to view the Power Query dependencies viewer. While it’s been out in Power BI Desktop for a while, (as Matt posted about a while ago,) this is huge news for Excel, as this feature has been badly needed.
Viewing Power Query Dependencies
To get to the Power Query Dependencies view, you simply need to perform the following steps:
- Edit any query (just to get into the Power Query editor)
- Go to the View tab
- Click the Query Dependencies button
Once you do so, you’ll be launched into the Power Query dependencies windows as shown below:
At first glance…
So at first glance, this is pretty exciting and yet – if you work with complicated Power Query setups like I do – you’ll find the Query dependencies view a bit… lacking in some areas too.
First off, if your query is complicated, it really does open that small. Wow. Now there is a scaling button down the bottom, but that quickly scales so that stuff is off-screen. No problem, right? We’ll just drag some stuff around then… oh… except we can’t. Dragging any box around drags the entire model, not just that one box.
What can you do with the Query Dependencies viewer?
Rather than focus on the stuff we can’t do, I want to take a look at what we can (although I won’t be able to help making a couple of suggestions here as well.)
Maximizing the model layout
The first thing to point out is that despite the fact that it isn’t obvious, the window is resizable. If you mouse over any border or corner you’ll get the arrows that indicate you can left click and drag to make the window bigger.
So normally the first thing I do is:
- Move the window to the upper left of the screen
- Drag the bottom right corner to make the model fill the entire screen
- Click the little box icon in the bottom right corner by the scroll bar to “Fit to Screen”
After all, the reason I’m using this view is because the models are big!
Some things that would be really useful here:
- It would be awesome if there was a Maximize button near the X in the top right (like the Power Query window and every other app has.)
- It would also be good if we could double click the title bar and have it maximize the window (again, like so many apps out there.)
Either (or both) of those features would save me a lot of time.
Alternate Views for Tracing Query Dependencies
In the default view, the data sources are plotted at the top, and the queries cascade down below. Fortunately you’re not stuck with this view, there are four different ways to display the model:
In this instance I’ve chosen Left to Right, which puts the data sources on the left and fans the query dependencies out to the right hand side.
Honestly, if I had my preferred way it would probably be to use Bottom to Top (data sources at the bottom and data model tables on the top.) To me this should basically “bubble up” the model tables to the top of the screen. Unfortunately it doesn’t quite work like that… all we can guarantee is that the data sources will be at the bottom, but the model tables could end up anywhere.
Ideally, I’d love to have an option to force the Data Sources to be lined up based on the first choice in that menu, and the Load Destinations (whether table or data model) be lined up in the viewer based on the option chosen for the second choice. This would allow me to easily see the “From” and “To”, with the chain of what happened in between.
Tracing Query Dependencies
In the image below (click on it to see the larger version), I’ve selected one of the tables in the middle of the query dependencies tree:
The effect is that it highlights all child and dependent queries in the data flow. That’s cool, and I’m okay with this being the default behaviour when I select a query step. Wouldn’t it be cool though, if we also had:
- A right click option to trace precedent queries only
- A right click option to trace dependent queries only
Those would be super helpful in tracing a queries flow without the extra noise, something that is really important in able to quickly dig in to the key factors you probably want to know about your query dependencies.
Identifying Load Destinations
So the very first thing I did when I threw this specific model into the query dependencies view was identify two queries that were not in the query chain. “Awesome,” I though, so I went and deleted them. Then I restored from backup, as one of them was in use!
Don’t get me wrong, the view was correct, it’s just that the distinction for load destinations is so weak that I saw no arrows and assumed it was good to be removed. As it turns out, the words actually matter here:
The Day Types table is created from a hard coded list. Since there are no queries flowing in or out of it (it is floating above the lines) I nuked it. I missed the fact – especially with it being on the left), that it was actually loaded to the data model.
Raw Data-Departments, on the other hand, is pulling from the Current Workbook and is loaded as “Connection Only”.
So here’s my thoughts here:
- I’d love to see nodes that are loaded to worksheets or the data model identified. Either an icon in the top right, or a shading in place would be ideal. Something that makes them a bit less subtle than they are today.
- I’m not a fan of the “Not loaded” term… it’s about as awesome as the “Load Disabled” that Power Query used to use about two years ago. This should – in my opinion – be consistent with the UI and should read “Connection only”. Not loaded makes it look like it isn’t working.
Navigating Query Dependencies
One of the issues I had above is that my Day Types table – being standalone – should not sit on top of any arrows… that’s just scary bad and misleading… but that’s actually part of a much bigger issue as this is kind of the style used throughout the entire tool:
This also leads me to another issue in that I need to be able to follow these arrows. Today the only ability you have – because you can’t move the boxes – is to essentially print the query dependencies window (you’ll need screen capture software for that since there isn’t a print button) – and trace with a highlighter.
What I’d love to see in this instance is the ability to select a single (or multiple arrows) and have them turn bold. It would be an even bigger bonus if they shaded the tables on each end of the arrow and allowed you to select multiple arrows. That would actually solve a few issues mentioned earlier too, allowing us to really drill into the relationships we need to trace.
Overall Impressions of the Query Dependencies Viewer
Overall it’s a good first version. I’d really love to see some (or all) of the improvements I mentioned above, but it’s a HUGE amount better than what we had a month ago.