🎯 Definicja
Warstwa Semantyczna to tłumacz między Bazą Danych (technicznym SQL-em) a Biznesem (pojęciami typu “Klient”, “Sprzedaż”).
Zamiast kazać dyrektorowi pisać SELECT sum(amt) FROM t_orders WHERE dt > now(), dajesz mu pole “Dzisiejsza Sprzedaż”.
Warstwa Semantyczna ukrywa skomplikowane złączenia (JOINs) i nazwy tabel.
🔑 Kluczowe punkty
- Abstrakcja: Ukrywa brudy inżynierii danych.
- Kontekst: Nadaje danym znaczenie biznesowe (Semantykę).
- Relacje: Wie, że “Klient” ma “Zamówienia”, a “Zamówienie” ma “Produkty”.
📚 Szczegółowe wyjaśnienie
Warstwa Semantyczna zawiera Measure Layer. Jest szerszym pojęciem. Obejmuje:
- Metryki (Liczby).
- Wymiary (Cechy - np. Kolor, Region).
- Relacje (Złączenia między tabelami).
- Uprawnienia (Kto widzi co).
💡 Przykład zastosowania
Bez warstwy: Analityk musi wiedzieć, że pole usr_crt_dt w tabeli T05_PROD to data założenia konta.
Z warstwą: Analityk widzi obiekt User i pole Created Date.
Systemy takie jak Looker (LookML) czy AtScale budują potężne warstwy semantyczne, dzięki którym użytkownicy mogą budować własne raporty (Self-Service) bez znajomości SQL, po prostu przeciągając kafelki.
📌 Źródła
- dbt Semantic Layer docs.
👽 Brudnopis
- To powrót do korzeni BI (Business Objects, Cognos miały to od lat 90.), ale w nowej, kodowanej wersji (Metrics-as-Code).