Gotchas
Common pitfalls: inferred joins, automatic grouping, fan-out surprises, primary keys, and time grains.
GROUP BY Is Ignored
Sidemantic derives grouping from selected dimensions. If results look “more aggregated than expected”, check the dimensions in SELECT. See How Sidemantic Works.
No JOIN Keyword
Joins are inferred. If a field from another model doesn’t appear, it usually means:
- the relationship is missing, or
- the join path is ambiguous, or
- keys are misdeclared.
Fan-out Surprises
Including one-to-many dimensions changes the query grain. If you’re validating a metric total, start with no fan-out dimensions and add them carefully. See Fan-out & Symmetric Aggregates.
Missing Primary Keys
Primary keys are required for:
- join planning
- correctness protections in fan-out joins
Time Grain Suffixes
Time suffixes like __month are not “free columns”; they’re semantic time rollups. If you don’t see expected bucket boundaries, confirm the base time dimension type/granularity.