Modélisation
Le grain d'une table de faits
Ce que représente une ligne d'une table de faits. À décider en premier.
Choisissez le grain le plus fin de la source (une ligne de commande, un événement) : on peut agréger, jamais détailler. Chaque mesure doit être vraie à ce grain ; une mesure d'un autre grain va dans une autre table de faits.
SELECT COUNT(*) AS row_count,
COUNT(DISTINCT order_id) AS orders,
COUNT(DISTINCT order_id || '-' || line_no) AS order_lines
FROM order_lines;
| row_count | orders | order_lines |
|---|---|---|
| 5473 | 2500 | 5473 |