Tableau and Power BI expressions are jam packed inside many dashboards and hold important business logic. Some of the most widely used Tableau and Power BI formulas include conditional logic, date handling, null or blank handling.
Even simple expressions in Tableau don’t have perfect one-to-one equivalents in Power BI. At BIChart we are in the business of eliminating hand writing expressions with migration automaton . Here are some of the most common expressions I run into.

Conditional Logic
Tableau’s IF/THEN/ELSE and CASE both have direct DAX counterparts, IF/SWITCH and SWITCH, and the basic patterns convert cleanly. The risk isn’t the syntax. It’s evaluation context on aggregated conditions, and blank handling on edge-case rows that don’t show up until someone tests beyond the sample visual.
- Understanding Tableau IF / THEN / ELSE Expressions
- Tableau expression IF / THEN / ELSE (Power BI side)
Lesson learned: Value-matching CASE statements are low-risk. Range logic dressed up as CASE, and any condition built on an aggregation rather than a row value, are the ones that deserve a hard look before you ship them.
Date Handling
Date logic is the largest single category in the library, and for good reason. Tableau’s DATEADD, DATEDIFF, DATEPART, and DATETRUNC each have a Power BI counterparts, but Power BI splits some of that logic differently, spreading it across DATEADD, DATEDIFF, date part functions, and a separate set of time-intelligence functions like STARTOFMONTH and STARTOFYEAR.
Show Image
- Understanding Tableau DATEADD Function for Date Manipulation
- Understanding the Power BI DATEADD Function
- Understanding DATEDIFF in Tableau: A Comprehensive Guide
- Understanding the Power BI DATEDIFF Function in DAX
- Understanding DATETRUNC in Tableau: A Comprehensive Guide
Lesson learned: DATETRUNC doesn’t map to a single Power BI function. It maps to a combination of time-intelligence functions and how the date table is modeled, which means the fix isn’t always in the calculation. Sometimes it’s in the model.
Null and Blank Handling
Tableau separates this into two functions, IFNULL for substituting a value and ZN for the zero-specific case. Power BI collapses both into COALESCE, along with a separate concept in BLANK() that behaves differently depending on where it’s evaluated, particularly inside CALCULATE or an iterator like SUMX.
Show Image
Lesson learned: COALESCE handles the substitution. It doesn’t guarantee the row exists in the first place. Missing rows and blank values fail differently in DAX, and testing needs to cover both.
Unlocking Tableau to Power BI Skills
A lot of this work these days can be handed off to AI models. These are all safe functions where AI gets it right. Consistency and simplicity is key. These are easiest to learn in isolation. I’ll share more complex expressions and combinations in upcoming posts.