Bird
Raised Fist0
Power BIbi_tool~8 mins

Calculated columns vs measures in Power BI - Dashboard Approaches Compared

Choose your learning style10 modes available
Dashboard Mode - Calculated columns vs measures
Business Question

How do calculated columns and measures differ in Power BI, and when should you use each to analyze sales data?

Sample Data
Order IDProductQuantityUnit PriceRegion
1001Notebook215East
1002Pen53West
1003Notebook115East
1004Pen103North
1005Binder48South
1006Notebook315West
Dashboard Components
  • KPI Card: Total Sales
    Formula (Measure): Total Sales = SUMX(Sales, Sales[Quantity] * Sales[Unit Price])
    Result: 2*15 + 5*3 + 1*15 + 10*3 + 4*8 + 3*15 = 30 + 15 + 15 + 30 + 32 + 45 = 167
  • Calculated Column: Sales Amount
    Formula: Sales Amount = Sales[Quantity] * Sales[Unit Price]
    This column is added to each row:
    Row 1: 2*15=30, Row 2: 5*3=15, Row 3: 1*15=15, Row 4: 10*3=30, Row 5: 4*8=32, Row 6: 3*15=45
  • Table Visual: Shows Order ID, Product, Quantity, Unit Price, Sales Amount (calculated column)
  • Bar Chart: Total Sales by Region
    Measure used: Total Sales
    East: 30 + 15 = 45, West: 15 + 45 = 60, North: 30, South: 32
Dashboard Layout
+----------------------+---------------------+
|      KPI Card        |     Bar Chart       |
|   Total Sales = 167  | Total Sales by Reg. |
+----------------------+---------------------+
|                Table Visual (Sales Data)   |
| Order ID, Product, Quantity, Unit Price,  |
| Sales Amount (Calculated Column)           |
+--------------------------------------------+
Interactivity

A slicer on Region filters the bar chart and the table visual. The KPI card updates the total sales measure based on the selected region. The calculated column Sales Amount remains static because it is computed row by row when data loads.

Self Check

If you add a filter for Region = East, which components update?

  • The KPI card updates to show total sales for East: 30 + 15 = 45
  • The bar chart shows only the East region bar with value 45
  • The table visual shows only rows with Region East (Order IDs 1001 and 1003) with their Sales Amount
  • The calculated column values stay the same but only rows matching the filter appear
Key Result
Dashboard comparing calculated columns and measures showing total sales and sales by region with interactivity.

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