SQL Dojo Beta
Kennzahl

Umsatz

Eine Definition für den ganzen Coffee Shop: quantity * unit_price der Bestellpositionen, stornierte Bestellungen ausgenommen.
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'

Das ist der bestellte Umsatz: Offene und bezahlte Bestellungen zählen, stornierte nicht. Das eingenommene Geld ist eine andere Kennzahl, aus payments gelesen. Jeder Schritt, der „Umsatz“ sagt, verwendet diese Definition. Wenn zwei Berichte sich widersprechen, vergleichen Sie ihre Definitionen vor ihrem SQL. Schreiben Sie eine Kennzahl einmal, an einer Stelle (eine View, ein dbt-Modell, ein Semantic Layer), und verwenden Sie sie wieder.

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;
yearrevenue
202481511.00
202578934.40
In Randori ausprobieren