Press "Enter" to skip to content

Category: Visualization

Thoughts on Dark Mode Reports in Power BI

Elena Drakulevska reminds us to think of the user:

Lately, there’s been a lot of hype around dark-mode reports—especially now that dark mode is officially a thing in Power BI. It’s sleek, it’s trendy, and, let’s be honest, it looks pretty cool.

But before we all jump on the dark-mode train, let’s pause for a second. Because, like most things in design, IT DEPENDS.

Click through for a primer on accessibility. Meanwhile, my hottest design take is that dark mode is wildly overrated. Invest in proper task lighting.

Leave a Comment

Building a Top N Analysis in Power BI

Hamza Boubou builds a dynamic report:

There was a requirement from my client that seemed simple at first but turned out to be a Trojan horse after deeper investigation. The goal was to create a Power BI Time Comparisons Top N Analysis page, giving users complete control over the Top/Bottom N products based on multiple metrics. Users needed to define the period, compare it with other periods, and adjust the N parameter dynamically.

Read on to see how Hamza was able to solve this customer request.

Leave a Comment

Conditional Formatting via Power BI Visual Calculation

Marco Russo and Alberto Ferrari talk highlighting:

However, visual calculations are incredibly convenient when it comes to calculations that are specifically tied to a visual. Let us face it: every semantic model contains measures with intricate ISINSCOPEHASONEVALUE, and SELECTEDVALUE function calls whose only goal is to determine the color of a font or the background of a cell. An example of the intricacy of those measures is in one of our most viewed articles here: https://www.sqlbi.com/articles/filtering-the-top-products-alongside-the-other-products-in-power-bi/.

Visual calculations can be used to control conditional formatting starting with the February 2025 version of Power BI. Several small details must be known to use them, but they are definitely worth learning.

Read on to see how it works. Conditional formatting has always seemed to be oddly difficult to do in Power BI. If you were in the happy path for conditional formatting, it’s a few mouse clicks. But if not, then good luck.

Leave a Comment

Building Sparklines in R Shiny

Osheen MacOscar needs a series of tiny visuals:

All of the plots from this package use the sparkline function, and we pass the type of chart we want as the type argument (default is line). The function will take a vector or list for the values argument, depending on the type of chart we are creating this can be either data to plot or specifications for the plot.

Click through for a list of the sparkline-esque visuals you can create as well as how you can use the sparkline package and some examples of outputs.

Comments closed

Visualizing a SQL Server Kubernetes Statefulset

Andrew Pruski builds a diagram:

The other day I came across an interesting repo on github, KubeDiagrams.

What this repo does is generate Kubernetes architecture diagrams from Kubernetes manifest files…nice!

Deploying applications to Kubernetes can get complicated fast…especially with stateful applications such as SQL Server.

So having the ability to easily generate diagrams is really helpful…because we all should be documenting everything, right?

Click through for instructions and a couple of gotchas Andrew ran into along the way.

Comments closed

Alternatives to Error Bars

Alex Velez admits to error:

During a client workshop, someone asked me if I was a fan of error bars and whether they should use them in their presentations. As I readied my standard “it depends” response, I realized that for once, it didn’t depend. I couldn’t think of a single time when error bars would be the ideal solution for communicating data. (For clarity, if they had asked whether they should articulate the margin of error around their data, my answer would have certainly been it depends. I just wouldn’t use error bars to do so.)

Before I discuss why I’m not a fan of error bars and an alternative solution, let’s explore what they are. 

Click through for Alex’s thoughts, including a pair of interesting alternative displays.

Comments closed

Choosing the Right Power BI Canvas

Elena Drakulevska shares some advice:

The same goes for your Power BI report—get the size wrong, and your users will struggle with cluttered visuals, excessive scrolling, or awkward gaps. Or worse, you’ll create a report that looks amazing on your screen but completely breaks when someone else opens it.

Trust me, I’ve seen it—an ultrawide masterpiece designed for the boss’s fancy monitor… except no one else at the company had that monitor.

Yeah, this brings back memories, though in my case, it was that the developers (including me) had wide-screen monitors in 1080p and the people using our product had standard resolutions like 1280×1024 or even 1024×768.

Comments closed

Building Flowcharts in R

Pau Satorra makes a chart:

Fortunately, there are several packages in R for drawing flowcharts using different approaches. The problem is that the programming is generally quite complex, and the numbers have to be entered manually or parameterized beforehand. These flowcharts can have reproducible problems because if data changes, we have to manually change the parameters again.

To make our lives easier, there’s a new {flowchart} package that uses the tidyverse workflow, which allows to create many different types of flowcharts in just a few steps.

Read on to learn more about the package. I originally thought it was based on mermaid.js based on the way the final product looked, but a quick code review has disabused me of the notion. H/T R-Bloggers.

Comments closed

Porting an R Shiny App to Observable Framework

Tim Brock makes a change:

If you’re interested in interactive data visualisation you’ve probably heard of the d3 JavaScript library, even if you’ve never used it or even know any JavaScript. Mike Bostock, the creator of d3, and colleagues followed this up with d3.express, which was quickly renamed to Observable.

Read on to see how you can build a simple Observable Framework app without spending a lot of time troubleshooting JavaScript code.

Comments closed