Skip to main content

Calculated column and Measures in Power BI

This blog may seem to be very elementary but I firmly believe it is the foundation of DAX in Power BI. Our nucleus for today is Calculated columns and measures in Power BI. If you are a Power BI user you must have come across these terms. You can find both of them in the home tab (placed next to each other). We will highlight the difference between both of them and the limitations associated with them. Let's get started!!

You can easily increase the table size by adding calculated columns to it and you can provide a DAX or logic for that column. The most pivotal thing we need to be aware of such columns is that they are calculated at the row level. There are situations when you can't create a relationship between tables in such cases calculated columns can come to the rescue. But be aware that the calculated column occupies a space in the memory which can be good or bad in different scenarios. If the DAX for your calculated column is complex then it can provide you a much better experience. If you are totally relying on creating calculated columns over and over then you are increasing your table size and it doesn't fall under the good practices in Power BI.

Let's see how the calculated column works. I am considering the sample superstore data and I will be creating a column name cost which is the difference between the sales and the profit.


You can easily rename the column. One great and key learning which I came across is you can easily apply calculated columns in the page level filters but not the measures. I am creating a table that consists of an Order ID, sales, cost, and profit.


Now I want to see only the Order IDs where the cost is greater than 100 USD and that filter needs to be applied on page level which can be done by calculated column.

What if I don't want to calculate values on row level but I want to see the aggregated values for multiple rows? In such cases, you can use the measures. What do I mean by aggregated values so let's suppose I am writing a DAX for SUM(Orders[Cost]) so it will provide a sum for all the rows that are aggregated under this but if you use the same DAX in the calculated column it will provide you different value based on the row you are referring to. 

One of the interesting and absurd facts about the measures is that you create measures inside the table but still it is not the active part of the table. So if you are looking to establish a relationship between tables with the help of measures then you can't do it. 

I am creating measures in the orders table which is the sum of the cost. We will be using the same dataset for this and then we will create a card visualization that will showcase the total cost.






Measures are totally dependent on the user interaction in the report which is mainly controlled by the filters and slicers. I would strongly advise using measures when you are looking to calculate ratios and percentages. If your dataset is quite large in size then it's not a good idea to create a calculated column but instead, use measures.


Thanks for Reading  Let's connect on  LinkedIn. For more such blogs do follow us.



Comments

Popular posts from this blog

Ultimate Beginners Guide to DAX Studio

There are zillions of external tools available with Power BI but DAX Studio is one of the most commonly used tools to work with DAX queries. It is a perfect tool to optimize the DAX and the data model. In this blog let's shed some light on the basic functionalities that can take your report to the next level. ARE YOU READY?  To start you will need the latest version of the DAX Studio. You can download it from their website . Don't worry you don't have to pay for the license. Fortunately, DAX Studio is a free tool As a BI Developer, I am using DAX Studio regularly. Based on my experience I use it for several purposes but in this blog, I will highlight the most common ones. Extracting a dump of all the measures used in your PBIX. Why do we need to do this? It can be used for documentation purposes also sometimes we try to reuse the DAX and such a dump comes in handy in this scenario. How to achieve it? Open the DAX Studio it is located under the external tools once you open t

Append v/s Merge in Power BI

Let's discuss another problem of the week. As a Power BI user, there are times when you want to combine queries. What are the ways to do so? In most cases, you can attain it by using either append or merge and both serve different purposes. Let's understand what do these terms mean in Power BI and how they are functionally different from each other.  It is quite common to get data from various sources and you need to combine those data depending on a particular column which is common in both tables so that you can add extra information or column to your big table. In such cases, we use merge queries. How to perform merge queries? For instance, I am considering Sample Superstore data and we will merge the returns table to the order table. You will find both merge and append in the home tab in extreme right in the power query editor. ProTip - You will find two options when you click on the drop-down in merge which are merge queries and merge queries as new. When you use merge que

Use Relationship in DAX

Data modeling is an essential part of creating perfect visuals. While creating complex data models there can be a case where you can find an inactive relationship represented by dotted lines and it occurs because you already have an active relationship between the two tables. But as a developer, you need to use both the relationship. How can it be done? You can use "Use Relationship" in such cases. Use relationship can be added to your DAX and act as a modifier or enhancer for calculation. It activates the inactive relation. But make sure you have an inactive relationship in place before using the use relationship function. Let's see how it works on Sample Superstore data. In my fact table I have two dates- Order date and Ship date. I am making the two relations between my date table and fact table. The relation between the sample superstore (date) to date table (date) is active while the relation between the sample superstore (ship date) to date table (date) is inactive