Indicador
Ingresos
Una sola definición para toda la cafetería:
quantity * unit_price de las líneas de pedido, excluidos los pedidos cancelados.SELECT SUM(l.quantity * l.unit_price) AS revenue
FROM orders o
JOIN order_lines l ON l.order_id = o.order_id
WHERE o.status <> 'cancelled'
Son los ingresos pedidos: cuentan los pedidos pendientes y pagados, no los cancelados. El dinero cobrado es
otra métrica, que se lee en payments. Todos los pasos que dicen «ingresos» usan esta definición. Cuando dos informes
no coinciden, compare sus definiciones antes que su SQL. Escriba una métrica una sola vez, en un solo lugar (una vista, un modelo dbt, una
capa semántica), y reutilícela.
SELECT EXTRACT(YEAR FROM o.ordered_at) AS year,
SUM(l.quantity * l.unit_price) AS revenue
FROM orders o
JOIN order_lines l ON l.order_id = o.order_id
WHERE o.status <> 'cancelled'
GROUP BY 1
ORDER BY 1;
| year | revenue |
|---|---|
| 2024 | 81511.00 |
| 2025 | 78934.40 |