05-24-2017 09:35 AM
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.
Hi, it's a well done job. congrats. If possible i would like a copy a your pbix to understand how you filter a matrix with top5/bottom5
my email email@example.com