Learning DAX (Data Analysis Expressions) is essential for building dynamic and powerful reports in Power BI. Before diving into complex formulas, it’s important to understand two basic building blocks: Calculated Columns and Measures. Once these are clear, we can easily understand Row Context and Filter Context.

In this article, you’ll learn:

  • What Calculated Columns and Measures are — in simple words
  • What Row Context and Filter Context mean in DAX
  • How to use both with practical table examples
  • Why understanding them makes Power BI so powerful
Understanding Row Context & Filter Context

1. What is a Calculated Column 

A Calculated Column is like adding a new column in Excel. You write a formula, and it calculates values for each row. The result is stored in your table and does not change when you use slicers or filters.

Example Table: Sales

Product Quantity Price
Apple 10 20
Orange 5 15

If we want to calculate the total amount for each product, we can add a calculated column:

Total Amount = Sales[Quantity] * Sales[Price]
Product Quantity Price Total Amount
Apple 10 20 200
Orange 5 15 75

Key point: Calculated columns work row by row and are stored permanently in the model.

2. What is a Measure

A Measure is like using a calculator. It doesn’t store values in the table. Instead, it gives you a result only when you use it in visuals (for example, a table, card, or bar chart). It responds to filters and slicers dynamically.

Example: To calculate total sales for all products, we can create a measure:

Total Sales = SUM(Sales[Total Amount])
  • If no filter is applied → result = 275
  • If slicer selects only Apple → result = 200

Key point: Measures are calculated on the fly and react to filters in your report.

3. Difference Between Calculated Columns and Measures

Calculated Column Measure
Works on each row Works on the whole table
Stored in the model Not stored, calculated when needed
Does not change with filters Changes with slicers/filters
Total Amount = Sales[Quantity] * Sales[Price] Total Sales = SUM(Sales[Total Amount])

4. What is Row Context?

Now that you know what Calculated Columns are, it’s easier to understand Row Context. Row Context simply means DAX is calculating values row by row. Calculated Columns use Row Context by default.

For example, when you create:

Total Amount = Sales[Quantity] * Sales[Price]

DAX goes to each row, multiplies Quantity and Price, and saves the result. It doesn’t care about filters or slicers here.

5. What is Filter Context?

Filter Context happens when a visual, slicer, or filter is applied. It tells DAX “look only at this part of the data.” Measures depend on Filter Context.

For example:

Total Sales = SUM(Sales[Total Amount])

- If no slicer is applied → SUM of all products.
- If slicer = Apple → only Apple’s amount is calculated.

6. Example: Using a Calculated Column

Imagine applying a 10% discount on every product:

Discounted Price = Sales[Total Amount] * 0.9

This creates a new column. The value for each row remains the same, no matter what slicers you use.

7. Example: Using a Measure

Let’s calculate average sales with a measure:

Average Sales = AVERAGE(Sales[Total Amount])

This measure will change its result depending on the filters applied to the visual.

8. When to Use Calculated Columns

  • When you need fixed values stored in the table.
  • When the calculation is required at the row level.
  • When the column will be used in relationships or filters.

9. When to Use Measures

  • When you need totals, averages, or ratios.
  • When you want values to change dynamically with filters.
  • When you want to keep the model lightweight.

10. Practice Task

  1. Create the Sales table as shown above.
  2. Add a Calculated Column named Total Amount.
  3. Create a Measure named Total Sales.
  4. Create another Measure named Average Sales.
  5. Apply slicers on Product and observe how Measures react while Calculated Columns remain fixed.

11. Final Thoughts

Start by understanding Calculated Columns and Measures in their simplest form. Once this is clear, concepts like Row Context and Filter Context become much easier to grasp.

Calculated Column = fixed row-level value.
Measure = dynamic result based on filters.

As you advance, explore functions like CALCULATE() and FILTER() to build powerful DAX logic.


Keywords: DAX basics, Power BI, calculated columns, measures, row context, filter context, Power BI tutorial, beginner guide, DAX formulas, Power BI examples