Introduction to Data Analysis Expressions in Power BI

By Imran Burki | December 5, 2017

In this blog post, I would like to introduce something called Data Analysis Expressions, or DAX. DAX is a collection of functions, operators, and constants that allow you to create formulas and calculations that return values from objects that exist in your Power BI model. With DAX you can create columns, measures, and even your own tables. We’re going to keep it simple in this post and create a simple column and a measure. If you are familiar with creating expressions in Excel or in another BI tool, then DAX syntax will be easier to read but it doesn’t require any particular skill set.

Syntax

Sales Profit = 'Sales'[SalesAmount] - 'Sales'[Total Unit Cost]

This is a simple formula in DAX. It calculates the Sales Profit.

The syntax contains the following elements:

a) Just like in Excel, the equals (=) operator begins a DAX formula.
b) ‘Sales’[SalesAmount] is our column that contains revenue, which comes from the model in Power BI. Column references are surrounded by square brackets [].
c) In this example, we are subtracting two measures so we’ll use the subtraction (-) operator.
d) 'Sales'[Total Unit Cost] is our column that contains cost, which also comes from the Power BI model.

A slightly more advanced formula is presented below:
Units Sold = sum('Sales'[Quantity])

a) Here the measure name is called Units sold.
b) The function SUM adds up all the Quantity numbers in the ‘Sales’[Quantity] column.
This formula adds all the values of Sales Quantity.

Creating a Formula in Power BI

Here are the steps on how to create a formula in Power BI. We’re going to create a simple column calculation called “Customer Name.” Notice that in there is no Customer Name in my Customers table.

Creating a column calculation called "Customer Name" in Power BI.

  1. Right-click on “Customers” and select “New column.” An area will appear below the tabs where you can enter a formula.
  2. Enter the following formula: Customer Name = 'Customers'[LastName] & ", " & 'Customers'[FirstName]. To concatenate fields you can use the CONCATENATE function in DAX but that only accepts two arguments. Instead, we’re going to use the & operator.

The "Customer Name" column has been added to the Customers table in Power BI.

Notice that the Customer Name column is now added to the Customers table. When you click on Customer Name you’ll also notice that there is now a formula in the formula bar, which is the formula we created for this column.

To create a measure please follow these steps:

1. Right-click on your fact table and select “New Measure.”

Creating a new measure from a fact table in Power BI.

2. We don’t have a column that calculates Sales Amount in the model so we’ll create one now by using the formula Sales Amount = 'Sales'[UnitCost] * 'Sales'[Quantity] and entering it in the toolbar.

Creating a new Sales Amount column using a formula in Power BI.

In this blog post, we were introduced to DAX and created two simple column and measure calculations. This is one of many blogs you’ll see on DAX here since you’ll be using it every time you’re in Power BI creating calculations. In my next blog post, we’re going to cover an advanced topic of how to implement Power BI Time Intelligence functions using DAX.


Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.

Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!