Bird
Raised Fist0
Power BIbi_tool~7 mins

Calculated columns vs measures in Power BI - Compared

Choose your learning style10 modes available
Introduction
Calculated columns and measures help you create new data from your existing data. Calculated columns add new data to each row in your table. Measures calculate results based on filters and show summary numbers.
When you want to add a new column that shows a value for each row, like profit per sale.
When you need a total or average that changes when you filter your report, like total sales by region.
When you want to create a new field that depends on other columns in the same row.
When you want a number that updates dynamically as you explore your data.
When you want to use the new data in slicers or as part of table visuals.
Steps
Step 1: Click
- Data view in Power BI Desktop
You see your tables and their columns listed
💡 Use Data view to work with calculated columns
Step 2: Click
- New column button on the Modeling tab
A formula bar appears to enter a DAX formula for the calculated column
Step 3: Type
- Formula bar
The new column is added to the table with values calculated for each row
💡 Example formula: Profit = Sales[Revenue] - Sales[Cost]
Step 4: Click
- New measure button on the Modeling tab
A formula bar appears to enter a DAX formula for the measure
Step 5: Type
- Formula bar
The measure is created and appears in the Fields pane under the table
💡 Example formula: Total Profit = SUM(Sales[Revenue]) - SUM(Sales[Cost])
Step 6: Add
- Visual on the report canvas
Use the calculated column or measure in your visuals to see row-level or aggregated results
Before vs After
Before
Table has columns: Revenue and Cost with 100 rows of sales data
After
Table has a new calculated column 'Profit' showing Revenue minus Cost for each row; also a measure 'Total Profit' that sums revenue minus cost dynamically in visuals
Settings Reference
Data view
📍 Left side vertical bar in Power BI Desktop
Switch to Data view to create calculated columns
Default: Report view
New column
📍 Modeling tab on the ribbon
Create a calculated column with a DAX formula
Default: Not created
New measure
📍 Modeling tab on the ribbon
Create a measure with a DAX formula
Default: Not created
Common Mistakes
Using a calculated column when a measure is needed for aggregation
Calculated columns do not change with filters and can increase data size unnecessarily
Use a measure to calculate totals or averages that respond to report filters
Using a measure when row-level data is needed
Measures only return aggregated results, not values per row
Use a calculated column to create new data for each row
Summary
Calculated columns add new data to each row and are stored in the table.
Measures calculate results dynamically based on filters and show aggregated values.
Choose calculated columns for row-level data and measures for summaries that change with filters.

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