Skip to content

01 Get started

Your first qualification

Start with the offline Sales demonstration and learn why missing evidence must fail.

7 min readReviewed 25 October 2026

Begin with the offline Sales demonstration

Learn what a qualification means before connecting a tenant. This exercise runs from an approved library checkout with Node.js 24 or newer. It makes no Fabric request and needs no Hosted account. If you do not have the core yet, read the access and installation guide first.

The Sales inputs are AdventureWorks-shaped teaching fixtures. They let you follow a source relationship into a dimensional model, then see a gate refuse unsupported claims. A successful exercise establishes that the demonstration behaved as expected. It does not qualify a live customer pipeline.

See a model being built

Run the documented dimensional-model demonstration at the library root:

Model demo · offline
node packages/powerbi/dimensional-model/tests/demo.mjs

The script analyses the order-header and order-line relationship, uses the Sales domain seed, validates a draft contract and performs fixture-only grain ratification. It generates semantic metadata and maps the result. The final checks describe five tables, six relationships and no measures. Temporary artifacts are cleaned up.

Pause at the grain decision. One row per order and one row per order line answer different questions. In a real engagement, an authorised person must confirm which meaning applies. The fixture's ratification demonstrates the protocol; copying its identity or decision into a client project would invent approval.

Watch a gate reject missing evidence

Run the ledger regression exercise:

Ledger regressions
node packages/data/data-ledger/tests/regressions.mjs

One regression copies only Sales proof inputs into temporary space. It deliberately excludes the successful run and retained execution evidence. It uses zero or empty expectations only for this negative fixture, freezes the throwaway inputs and evaluates all 24 required scenarios. Look for the diagnostic below.

Expected output
DEMO init=SPINE_INIT_EXISTS freeze=0 gate=1 evaluated=24 failed-with-reasons=24

The inner gate fails because the required proof is absent. The regression succeeds when it correctly observes that refusal. Never reuse these placeholder expectations as a live Sales oracle, and never turn the regression's successful exit into a live qualification claim.

Explain what each result establishes

ObservationWhat it establishes
Model demo passesThe fixture exercised modelling and generated the expected metadata.
All-red gate refusesMissing execution evidence did not become a pass.
Historical Sales proofA recorded 23-scenario source-entry pass and a separate one-scenario Gold-entry pass. Not this exercise.

A generated notebook does not prove execution. A TMDL file does not prove a deployed model returned the expected value. A captured image does not replace a query comparison. Identify the missing observation precisely: source capture, notebook execution, Gold reconciliation, semantic query or rendered result.

The historical walkthrough's two projects must remain separate in your explanation. Adding their scenario counts does not create a new combined live run. Your current environment still needs its own observations and scope.

Prepare a bounded live qualification

Agree the business question and source query. Independently capture expected values and review their coverage. Freeze the reviewed scenario catalogue, oracle definition and values bindings before acceptance. Ratify the fact grain with the responsible human.

Then use the installed workflow to review each source read, build and deployment action. Record actual producer results through the ledger, retain current evidence and inspect the rendered page separately. Keep private values out of git and training submissions. Continue with qualification and oracles to understand the comparison that makes a result useful.

Your first qualification | Analytical Spine