dbt: Macros y Jinja (Programación en SQL)
Autor: Eduardo Martínez Agrelo
El SQL tradicional es estático y repetitivo. dbt soluciona esto integrando Jinja, un motor de plantillas que nos permite usar lógica de programación (bucles, condicionales y funciones) dentro de nuestras consultas.
¿Qué es una Macro?
Las Macros son funciones reutilizables que puedes invocar en cualquier modelo. Si necesitas convertir céntimos a dólares o calcular impuestos en múltiples tablas, escribes la lógica una vez y la usas siempre:
{{ cents_to_dollars('amount') }}
El principio DRY
Don't Repeat Yourself (DRY) es la máxima de la ingeniería de software. En este laboratorio, crearemos macros para automatizar limpiezas de strings y conversiones de moneda, reduciendo el mantenimiento de nuestro proyecto y minimizando errores humanos.
Conclusión: SQL supervitaminado
Ahora tu SQL es dinámico. Puedes generar columnas de forma programática y reutilizar lógica. En el próximo laboratorio, veremos cómo usar macros creadas por la comunidad mediante paquetes externos.