Compose time and daily currency calculations

A hands-on PL-300 lab. You produce the real artefact and 9 automated checks verify it behaves the way the exam expects.

Try this labAll PL-300 practice

Certification
PL-300
Format
Structured configuration
Difficulty
hard
Estimated time
35 min
Automated checks
9

The brief

Edit calculation.groups.json. Keep both declared groups and all items; assign distinct integer precedence 0..1000. Item expression and formatExpression are bounded DAX strings. Time Current preserves the selected dates; YTD uses calendar-year dates through the latest selected date. Currency Native preserves native values; Converted applies each date's positive daily rate only to Revenue and only for one selected currency, otherwise returning the native base. Preserve Region. OrderCount receives Current/YTD but no rate division. Keep numeric output numeric, and let the highest-precedence format choose the reporting currency only for converted monetary values; preserve native dollars and count formats otherwise. Supported numeric functions are SELECTEDMEASURE, supplied SUM/COUNTROWS, CALCULATE with DATESYTD(Calendar[Date]) or supplied nondate fact-column REMOVEFILTERS, DIVIDE with optional integer alternate, MAX(Rates[Rate]), one SUMX over VALUES(Calendar[Date]) or Sales, and LOOKUPVALUE with the complete Rates.Date/Code pair. Use explicit CALCULATE when SELECTEDMEASURE appears inside the date iterator. Guards use IF, HASONEVALUE(Currency[Code]), ISSELECTEDMEASURE([Revenue]) and ISBLANK(numeric expression). Format expressions support literal text, SELECTEDVALUE on Currency or the declared group Item column, one-case SWITCH, and SELECTEDMEASUREFORMATSTRING. Other DAX is rejected. Inspect composition, actual facts and rate keys; repair without Reset.

What the checks verify

Your work is graded on 9 independent properties, not on matching one reference answer.

  • Compile the supplied groups, expressions and distinct precedence values.
  • Current and YTD native values use the correct fact identities and exclude the other calendar year.
  • Current conversion uses each contributing date's own rate rather than the period maximum.
  • YTD expands the date population before daily conversion in each selected currency.
  • A changed region retains only its own YTD conversion contributions.
  • OrderCount receives the time transformation but never divides by exchange rates.
  • Multiple or empty currency selections retain native revenue instead of choosing an arbitrary rate.
  • The highest-precedence format respects the selected currency item, currency cardinality and monetary/count measure type.
  • A genuine zero fact retains its identity, while absent facts or dates return BLANK.

Where this sits in the PL-300 blueprint

Domain
Model the Data
Objective
Create Model Calculations by Using DAX
Skill
Calculation Groups

Part of PL-300 preparation

Labs are written by ExamNova to teach the decisions the exam tests. They are not reproductions of vendor lab content.