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.