Grain defines what one row in your fact table represents.
Examples:
- Order grain: One row per order
- Order line grain: One row per item in order
- Daily grain: One row per customer per day
Why grain matters:
- Determines what questions you can answer
- Affects storage and query performance
- Mismatched grains cause calculation errors
Interview approach: Always state the grain first when designing. "Each row represents one user action" or "Each row represents one day of inventory."
Common mistake: Mixing grains in one table.