Aglet

Investigate distinct-count logic with identity fixtures

Investigation needs a fixture that makes uniqueness visible at both row and group levels. Start with known identifiers, add repeated appearances and absent keys, then compare the report calculation at each boundary. The output should explain which entity population is counted and where the result diverges.

Build a useful investigation brief

  1. Build identity cases

    Create rows for two unique entities, one entity appearing in two groups, a repeated event for one entity, and a missing identifier. Record the intended treatment of each row and the expected global, grouped, and period counts before querying.

  2. Trace filters and joins

    Run the fixture through each report filter and join path, recording identity values before and after each step. Check whether a join introduces repeated appearances, whether nulls are excluded or grouped, and whether the counting scope resets at a boundary.

  3. Compare promised and observed semantics

    Place the report's wording beside computed global and grouped results. Explain any difference using overlap, identity policy, or population scope. State the first step where the observed count departs from the documented rule and preserve the arithmetic.

What to carry forward

The investigation is complete when the identity fixture reproduces the disputed count and explains global versus grouped totals. If the report definition does not specify null or reused-key treatment, report a semantic gap and avoid selecting a preferred counting rule without an owner decision.

Technical background: Metabase documentation.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow