Power BI Intermediate Lesson 5: Variables, DIVIDE and Readable DAX

Power BI Intermediate Lesson 5: Variables, DIVIDE and Readable DAX 1

πŸ“Ž This article includes 3 downloadable practice files ↓

⏱ 2 min read

πŸ“˜ Power BI Intermediate Course Β· Lesson 5 of 10

Advertisement
In this article
  1. Why variables
  2. DIVIDE, not /
  3. Practice
List Value  = SUMX ( Sales, Sales[Qty] * RELATED ( Products[Price] ) )

Discount Rs =
VAR ListValue = [List Value]
VAR Sold      = SUM ( Sales[Amount] )
RETURN ListValue - Sold

Discount %  = DIVIDE ( [Discount Rs], [List Value] )

Practice model: 700 orders, 275 sold below list price, β‚Ή8,42,138 discount in total (2.91%).

Why variables

  • Readable: each step has a name.
  • Faster: a variable is calculated once, even if used three times.
  • Debuggable: temporarily RETURN ListValue to see an intermediate value in a card.
  • Correct context: a variable is evaluated where it’s defined, which is how “growth vs last year” keeps the current value fixed.

DIVIDE, not /

DIVIDE(a, b) returns blank when b is 0 or blank, so a region with no sales last year shows an empty cell instead of an error or infinity. Add a third argument for a different fallback: DIVIDE(a, b, 0).

πŸ’‘ Format DAX with daxformatter.com (free) before sharing a model. Indented measures save every future reader time.

Practice

Import pbi-intermediate-model.xlsx into Power BI Desktop (free), create the relationships listed at the top of the .dax file, mark the Date table as a date table and add this lesson’s measures. Compare your card and table values with the lesson’s sheet in the expected-results file. Those numbers were worked out independently in Python from the same data, so a mismatch means a filter or relationship to check.

πŸ“Ž Practice files for this article

⬇ Download all 3 files (ZIP Β· 61 KB)

  • πŸ“—
    Practice model (Excel)Two years of sales (700 orders, FY 2024-25 and 2025-26) with Customers, Products, a full Date table, Targets and RegionUsers.
    ⬇ XLSX Β· 63 KB
  • πŸ“„
    Lesson 5 measures (.dax)Every measure from this lesson, ready to paste into Power BI Desktop.
    ⬇ DAX Β· 999 B
  • πŸ“—
    Expected resultsThe numbers your measures should show, one sheet per lesson.
    ⬇ XLSX Β· 11 KB

Free to use for learning. Files with macros (.bas) are plain text β€” import them with Alt+F11 β†’ File β†’ Import File, and always test on a copy.

✨ Ask AI about this article

Stuck on a step? Ask a question and the AI answers using this article.

Free Β· AI can be wrong