Vamos a empezar con un ejemplo sencillo de la vida real. Imagina que eres dueño de una cafetería. Cada día vienen clientes, hacen pedidos y tú registras esos datos. Después de un tiempo quieres saber: ¿cuáles bebidas son las más populares? ¿Cuál fue el ticket promedio en los últimos tres meses? ¿Qué días de la semana generan más ingresos?
Estas preguntas son ejemplos de tareas de analítica. La analítica aquí ayuda a convertir "un montón de datos" en información útil. Y trabajar con analítica dentro de las bases de datos no es magia, sino un conjunto de herramientas que te permiten responder a este tipo de preguntas.
La analítica suele resolver tareas como:
- Análisis de métricas clave (por ejemplo, ingresos, ticket promedio, número de pedidos).
- Creación de informes: tablas, gráficos, diagramas.
- Monitoreo de tendencias: cómo cambian los indicadores con el tiempo.
- Comparación de datos (por ejemplo, de una región con otra).
Esto es importante para tomar decisiones de negocio fundamentadas, optimizar procesos o incluso predecir resultados futuros.
El papel de PL/pgSQL en la analítica
Ahora que entendemos para qué sirve la analítica, surge la pregunta: ¿por qué PL/pgSQL es adecuado para esto? ¡Si puedes exportar los datos a Excel y calcularlo ahí! ¿Verdad?
PL/pgSQL permite:
- Automatizar los cálculos. ¿Para qué repetir acciones manualmente si puedes automatizarlas?
- Procesar grandes volúmenes de datos en un solo lado. Generar informes en el servidor elimina la necesidad de transferir grandes cantidades de datos a las aplicaciones cliente.
- Crear consultas potentes con carga mínima. Trabaja rápido y eficientemente con tablas grandes.
Ejemplo: puedes generar automáticamente un informe de ventas cada día y guardarlo en una tabla, para no tener que hacerlo manualmente.
Ventajas de usar procedimientos para automatizar la analítica
El proceso de análisis manual:
- Tomar los datos de las bases de datos.
- Procesarlos en alguna hoja de cálculo.
- Guardar los resultados. Automatización con PL/pgSQL:
- Escribir el procedimiento una vez.
- Ejecutarlo según un horario.
- Disfrutar de los resultados.
Es otro nivel de practicidad, ¿verdad? :)
Ejemplos de tareas resueltas con funciones analíticas
Aquí tienes algunas tareas que puedes resolver usando funciones analíticas. Estos ejemplos te ayudarán a ver que las funciones analíticas no son algo abstracto, sino una herramienta súper útil.
Cálculo de métricas clave
Las métricas clave son indicadores del negocio que ayudan a evaluar su estado. Por ejemplo:
- Ticket promedio: cuánto gasta en promedio un cliente en una compra.
- Cantidad total de pedidos en un periodo determinado.
- Ingresos por ventas según categorías de productos.
Ejemplo de consulta SQL para el ticket promedio:
SELECT
SUM(order_amount) / COUNT(*) AS average_order
FROM
orders
WHERE
order_date > CURRENT_DATE - INTERVAL '3 months';
Construcción de series temporales y tendencias
Supón que quieres saber cómo cambian las ventas por día. Para esto puedes agregar los datos por fecha y construir series temporales.
SELECT
order_date,
SUM(order_amount) AS daily_sales
FROM
orders
GROUP BY
order_date
ORDER BY
order_date;
Comparación de datos por periodos
Ahora imagina que quieres comparar los ingresos de octubre y septiembre:
SELECT
EXTRACT(MONTH FROM order_date) AS month,
SUM(order_amount) AS total_sales
FROM
orders
WHERE
order_date BETWEEN '2023-09-01' AND '2023-10-31'
GROUP BY
EXTRACT(MONTH FROM order_date);
Este enfoque te permite sacar conclusiones: ¿qué cambió entre los meses? ¿Por qué septiembre fue más exitoso? ¿O tal vez fue al revés?
¿Cómo funciona esto en la vida real?
En la práctica real, la analítica se aplica en los siguientes escenarios:
- En marketing: para entender qué canales atraen más clientes.
- En finanzas: para calcular ingresos, pérdidas y hacer previsiones.
- En desarrollo de software: para analizar el rendimiento de las aplicaciones.
- En la industria de videojuegos: para analizar el comportamiento de los usuarios y crear ofertas personalizadas.
Ahora que ya sabes para qué sirven las funciones analíticas, en las próximas lecciones nos meteremos en los aspectos técnicos, como el uso de funciones de ventana y agregados para crear informes. Por ahora, intenta imaginar qué métricas te gustaría analizar y cómo eso podría ayudar a tu proyecto!
GO TO FULL VERSION