Press "Enter" to skip to content

Day: May 26, 2023

From Pie Chart to Stacked Bar Chart

Simon Rowe gives a multi-pie chart a once-over:

This data is from a small company that is looking to get a sense of its sales pipeline across its four regions–North, South, East and West. The data is broken into five categories which relate to the progression of any given opportunity–Prospect, Conversation, Presentation, Agreement and Formal Offer. 

The pipeline composition is expected to have minor variations between regions, but the proportion of opportunities at each stage should be consistent overall. Any notable discrepancies should be flagged to management immediately. 

Here we run into one of the main issues people have with data visualization: context is critical. A stacked bar chart is often not a good alternative for any cluster of pie charts. In this case it was a very good answer because of the nature of the exact problem to solve. If I need to make a generic report given the same raw data, it would be difficult for me to land on this specific visual.

Leave a Comment

The Importance of backup_label Files for Postgres

Robert Haas says, don’t delete that file:

I’m sure you already know what I’m going to tell you: “Of course you need that backup_label file. How could you even think that you don’t need that backup_label file?” Well, you’re right. That is what I’m going to say. But do you know why you need that backup_label file? If you were to remove that backup_label file (or fail to create in the first place, in cases where that is your responsibility), what exactly is the bad thing that would happen to you?

Read on to learn what the file does, how you get it, and why it’s so important to keep around.

Leave a Comment

MATCHBY for DAX Window Functions

Jeffrey Wang plays matchmaker:

In this final installment of our four-part mini-series on DAX window functions, we’ll be focusing on a new development. The May release of Power BI Desktop has enriched all DAX window functions – namely OFFSETWINDOWINDEXRANK, and ROWNUMBER – with an additional sub-function, MATCHBY, supplementing the existing sub-functions, ORDERBY and PARTITIONBY. In this article, we’ll delve into the purpose of the MATCHBY function, along with the three specific problems it aims to resolve.

Read on to understand what the MATCHBY sub-function does and why it can be important.

Leave a Comment

Microsoft Fabric vs Synapse

Nikola Ilic shares some thoughts:

I’ve already introduced Microsoft Fabric in the previous article, so if you’re still not sure what is it all about and why you can think of Fabric as your “data football team”, I strongly encourage you to check that article. Additionally, there are many great articles and videos, both from Microsoft and the community, where you can find out more about Fabric and its various scenarios and components.

In the above-mentioned article, I scratched the surface of the inevitable topic that now comes into focus: “What now for Azure Synapse Analytics?” Since I’ve been asked this exact question multiple times in the previous days, I’ve decided to put down my thoughts and share them in this article.

Read the whole thing. My thoughts, which are generally similar to Nikola’s:

  • There are no plans (at this time) to remove Synapse, and even if there were, prior history—like with Azure SQL DW—says that the deprecation timeframe is something we can measure in years rather than months
  • Fabric is intended to replace Synapse one of these days, and new customers should start with Fabric
  • Current Synapse customers should stay on Synapse for now, especially given that there is currently no easy migration plan. Give partners and Microsoft some time to sort that out, though, and I expect you’ll see tools and products for this by the time Fabric goes GA
  • PaaS and SaaS are quite different and that can be an influential factor. My personal preference is for SaaS, especially knowing how difficult it can be to secure Synapse while still enabling developer functionality
  • We’re on day 4 of Fabric being a thing (at least in public), and it’ll probably be in a public preview for a while, so there’s still plenty of baking left to do
Leave a Comment

Azure Data Studio 1.44 Released

Erin Stellato has an update for us:

It seems like just last week we were just releasing Azure Data Studio 1.43 (oh wait, that was last month) and here we are announcing Azure Data Studio 1.44!

This release comes in the midst of Microsoft Build, where numerous Copilot-adjacent announcements have been shared for different applications.  We are excited to announce that the GitHub Copilot extension is now available in the extension gallery with the Azure Data Studio 1.44 release!  For complete details and some examples, please see Drew’s post, Introducing GitHub Copilot for Azure Data Studio.

Click through for what’s new.

Leave a Comment

Private Preview of Native JSON Type for Azure SQL DB

Umachandar Jayachandran (or, as we all know him, UC) makes an announcement:

We are excited to announce the private preview of native JSON type and JSON_OBJECTAGG & JSON_ARRAYAGG aggregates in Azure SQL Database. The JSON type will allow you to store JSON documents in a native binary format that is optimized for storage and query performance. The ANSI SQL compatible JSON aggregates – JSON_OBJECTAGG & JSON_ARRAYAG will allow you to aggregate relational data and transform the data into JSON documents in a query.

I do have to admit that the native JSON type was a bit curious, given that they had assiduously rejected the notion of introducing a native JSON type for years, yet here we are. But if there are significant enough performance gains—and there can be by moving from text to binary JSON—it can be worth it. The XML type also allowed you to create indexes, which is probably easier to do with a native type.

Leave a Comment