Power BI DAX Logical Functions

How to use Power BI DAX Logical Functions with examples?. Microsoft Power BI DAX provides various Logical Functions such as IF Statement, AND, OR, NOT, IN, TRUE, FALSE, IFERROR, SWITCH, etc.

To demonstrate these Power BI DAX Logical functions, we use the below-shown data. As you can see, there are 15 records in this table.

DAX Logical Functions 1

Power BI DAX Logical Functions

The following series of examples shows the list of DAX Logical Functions.

DAX IF Logical Function

The Power BI DAX If function checks whether the given expression is True or False. The syntax of the DAX If Function is

IF(Expression, True_Info, False_Info)

As you can see from the above syntax, this Power BI DAX IF function accepts three arguments: the first argument is the Boolean expression (which returns true or false). If the expression results TRUE, then the second argument return; otherwise, the third argument will return.

To demonstrate these DAX logical IF functions in Power BI, we have to use Calculated. To create a column, please click on the New Column option under the Home tab, or Modeling tab.

DAX Logical Functions 2

We renamed the default column name as IfExample.  As you can see from the below screenshot, while I was typing, the IntelliSense is showing the suggestions.

For this DAX Logical Functions demo purpose, we use the Sales column.

DAX IF Statement Example

By clicking the enter or any key, a new column created. And the final Code is

IfExample = IF(EmployeeSales[Sales] > 3000, "Good", "Bad")

The above DAX IF function checks whether the Sales amount of each column is greater than 3000 or not. If true, then column returns Good; otherwise, it returns Bad.

DAX IF Statement Example 4

Let me add this column to the table that we created earlier. Please refer to Create Table Report article to understand the steps involved in creating a table

DAX IF Statement Example 5

DAX Nested IF Function

In Power BI, you can use the DAX Nested If concept. I mean, one If statement inside another. The below DAX Nested IF function checks whether the Sales amount of each column is less than 1000 or not. If true then the column returns Very Bad otherwise, it enters into Nested If

NestedIfEx = IF(EmployeeSales[Sales] < 1000, "Very Bad",                                           
                 IF(EmployeeSales[Sales] > 3000, "Good", "Average" ))
DAX Nested If Statement

Let me add this Nested column to this table.

DAX Nested If Statement 7

DAX Logical AND Function

The Power BI DAX Logical AND function check multiple expressions. The syntax of the DAX AND Function is

AND(Condition 1, Condition 2)

As you can see from the above syntax, the DAX AND function accepts two arguments: If both the conditions are True, then it returns True. Otherwise, it returns False.

Let me create a column to check whether the Sales of each column is greater than Average, and Yearly Income is greater than 70000. If both these conditions are true, then the column returns a Good Job. Otherwise, it returns Bad Job into a column

AndSales = IF(AND(EmployeeSales[Sales] > AVERAGE(EmployeeSales[Sales]),                              
               EmployeeSales[YearlyIncome] >= 70000), "Good Job", "Bad Job")
DAX Logical AND Operator

DAX OR Function

The Power BI DAX OR function is like either or statement in English, which is useful to check multiple expressions. The DAX OR Function syntax is

OR(Condition 1, Condition 2)

As you can see from the above DAX OR function syntax: If both the conditions are False, then it returns False; otherwise, it returns True.

Let me create a column to check whether the Sales is less than Average, or Yearly Income is greater than equal to 90000. If both these conditions are false, then the function returns Doing Good; otherwise, it returns Watchlist into a column

OrSales = IF(OR(EmployeeSales[Sales] < AVERAGE(EmployeeSales[Sales]),                              
               EmployeeSales[YearlyIncome] >= 90000), "Watchlist", "Doing Good")
DAX Logical OR Operator

Let me add both the Power BI And Function and Or Function columns to the below-shown table.

DAX If and Or Examples

DAX NOT Function

The Power BI DAX NOT function converts True to false and False to True. I mean, it returns the opposite result. The syntax of the DAX NOT Function is

NOT(Condition)

The below statement returns False if Sales is greater than 2000; otherwise, it returns True.

NotSale = NOT(IF(EmployeeSales[Sales] > 2000, "TRUE", "FALSE")
DAX Logical NOT Function

Let me add this Not Function column to this table

DAX Logical NOT IF Function 12

DAX IN Function

The Power BI DAX IN function restricts the calculation to specified columns. For example, you can calculate the sum of sales for temporary Employees. The syntax of DAX IN Function is as shown below:

Column IN {field1, field2,...,fieldN}

The below statement calculate the Sum of Sales for the employees whose education is Education, Bachelors, or Masters Degree. Remember, this is a Measure

SalesIN =  CALCULATE(SUM(EmployeeSales[YearlyIncome]) , 
        'EmployeeSales'[Education] IN {"Education", "Bachelors", "Masters Degree"})
DAX IF IN Function

Let me create a Card using this Measure. Please refer to Create a Card and Format Card articles to understand the steps involved in creating and formatting cards.

DAX Logical IN Function

DAX TRUE Function

The Power BI DAX logical TRUE function returns logical true. The below statement returns True if Sales is greater than Average Sale; otherwise, it returns False

TRUESale = IF(EmployeeSales[Sales] > AVERAGE(EmployeeSales[Sales]), TRUE(), FALSE() )
DAX Logical TRUE Function

Power BI DAX Logical FALSE Function

The DAX FALSE function returns logical false. The below code returns False if Sales are less than 2500. Otherwise, it returns True

FalseSale = IF(EmployeeSales[Sales] < 2500, FALSE(), TRUE() )
DAX Logical FALSE Function

Let me add True Function, False Function result to the table report

DAX IF TRUE OR FALSE Functions

DAX IFERROR Function

The Power BI DAX IFERROR function is very useful to handle arithmetic overflow or any other errors. It simply performs the calculation and returns the result, if there is an error, then it returns the value inside the second argument.

The syntax of the DAX IFERROR Function is

IFERROR(Calculation, Value_If_Error_Occurs)

The below statement returns 100 if an error occurs. Indeed, all the records throw an error because we are dividing them 0

ErrorSale = IFERROR(EmployeeSales[Sales]/0, 100)
DAX IFERROR Function

Let me add Iferror column result to the table report

DAX IF ERROR Function

DAX SWITCH Function

The Power BI DAX SWITCH function helps you to return multiple options. For example, the DAX IF function returns either True or false. However, you can use this switch case for multiple results.

The syntax of the DAX Switch Function is as shown below:

SWITCH(Expression, Option 1, Result 1, Option 2, Result 2, ....., ElseResult)

If the Month of Hire date is 1, then the below statement returns January, 2 means February, 3 means March, 4 means April, 5 means May, and 12 means December otherwise, Unknown.

SwitchMonth = SWITCH(MONTH(EmployeeSales[HireDate]), 1, "January", 2, "February", 3, "March", 4, "April", 5, "May", 
                 12, "December", "Unknown")
DAX SWITCH Function 20

let me add this Power BI DAX Switch function result column to this table report

DAX SWITCH Function 21

Comments are closed.