The CSG Pro Blog

When learning DAX, time intelligence formulas are an excellent place to start, and of the many formula patterns out there, “Year to Date” variations might be the best to learn first. The problem is, while writing them is fairly easy, understanding how...

I have been fully immersed in the healthcare industry for the past six years, having finished my masters in health care management at Johns Hopkins Carey Business School and working in roles from physician scribing to health insurance operations. The common denominator...

I chose a career in consulting because I love solving problems, am dedicated to continual learning, and have a passion for teaching. I was first introduced to consulting in graduate school and immediately knew this was my calling. I was enticed to...

Custom columns are often the lifeblood of any M queries that you build. They give you huge amounts of power but by default remain untyped. You could add a step to type each new column after you create it, or even type...

You've built a simple "Sum for All Categories" measure that is so darn simple that it's impossible for it not to work; but alas it does not. If the category column you were trying to remove from the filter context had a...

If you've got a large number of columns on a table to transform it can be quite a hassle. Here we'll show a way to use List. Transform along with some code fishing techniques to whip up a solution to convert a...

CSG has served many manufacturing clients over the years, but since early 2017 we have expanded our work with production data systems, applying Power BI and cloud databases in interesting new ways. For example, we have been developing an increasing array of...

Understanding Context Transition can be super frustrating for a new Power BI user. Definitions for it seem deceptively simple, but wrapping your head around how it actually works within a DAX expression can be painfully difficult. Fear not though my fellow DAXciples,...

JavaScript developers have suffered long enough. The wait for asynchronous functions is over. Here's what you need to know to use the new feature today. Really Good Browser Support While not all browsers support Async/Await (async functions), current versions of major browsers are ready for your...

Gaining an understanding of Row and Filter Context is among the most difficult challenges facing a new DAX author. Just when you think you've got it, a problem arises and your hard-won mental model seems to crumble before your eye. For a...

Ready to wrangle your data?