Preserve recent sales while reducing source transfer

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
medium
Estimated time
30 min
Automated checks
9

The brief

Edit folding.plan.json with one steps array. Operations: filter has column, comparison eq/gte/lte/gt/lt, and a typed value or {parameter:window_start}; select has a distinct columns array; sort has by records with column and direction asc/desc; take and tail have nonnegative integer count; bucket has rule amount_band; buffer has only op. The source can fold filter, select, sort and take until the first local operation; no later step is folded by this stated contract. Keep active rows with posted_day>=each window_start, then choose exactly the latest two by posted_day descending and sale_id descending (or all eligible rows if fewer than two). Use amount_band to create band: large if amount>=100, otherwise small. Return sale_id, amount, band, with row order unrestricted. No private_note or status may cross into local processing. At most four rows may cross; each local operation costs its input row count, with total at most ten per case. Supported strategies include descending source top-N and ascending source order with local tail. Run tests, inspect the actual source SQL, phase trace and returned data, and repair without Reset.

What the checks verify

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

  • The artifact uses only the typed supported transformation grammar.
  • Return sale_id, amount, band in exactly that order.
  • Reject cancelled sales and sales earlier than each supplied window_start.
  • Choose the latest two eligible rows by posted_day descending then sale_id descending.
  • Derive large for amount >=100 and small otherwise using the immutable amount_band rule.
  • Reconcile unfamiliar sale IDs, changed window parameters, no eligible rows and an empty source.
  • Transfer only sale_id, posted_day and amount into local processing.
  • Transfer no more than four rows for any supplied source population.
  • Process no more than ten input rows in total across local operations for each case.

Where this sits in the PL-300 blueprint

Domain
Prepare the Data
Objective
Transform and Load the Data
Skill
Query Dependencies and Loading

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.