Your email address

Set A Custom Column Type in M with Zero Extra Steps

By Brian Grant on 3/23/2018

...You could add a step to type each new column after you create it, or even type them all at the end, but both imply extra steps when what you really want to do is set the data type of the column right in the same step where you define it. In this video we are going to show you how to do exactly that and end up with code that is much cleaner and easier to read.

Hidden Sort By Columns in DAX Filter Context

By Brian Grant on 3/15/2018

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 column you were trying to remove from the filter context had a Sort By column assigned to it, that Sort By column might be sneaking into the filter context in the dark shadows of the night.

Transform Multiple Columns at Once in M

By Brian Grant on 3/15/2018

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 huge number of columns all at once without too much fanfare and only a single step in your code.

KnockoutJS & JQuery DataTables: Avoiding KnockoutJS Performance Issues With Large Data Sets

By CSG Pro on 12/4/2017

Discusses issues and workarounds when using JQuery DataTables with KnockoutJS for rendering large data sets in HTML Tables.

CSG’s Manufacturing Operations Data Solutions Specialty

By Stephen Rogers on 11/27/2017

CSG’s Manufacturing Operations Data Solutions Specialty reflects our commitment to listen intently to the unique needs of a domain that is swimming in data, and to develop a portfolio of methods that slices and presents that data as information that manufacturers care about.

Context Transition in DAX/Power BI: A Visual Guide

By Brian Grant on 8/10/2017

Context Transition can be frustrating for a new Power BI user. Definitions for it seem deceptively simple, but wrapping your head around how it works within a DAX expression can be quite difficult. Fear not though, in this video we're going to walk you through the step by step mechanics of how the Context Transition behavior of CALCULATE() can take a sad broken formula and almost magically bring

Move Over Promises - Async/Await Is Here

By Ken Howard on 6/16/2017

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.

Row vs Filter Context in PowerBI

By Brian Grant on 5/30/2017

Gaining an understanding of Row and Filter Context is among the most difficult challenges facing a new DAX author...In this video, we're going to attempt to jumpstart that process. This isn't a strict technical definition (I simplify a few things), but rather a beginner friendly mental model designed to get you up and running with DAX while still giving you a solid sense of what's happening under

Removing Excess Spaces Between Words AKA Inner Trim (Power BI)

By Brian Grant on 5/9/2017

Text.Trim() does an excellent job of getting rid of things like " Leading spaces" and "trailing spaces "; but unlike its' Excel cousin it doesn't handle "excess inner spaces". In this video we show you a cool way to leverage Text.Split() and Text.Combine to isolate shed those pesky double spaces and knock them out of your precious data for good.

Annotating Charts for Specific Events in Power BI

By Brian Grant on 4/18/2017

Pop-up annotations in a chart allow you do add just this kind of rich narrative information into your data dense charts. In this video we'll show you a nice, quick way to implement that in Power BI.