Capa semántica
Un único lugar que define las métricas de la empresa, para que todo las calcule igual.
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.
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.