Why Semantic Layers Matter (and how to build one with DuckDB)