March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
08-22-2017 06:43 AM - last edited 08-22-2017 06:44 AM
Summary
Often asking, “How are we performing?” can be a question that cascades into a series of further questions, spinoffs and investigative research. This is especially true for globally minded companies. I wanted to create a report that preemptively addressed this kind of exploration. This report is meant to provide data-driven decision making, while emphasizing user-flexibility and visual analysis. I was able to achieve my goal to empower the user by leveraging dynamic visuals. Thus, this dashboard can scale as the needs of the global business changes.
Approach
A dashboard is most valuable when you immediately understand what you can do. I looked into what attributes that can be influenced by the company:
The focus here is to view the business from multiple angles for these attributes, providing a holistic approach to the business, through dynamic parameters. I was able to provide deeper analysis with Top/Bottom products, YoY growth and Running totals to name a few. I leveraged, bar charts, line charts, donut charts and custom visuals for visual analysis.
Pushing the Boundaries
There were two things I wished to achieve with this dashboard, attractive mapping and next-level user interactivity.
I wanted to have a map that was design oriented and subtle, like an art piece, meant to invite the user into the dashboard. If users are going to be using a report all the time, why not make it pleasing to the eye? I found that design piece with the new “Shape Map” feature, where one can import custom TopoJSON files. I edited and imported a custom world map from http://mapstarter.com/. The simple map was meant to ground the user geographically and compliment the adjacent bar chart, which holds the same information.
Moreover, I am a firm believer that interactivity is empowering. Giving users the tools to investigate data on their own terms is liberating. As such, I wanted to provide two layers of dynamic parameters. This was done with a Top 5/Bottom 5 measure that reflects whatever measure the user has selected at the top of the dashboard. This was executed within DAX. The question I wanted to be able to answer was “What is my [Top/Bottom] products by [Value]?” in one, simple, clean visual.
For the first part of this method of creating dynamic measures, I was inspired by Sam McKay’s wonderful blog post on Dynamic Visuals, within Power BI. This provided me the groundwork for my dynamic values, and how I would approach the rest of this problem.
Now came the real challenge. I had to build two ranks on a value that could change with a click. To do this I set my dynamic parameter as two rank fields, one Ascending and the other to Descending, for the respective ends of the product performance. These were calculated across my desired field, Products.
Next, I needed to filter each of these Ranks to only keep the Top 5 Products. This can be down with two IF statements, keeping the Rank with only five values or else appearing as BLANK(). Once the IFs are built, you can then build another selector table with McKay’s method with a “Top 5” and “Bottom 5”, which can eventually be used with a SWITCH function to include only the [Filtered Rank DESC] or the [Filtered Rank ASC].
The result means that instead of six individual bar charts, one for a Top or Bottom, across three measures, Quantity, Revenue and Profit, you end up with one, dynamic visual. The result empowers users and saves valuable real estate for other interesting insights.
Quality over quantity.
Wrapping it up
The dynamic parameters and tables worked very well, but it took a little research to have the two dynamic parameters work in conjunction, as I had yet to see any specific topic utilize such before in Power BI. Another aspect that comes to mind, is whether one could make the number of values, in this case 5, also a parameter, so you could select how many TopN you are seeing. Food for thought. In the end, it’s great to know that great visuals can be created just with DAX, determination and some trial and error.
Overall, with the combination of the custom visuals, and dynamic parameters, I created a clean dashboard for analytical insights that’s also a pleasure to interact with.
Jake Olsby
eyJrIjoiYTYxMzllYjQtYjU5NS00MTM4LTlmMjEtMTY0NzVkM2U4OGE4IiwidCI6IjdlY2M4YWEwLTgzMGUtNGQ4Ni1hZjc4LTgzYTNkY2MyNjIzOCIsImMiOjZ9
Good afternoon,
maybe a silly question, but it is bugging me
In the top banner, you have made a time filter where an user is able to insert two years (for example: 2014 and 2017).
When I make a time slicer, I get the option to insert a startdate and an end date, but when I change the data to only years the time slicer does not give me the option to select between. Only dropdown and list are selectable.
In short: I'm able to set a time slicer between 1-1-2015 and 31-12-2017, but what I want is that the user only have to insert the year like: 2015 (start year) and 2017 (end year).
Can you explain how you made your date slicer in this dashboard?
Many Thanks
Could you provide the steps to import and use the World Map from Map Starter inside of Power BI?
Awesome!
One issue: I can control-click to select multiple measures and break your visualizations.
Can you share the formula for the Top/Bottom slicer?
I created switch statements following Sam McKay's setup. Everything works, but I cannot get the ranking to show top or bottom performers.
Here's the thread with the switch formula. You'll need to adjust to your specific report.
Is it possible to download this report?
Great report.
I wonder what the plan is around when your data bars encroach into your map visual? Given there wouldnt be any dynamic resizing happening. Did you test that against the data and determine the likelihood of it was too low for it to be a valid consideration?
Hi Jobsly!!
Is it possible to download the .pbix of this report by any chance?
Thank so much 🙂
Great work. But what happens if all countries reach 1bn in revenue? The map would be covered.
Love this dashboard - very clear and easy to understand at first glance. I am wondering though - how were you able to get the darker gray bar at the top to go edge to edge on the canvas? Can't seem to figure this out.
Hi there!
You will want to use a text box, make it 0% transparent, so it appears as solid square.
For whatever reason, the text box feature goes to the edge, but not the square shape image.
Best,
Jake
Hey Jolsby, This is an awesome UI. Is it possible to download the .pbix of this report by any chance?
Hi, did you ever get a response on getting the .pbix for the above dashboard?
No, not getteing the .pbix. Do you have it?
Awesome Dashboard. I have a question regarding your dynamic filter (Revenue, Profit, Quantity). How are you able to make that filter dynamically change the entire dashboard? Is this a DAX function you created for that?
Thanks!
Ryan
Hi Ryan,
You can find a full tutorial on dynamic visuals here. It was this post that refrenced, if you want to read how to approach the subject.
Moreover, you can use the Concatenate DAX function to combine your dynamic fields and any other information you would like to include. I used Concatenate to add dynamic questions, which grounds the reader in what they were looking at.
Best,
Jake
Great dashboard,
@OwenAuger might be able to help you out with your food for thought
"Another aspect that comes to mind, is whether one could make the number of values, in this case 5, also a parameter, so you could select how many TopN you are seeing. "
https://www.dropbox.com/s/59cct4in6zqbxaj/Sales%20Top%20Other.pbix?dl=1
Hey JanV,
Thanks for sharing the file. I was trying to add a Rank column and I copied and pasted the codes in Rank measure to the customized column. But it did not return the rankings. Just trying to figure out why, thanks.
Alex
Hello,
is it possible to share the .pbix file with me?