Archive - Blog Posts on Intermediate

Compound Growth using DAX - There are some things that are very easy to do in Excel that don’t seem to have an immediately obvious and simple solution in DAX.  One such problem is when you want to apply compound growth on an investment.  Let me make up an example so it is clear what I am talking about. Simple […] Read More
Open the Queries and Connections Pane Wider - Power Query for Excel has developed at a striking pace over the last few years making it hard to keep up with the changes.  Over several iterations, the Queries and Connections pane has been called various names, and the behaviour has changed a few times too.  Depending on the version of Excel and Power Query, […] Read More
Items NOT Selected in a Slicer? - I recently attended a school reunion (class of 1981 for what it’s worth – wow, I’m old!).  We all had a great time catching up, looking at old photos, taking new photos etc – how things have changed!  Anyways that got me thinking that it would be great to do something cool with Power BI […] Read More
Sales of Same Products to Other Customers - Level: Intermediate I was helping someone on a forum recently and I thought the question and solution would make an interesting blog article. I have adapted the scenario to work with Adventure Works customer purchases, but this concept would work equally well across other entities, such as sales territories, calendar years etc. Problem Definition The […] Read More
Lineage in DAX - Level: Intermediate–Advanced I have covered the topic of Lineage in DAX a few times in the past (within other articles).  Today I thought I would write a single post dedicated to lineage. As you may know, Power BI has a number of different operation modes, some of which do not require the data to be […] Read More
Virtual Filters Using TREATAS - Level: Intermediate I have been aware of the TREATAS function for a very long time.  I have tried to understand how it works a few times but could never really work it out. I think part of the problem is the function name TREATAS is not very descriptive.  To contrast this point, the FILTER function […] Read More
Line Chart Conditional Formatting - I’m really pleased and excited to introduce you to Daniil Maslyuk (Twitter: @DMaslyuk).  I first met Daniil about a year ago (originally via email) as he was preparing to move to Australia.  Daniil made the plunge shortly there after and migrated to Australia (from Russia) – he now works as a Power BI consultant for Agile BI here in […] Read More
Killer Tips to Write Harder Measures - Level: Intermediate Background I was reading the questions at http://community.powerbi.com today and saw an interesting question.  In short the OP wanted to know if there was a way to identify (via a measure) if the row in a table had a colour =”Blue”, but also to check that there were no other rows with the […] Read More
DAX UNICHAR Function in Power BI - I first learnt about the new DAX UNICHAR function in Power BI by reading Chris Webb’s blog (which was also the inspiration for this article today).  One of the uses of the UNICHAR function is to be able to include non text characters inside visuals.  When you combine a logical set of these codes (icon sets) you […] Read More
Using Variables in DAX - Level: Intermediate The variable feature in DAX has been around for more than a year and I have simply never got around to writing an article about it – I am changing that today.  Let me start off with some version information and syntax and then I will show you are real life example where I […] Read More
New Functions – GENERATESERIES, SELECTEDVALUE - Level: Beginners/Intermediate In the August 2017 update of Power BI Desktop Microsoft released the new What If feature (first demonstrated at MDIS in July).  This new What If capability uses two new DAX functions to complete a task that you have always been able to do manually.  You still can of course still do it […] Read More
When to Use SUM() vs SUMX() - Level: Beginners/Intermediate It has been 2 years since I first wrote an article about SUM() vs SUMX().  I decided to write a new article to refresh this topic and add in the things I have learnt over the last 2 years. SUM() vs SUMX() First let me start with an overview of both of these […] Read More
The ALL() Function in DAX - Level: Intermediate In this article I am going to write about the ALL() function, show how it works and explain a common use case.  I will also cover the unexpected behaviour that occurs when using the ALL() function in Power BI Desktop – more on that later. For this article I will use my simplified copy […] Read More
Understanding Power Query Combine - Level: Intermediate Sometime late in 2016 Microsoft deployed a new “Combine” feature in both Power Query for Excel (Get and Transform) and also in Power BI Desktop (Get Data).  The new capability makes it easier to combine multiple copies of similar workbooks into a single table without hand coding M Functions, but unfortunately it is now […] Read More
My MDIS Presentations - Level: Beginners/Intermediate As those that read my blog regularly would know, I have been at the Microsoft Data Insights Summit in Seattle Washington for the last 2 days. I had the privilege and pleasure of presenting two sessions at the event. For those that were not able to attend, here are the videos of my […] Read More
How and Where to Get Help for Power BI - Level: Beginners/Intermediate Regardless of what stage you are at in your Power BI/Power Pivot/Power Query journey, at some stage you are going to need some help.  Believe me I am no different to you – we are all learning and we all need help sometime or another.  There are basically 3 options that I want […] Read More
Uses for DAX as a Query Language - Level: Intermediate This is the final article in my series about DAX as a Query Language.  In my first article I introduced DAX as a Query Language and then in my second article I went in deeper to the specifics on how to use some of the more useful DAX query functions.  In this final article […] Read More
DAX as a Query Language Part 2 - Level: Intermediate In my last article I introduced DAX as a Query Language and explained why learning to query your data model can be useful.  I covered the basics about using a tool like DAX Studio to query a database and return a table of data as a result.  In this article I am going to […] Read More
An Introduction to DAX as a Query Language - Level: Intermediate I have written quite a few articles that contain embedded references to DAX Queries and DAX Table functions in the past.  Today I am writing an article that introduces the DAX query language from the beginning so you can learn how to use it and how it will help you to become a […] Read More
SQL Saturday Melbourne Feb 2017 Materials - Level: Intermediate I am currently in Melbourne for PASS SQL Saturday 2017.  SQL Saturday is an annual one day conference event that occurs in many major cities around the world.  It is focussed on helping SQL Server professionals learn more about their profession and also network with other like minded people.  I have a lot […] Read More