Bird
Raised Fist0
Power BIbi_tool~8 mins

Why intermediate DAX solves business questions in Power BI - Dashboard Impact

Choose your learning style10 modes available
Dashboard Mode - Why intermediate DAX solves business questions
Business Question

How can we use intermediate DAX formulas to answer key sales questions like total sales, average sales per region, and sales trends over time?

Sample Data
OrderIDRegionSalesPersonOrderDateSalesAmount
1001EastAlice2024-01-15200
1002WestBob2024-01-20450
1003EastCharlie2024-02-10300
1004NorthDiana2024-02-15150
1005WestEva2024-03-05500
1006SouthFrank2024-03-10350
1007EastAlice2024-03-15400
Dashboard Components
  • Total Sales (KPI Card): Total Sales = SUM(Sales[SalesAmount])
    Shows total sales amount: 2350
  • Average Sales per Region (Table): Average Sales = AVERAGEX(VALUES(Sales[Region]), CALCULATE(SUM(Sales[SalesAmount])))
    Calculates average sales by region:
    East: (200+300+400)=900, West: (450+500)=950, North: 150, South: 350
  • Sales Trend by Month (Line Chart): Sales by Month = CALCULATE(SUM(Sales[SalesAmount]), FILTER(Sales, MONTH(Sales[OrderDate]) = MONTH(EARLIER(Sales[OrderDate]))))
    Shows sales totals for Jan, Feb, Mar 2024:
    Jan: 650, Feb: 450, Mar: 1250
Dashboard Layout
+----------------------+-------------------------+
|      Total Sales      |  Average Sales per Region |
|       (KPI Card)      |          (Table)          |
+----------------------+-------------------------+
|                Sales Trend by Month (Line Chart)               |
+---------------------------------------------------------------+
Interactivity

A slicer for Region filters all components. Selecting a region updates total sales, average sales (shows only that region), and sales trend to reflect only that region's data.

Self Check

If you add a filter selecting Region = East, which components update and what results do they show?

  • Total Sales: Updates to 900 (sum of East sales)
  • Average Sales per Region: Shows only East with 900
  • Sales Trend by Month: Shows sales for East by month: Jan=200, Feb=300, Mar=400
Key Result
Dashboard shows total sales, average sales by region, and monthly sales trends using intermediate DAX formulas.

Practice

(1/5)
1. What is the main reason intermediate DAX helps solve business questions better than basic DAX?
easy
A. It only works with small datasets.
B. It changes the calculation context to focus on specific data.
C. It uses simpler functions that are easier to understand.
D. It avoids using any filters or conditions.

Solution

  1. Step 1: Understand calculation context in DAX

    Intermediate DAX uses functions like CALCULATE to change the context, focusing calculations on specific data subsets.
  2. Step 2: Compare with basic DAX

    Basic DAX performs calculations in the default context without filtering or modifying data focus.
  3. Final Answer:

    It changes the calculation context to focus on specific data. -> Option B
  4. Quick Check:

    Calculation context = focus on data [OK]
Hint: Remember: CALCULATE changes context to answer specific questions [OK]
Common Mistakes:
  • Thinking intermediate DAX is simpler than basic DAX
  • Believing it only works on small data
  • Ignoring the role of filters in calculations
2. Which of the following is the correct syntax to calculate total sales filtered by a specific product category using CALCULATE in DAX?
easy
A. SUM(Sales[Amount]) FILTER Sales[Category] = "Bikes"
B. CALCULATE(SUM(Sales[Amount]), Sales[Category] == "Bikes")
C. CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Category] = "Bikes"))
D. CALCULATE(Sales[Amount], Sales[Category] == "Bikes")

Solution

  1. Step 1: Understand CALCULATE with FILTER

    CALCULATE requires an expression and a filter table; FILTER creates a table filtered by condition.
  2. Step 2: Check syntax correctness

    CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Category] = "Bikes")) correctly uses CALCULATE with SUM and FILTER function with proper syntax.
  3. Final Answer:

    CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Category] = "Bikes")) -> Option C
  4. Quick Check:

    CALCULATE + FILTER = correct syntax [OK]
Hint: Use FILTER inside CALCULATE for complex conditions [OK]
Common Mistakes:
  • Using '==' instead of '=' in DAX
  • Omitting FILTER function when needed
  • Wrong order of arguments in CALCULATE
3. Given the measure:
Total Sales Bikes = CALCULATE(SUM(Sales[Amount]), Sales[Category] = "Bikes")
What will be the result if the Sales table has:
- Bikes sales: 1000
- Accessories sales: 500
- Clothing sales: 300
?
medium
A. 1000
B. 0
C. 500
D. 1800

Solution

  1. Step 1: Understand the filter applied

    The measure filters Sales to only include rows where Category = "Bikes".
  2. Step 2: Sum the filtered sales

    Only Bikes sales (1000) are summed; other categories are excluded.
  3. Final Answer:

    1000 -> Option A
  4. Quick Check:

    Sum filtered by Bikes = 1000 [OK]
Hint: Filter limits sum to Bikes only [OK]
Common Mistakes:
  • Summing all categories ignoring filter
  • Confusing Accessories or Clothing sales as Bikes
  • Assuming filter includes multiple categories
4. You wrote this DAX measure:
Sales Bikes = CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Category] == "Bikes"))
But it returns an error. What is the problem?
medium
A. Using '==' instead of '=' for comparison in DAX.
B. SUM cannot be used inside CALCULATE.
C. FILTER cannot be used inside CALCULATE.
D. Missing quotation marks around Bikes.

Solution

  1. Step 1: Check comparison operator in DAX

    DAX uses single '=' for equality, not '==' like some programming languages.
  2. Step 2: Identify syntax error

    Using '==' causes syntax error; replacing with '=' fixes it.
  3. Final Answer:

    Using '==' instead of '=' for comparison in DAX. -> Option A
  4. Quick Check:

    Use '=' for equality in DAX [OK]
Hint: Use single '=' for comparisons in DAX [OK]
Common Mistakes:
  • Confusing DAX syntax with other languages
  • Thinking FILTER can't be inside CALCULATE
  • Forgetting quotes around text values
5. You want to calculate the percentage growth of sales for the current year compared to the previous year using intermediate DAX. Which approach correctly uses CALCULATE and FILTER to achieve this?
hard
A. Growth % = SUM(Sales[Amount]) - SUM(Sales[Amount])
B. Growth % = SUM(Sales[Amount]) / SUM(Sales[Amount])
C. Growth % = CALCULATE(SUM(Sales[Amount]), Sales[Year] = MAX(Sales[Year]) + 1)
D. Growth % = DIVIDE(SUM(Sales[Amount]) - CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Year] = MAX(Sales[Year]) - 1)), CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Year] = MAX(Sales[Year]) - 1)))

Solution

  1. Step 1: Calculate current and previous year sales

    Use SUM(Sales[Amount]) for current year and CALCULATE with FILTER for previous year sales.
  2. Step 2: Compute percentage growth

    Subtract previous year sales from current year sales, then divide by previous year sales using DIVIDE for safe division.
  3. Final Answer:

    Growth % = DIVIDE(SUM(Sales[Amount]) - CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Year] = MAX(Sales[Year]) - 1)), CALCULATE(SUM(Sales[Amount]), FILTER(Sales, Sales[Year] = MAX(Sales[Year]) - 1))) -> Option D
  4. Quick Check:

    Use CALCULATE + FILTER for previous year, DIVIDE for growth [OK]
Hint: Use CALCULATE with FILTER for previous year sales [OK]
Common Mistakes:
  • Not filtering previous year correctly
  • Dividing by zero without DIVIDE function
  • Using wrong year comparison operators
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