# Capa semántica

> Un único lugar que define las métricas de la empresa, para que todo las calcule igual.

- Nivel: Avanzado
- Temas: Datos
- URL: https://tidbit.legios.com.ar/es/semantic-layer/
- En inglés: [Semantic layer](https://tidbit.legios.com.ar/semantic-layer/)

Una **capa semántica** (semantic layer) se ubica entre las tablas crudas de un data warehouse y las herramientas que la gente usa para hacer preguntas. Ahí el equipo de datos define una sola vez, en código, los conceptos del negocio: qué es "facturación" (¿neta de devoluciones?, ¿con impuestos?), qué es un "cliente activo", cómo se cruzan las tablas, en qué huso horario se cuenta un "día". Después, los tableros, las planillas y otras herramientas piden `revenue by month` y la capa escribe el SQL correcto por ellos.

El problema que resuelve es dolorosamente común: el tablero de marketing dice 12.400 clientes activos, la planilla de finanzas dice 11.900, y los dos tienen "razón" porque cada uno metió su propia definición en su propia herramienta. Cuando la lógica vive en una sola capa en lugar de copiarse en cada reporte, una definición se cambia en un lugar y todos los que la usan reciben la versión nueva. Es la misma idea que una función en programación: escribís la regla una vez y la llamás desde todos lados.

Algunos ejemplos son el dbt Semantic Layer, Cube, LookML en Looker y AtScale. Con la IA ganó importancia: cuando un modelo de lenguaje responde "¿cómo le fue a la facturación el último trimestre?", apuntarlo a métricas bien definidas es mucho más confiable que dejar que adivine cruces y filtros entre cientos de tablas crudas. Suele ir de la mano del gobierno de datos, porque es donde queda escrito el significado oficial de cada número.

## Una analogía

El diccionario oficial de un idioma. Sin él, cada pueblo termina usando "merienda" o "cena" para cosas un poco distintas; con él, todos consultan la misma definición, y las discusiones son sobre los hechos y no sobre las palabras.

## Para quedarse

- Define métricas, dimensiones y cruces una sola vez, en código, entre el warehouse y las herramientas.
- Termina con el problema de "¿por qué estos dos tableros no coinciden?".
- Las herramientas piden una métrica por nombre y la capa genera el SQL.
- Les da a los asistentes de IA un vocabulario confiable en lugar de tablas crudas.

## Para seguir leyendo

- [Semantic layer en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Semantic_layer)
- [dbt Semantic Layer (documentación oficial, en inglés)](https://docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl)

## Términos relacionados

- [Data warehouse](https://tidbit.legios.com.ar/es/data-warehouse/): Una base hecha para analizar: años de historia, de muchas fuentes, en un solo lugar.
- [Planilla vs base de datos](https://tidbit.legios.com.ar/es/spreadsheet-vs-database/): Por qué una empresa que vive en Excel termina necesitando una base de datos de verdad.
- [SQL](https://tidbit.legios.com.ar/es/sql/): El lenguaje para hacerle preguntas a una base de datos.
- [Inteligencia artificial](https://tidbit.legios.com.ar/es/artificial-intelligence/): Lograr que las computadoras hagan cosas que hasta hace poco solo hacía la gente.
- [LLM](https://tidbit.legios.com.ar/es/llm/): Una red neuronal entrenada con muchísimo texto para predecir la próxima palabra.
- [Gobierno de datos](https://tidbit.legios.com.ar/es/data-governance/): Las reglas y roles que deciden de quién son los datos, quién los usa y cómo se cuidan.
