Modellazione
La granularità di una tabella dei fatti
Che cosa rappresenta una riga di una tabella dei fatti: decidilo per primo.
Scegli la granularità più fine offerta dalla sorgente (una riga d'ordine, un evento): puoi aggregare verso l'alto, mai verso il basso. Ogni misura deve essere vera a quella granularità; una misura a un'altra granularità va in un'altra tabella dei fatti.
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 |