Bird
Raised Fist0
Power BIbi_tool~3 mins

Calculated columns vs measures in Power BI - When to Use Which

Choose your learning style10 modes available
The Big Idea

Discover how to stop wasting hours on manual calculations and make your reports update themselves instantly!

The Scenario

Imagine you have a huge sales table in Excel and you want to add new insights like profit or sales tax for each row. You try to add these calculations manually for every row or create separate sheets for summaries.

The Problem

Doing this manually is slow and prone to mistakes. If your data changes, you must redo all calculations. It's hard to keep track of which numbers are updated and which are not. This wastes time and causes frustration.

The Solution

Calculated columns and measures in Power BI automate these calculations. Calculated columns add new data fields row by row, while measures calculate results on the fly based on filters. This keeps your data dynamic, accurate, and easy to update.

Before vs After
✗ Before
Add new column in Excel and drag formula down for each row
✓ After
Profit = Sales[Amount] - Sales[Cost]  // Calculated column
Total Profit = SUM(Sales[Profit])  // Measure
What It Enables

You can create interactive reports that update instantly with your data and filters, without manual recalculations.

Real Life Example

A sales manager can quickly see total profit by region or product category by just clicking filters, without rebuilding reports or spreadsheets.

Key Takeaways

Manual calculations are slow and error-prone for large data.

Calculated columns add new data fields per row automatically.

Measures calculate dynamic summaries based on user selections.

Practice

(1/5)
1. Which of the following best describes a calculated column in Power BI?
easy
A. A visual element used to display data on a report page.
B. A dynamic calculation that changes based on filters and user selections.
C. A new column added to a table with values calculated row by row and stored in the model.
D. A type of filter applied to slicers in reports.

Solution

  1. Step 1: Understand what a calculated column is

    A calculated column is created by adding a new column to a table where each row's value is computed and stored permanently.
  2. Step 2: Differentiate from measures

    Measures are dynamic and calculate results on the fly based on filters, unlike calculated columns which are static.
  3. Final Answer:

    A new column added to a table with values calculated row by row and stored in the model. -> Option C
  4. Quick Check:

    Calculated column = static row-level data [OK]
Hint: Calculated columns store data row-wise; measures calculate dynamically [OK]
Common Mistakes:
  • Confusing calculated columns with measures
  • Thinking calculated columns change with filters
  • Believing measures create new table columns
2. Which of the following is the correct syntax to create a row-by-row calculated column in Power BI using DAX?
easy
A. NewColumn = SUM(Sales[Amount])
B. NewColumn = Sales[Quantity] * Sales[Price]
C. Measure = CALCULATE(SUM(Sales[Amount]))
D. NewColumn := Sales[Quantity] + Sales[Discount]

Solution

  1. Step 1: Identify calculated column syntax

    Calculated columns use simple assignment with = and row context expressions like Sales[Quantity] * Sales[Price].
  2. Step 2: Check options for correct syntax

    NewColumn = Sales[Quantity] * Sales[Price] uses correct syntax and row-level calculation. NewColumn = SUM(Sales[Amount]) uses aggregation which is for measures. Measure = CALCULATE(SUM(Sales[Amount])) defines a measure, not a column. NewColumn := Sales[Quantity] + Sales[Discount] uses := which is invalid in DAX.
  3. Final Answer:

    NewColumn = Sales[Quantity] * Sales[Price] -> Option B
  4. Quick Check:

    Calculated column syntax = simple row formula [OK]
Hint: Calculated columns use = with row-level expressions, not aggregation [OK]
Common Mistakes:
  • Using aggregation functions in calculated columns
  • Using := instead of = in DAX
  • Confusing measure syntax with calculated column syntax
3. Given the following DAX measure:
Total Sales = SUM(Sales[Amount])

and a calculated column:
Discounted Price = Sales[Price] * 0.9

What will be the result of Total Sales if a report filter selects only products with Discounted Price less than 100?
medium
A. The sum of Sales[Amount] for all rows where Discounted Price is less than 100.
B. The sum of Sales[Amount] for all rows, ignoring the filter on Discounted Price.
C. An error because measures cannot use calculated columns in filters.
D. Zero, because Discounted Price is not a measure.

Solution

  1. Step 1: Understand filter context on measures

    Measures calculate dynamically and respect report filters, including filters on calculated columns.
  2. Step 2: Apply filter on Discounted Price

    The filter selects rows where Discounted Price < 100, so Total Sales sums only those rows' Amount values.
  3. Final Answer:

    The sum of Sales[Amount] for all rows where Discounted Price is less than 100. -> Option A
  4. Quick Check:

    Measures respect filters on calculated columns [OK]
Hint: Measures recalc with filters, including on calculated columns [OK]
Common Mistakes:
  • Thinking measures ignore filters on calculated columns
  • Believing calculated columns cannot be used in filters
  • Assuming error occurs when filtering on calculated columns
4. You wrote this DAX measure:
Total Discount = SUM(Sales[Discounted Price])

but it returns an error. What is the most likely cause?
medium
A. Discounted Price is a calculated column, but the table Sales does not contain it.
B. Discounted Price is a measure, and measures cannot be summed directly.
C. Discounted Price is a calculated column, so SUM cannot be used on it.
D. Discounted Price is a calculated column but the column name is misspelled.

Solution

  1. Step 1: Understand SUM usage on calculated columns

    SUM can be used on calculated columns if they exist in the table.
  2. Step 2: Check for existence and spelling

    If the column does not exist or is misspelled, SUM will cause an error. The most likely cause is that the calculated column Discounted Price does not exist in the Sales table.
  3. Final Answer:

    Discounted Price is a calculated column, but the table Sales does not contain it. -> Option A
  4. Quick Check:

    SUM errors if column missing [OK]
Hint: Check column existence before summing [OK]
Common Mistakes:
  • Assuming SUM cannot be used on calculated columns
  • Confusing measures and columns in aggregation
  • Ignoring spelling or table errors
5. You want to create a report showing the average sales per customer, but only for customers who bought more than 5 items. Which approach is best?
hard
A. Create a calculated column counting items per customer, then a measure averaging sales filtered by that column.
B. Create a measure summing sales and ignore item counts.
C. Create a calculated column averaging sales per customer and filter customers in the report.
D. Create a measure that calculates total items per customer and filters average sales dynamically.

Solution

  1. Step 1: Understand dynamic filtering needs

    Filtering customers by items bought requires dynamic calculation because user filters may change.
  2. Step 2: Choose measure for dynamic aggregation

    A measure can calculate total items per customer and filter average sales dynamically, adapting to report filters.
  3. Step 3: Why not calculated columns?

    Calculated columns are static and cannot respond to slicers or filters dynamically, so Create a calculated column counting items per customer, then a measure averaging sales filtered by that column. is less flexible.
  4. Final Answer:

    Create a measure that calculates total items per customer and filters average sales dynamically. -> Option D
  5. Quick Check:

    Use measures for dynamic filtering and aggregation [OK]
Hint: Use measures for dynamic filters and aggregations [OK]
Common Mistakes:
  • Using calculated columns for dynamic filters
  • Ignoring filter context in measures
  • Trying to average in calculated columns
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard