Relationships in Power BI and Tabular models - SQLBI
This article describes the types of relationships available in Power BI and Analysis Services, clarifying the differences in cardinality and filter propagat
Customers Grouped by the Count of their Orders – Dynamic Segmentation in Power BI Using DAX Measures
In the previous part of this article, I explained what is the segmentation challenge, when you want to group data based on the aggregated result, and I explained a static method of creating aggregated tables and creating a relationship to the main detailed table. However, the caveat of that method is the segmentation is done…
Customers grouped by count of their orders static segmentation in power bi
One of the interesting calculation challenges in BI systems is a segmentation or grouping on a numeric value, based on an occurrence of another value. As an example; You might want to know How many customers ordered once, twice, three times or more. The challenge is that the data in the transactional table is not…
This article describes how to implement currency conversion for reporting purposes in Power BI. Currency conversion applied to reporting can include many di
Okay, the title of this blog post could also have been "SUMX returns unexpected results with duplicates". The results only seem incorrect because an incorrect assumption might have been made. Let's dive into the issue with an example. The Problem Suppose we have employees entering timesheet da
Much has been said about DAX, and even more will be told, as DAX still evolves and the adoption of tools that are using DAX like Power BI and MSFT Analysis Services Tabular is growing. This series of blog posts are inspired by questions asked on https://community.powerbi.com. These questions are touching the most foundational concepts and are reminding me of my journey into the realm of evaluation context, filter propagation, data lineage, the scope of variables, and the mysterious world of table iterators, just to name some concepts. Sometimes it seems that these foundational concepts are ...
Quick note to the Power BI developers looking to up their DAX game… I’ll be presenting a new session – Power BI Time-Intelligence: Beyond the Basics – to the following user …
Age banding in power bi using treatas dax function relationship based on between
One of the most common types of banding or binning is banding based on a range. Let's say, for example, you want to have a group of customers based on their age group. The age group banding can be created in Power Query at the data transformation stage. It can be created using the Grouping…
Dynamic Banding or Grouping in Power BI – Using DAX Measures – Choose the Count of Bins
Banding (or binning or grouping) is a scenario that can be implemented both statically and dynamically in Power BI. Dynamic banding means selecting the bin (or band) configuration, and the banding changes based on the user selection of the slicer. Imagine that we have a count of customers by their age groups, but then we…
Dynamic banding or grouping in power bi using dax measures choose the size of bins
In the previous article/video, I explained how to create dynamic bins by choosing the count of bins in a slicer in the Power BI report. In this article, I'll explain, how you can do it the other way around, which is by selecting the size of the bin, you will have bins and buckets dynamically…
COALESCE is a DAX function introduced in March 2020. This article describes the purpose of COALESCE and how to simplify DAX expressions by removing verbose
Subscription pattern in power bi dax measure for active subscribers or open tickets for all dates
One of the common patterns of a data model is the subscription pattern. In this pattern, we have subscriptions (or tickets, or issues, or whatever else you want to call it) open date and close date. The way that this data is stored in a table makes it a bit challenging to get informative insight…
Chris Webb's BI Blog: Making One Power BI Measure Appear In Multiple Folders
Back in 2018, when I wrote a detailed post on how to create nested display folders for measures in Power BI, I mentioned that unlike in Analysis Services it was not possible to make a Power BI meas…
Much like the pieces on a chess board – to the novice, they represent individual units with different capabilities. Over time (or so I’m told) as experience is gained through tournament…
Highlighting Below Avg Sales per Hierarchy Level with SWITCH() and ISINSCOPE() DAX Functions in Power BI
I was working on a project a wee bit ago that the customer had conditional formatting requirement on a Column Chart.They wanted to format the columns in the chart conditionally based on the average value based on the level of hierarchy you are at.Here is the scenario, I have a Calendar hierarchy as below: Calendar … Continue reading Highlighting Below Avg Sales per Hierarchy Level with SWITCH() and ISINSCOPE() DAX Functions in Power BI
If you ever spend time looking at DAX generated by the Power BI Desktop Performance Analyser, you may notice a function called KEEPFILTERS appear from time to time. It’s not a function I find…
This article describes how to compute visual totals accurately, in case a measure does not provide the right result at the total level but works correctly i
Doubling times are an indicator to measure the growth rate in exponentially growing scenarios. Learn how to calculate them in DAX for display in Power BI.
Search for All the Texts in Power BI Table Visual with the First Three Characters Selected in the Slicer
Yesterday, I published a post about having a slicer that filters the rows in a table visual in Power BI that contains the characters from that slicer. A friend asked me what if we want to search for the first few characters? that means selecting the first character, then seeing all the possible second characters,…
This post walks through a simple use of the coalesce function to prevent a measure returning Blank. This function was introduced to Power BI in March 2020.
Substring in DAX: How to get Part of String Field in Power BI Using DAX Expression
Substring is one of the most common functions in many languages, However, there is no function named Substring DAX. There is a very simple way of doing it, which I am going to explain in this post. Substring means getting part of a string, for example from "Reza Rad", if I want to get the…
One of the cool things of calculation groups is they cannot just be used to apply a calculation over your “base measure” but also apply a dynamic formatstring. You could...
I was playing around with calculation groups for a question. I found that adding a calculation group is not that straightforward as it should be, so I decided to blog...