08-02-2017 16:05 PM
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.
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.
@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. "
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?
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.
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.
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.
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?