Reviewed by Aditya Kumar · Last reviewed 2026-03-24
**Fact properties**: Additive/semi-additive measures; clear grain; FKs to dims; time-series; often partitioned. **Dimension properties**: Descriptive; SCD Type 1 or 2; role-playing (same dim, different roles). **Grain is critical**: One row per order vs. per line-item =...
Fact properties: Additive/semi-additive measures; clear grain; FKs to dims; time-series; often partitioned. Dimension properties: Descriptive; SCD Type 1 or 2; role-playing (same dim, different roles). Grain is critical: One row per order vs. per line-item = different measures. Trade-off: Mixed grain in one fact = wrong aggregations. Role-playing dim_date for order_date, ship_date avoids duplicate dimension tables.
Red Flag: Unclear fact grain—leads to double-counting. Pro-Move: 'We documented grain in dbt: one row per order_line per day—validates against source and prevents incorrect rollups.'
According to DataEngPrep.tech, this is one of the most frequently asked SQL interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.