Construir informes de pagos e inventario
Objetivos
Al terminar podrás ejecutar y exportar las tres métricas centrales del proyecto con su grano documentado.
Concepto
El paquete del proyecto contiene tres consultas de informe. Una agrupa por mes; otra une payment con staff para agrupar por tienda principal asignada; la tercera recorre category, film_category, film e inventory.
El informe de categorías cuenta títulos y copias con identificadores distintos. Esto evita que las copias repitan el mismo título en el conteo. Ejecuta cada archivo tal como está y compara sus encabezados con el README antes de exportar.
Ejemplo
El archivo 01_monthly_payments.sql sigue este patrón:
SELECT
DATE_FORMAT(payment_date, '%Y-%m') AS payment_month,
COUNT(*) AS payment_count,
COUNT(DISTINCT customer_id) AS paying_customer_count,
ROUND(SUM(amount), 2) AS total_amount
FROM sakila.payment
GROUP BY DATE_FORMAT(payment_date, '%Y-%m')
ORDER BY payment_month;El informe devuelve una fila por mes observado. Ejecuta también los archivos 02_payments_by_staff_store.sql y 03_inventory_by_category.sql; no interpretes la tienda asignada como ubicación física del pago.
Práctica guiada
- Ejecuta cada archivo en la misma instancia y registra la versión de MySQL.
- Confirma que los encabezados y el grano coinciden con la tabla del README.
- Exporta cada resultado a UTF-8 sin añadir columnas personales.
Reto
Sin cambiar las consultas del paquete, describe en qué archivo buscarías la medida que respalda una pregunta mensual, una pregunta de personal asignado y una pregunta de inventario.
Quiz
¿Qué significa una fila de 02_payments_by_staff_store.csv?
- A. Un pago hecho físicamente en esa tienda.
- B. El resumen de pagos procesados por personal asignado a esa tienda.
- C. Una copia de inventario.
Respuesta: B. staff.store_id describe la asignación principal del personal, no la ubicación física de la transacción.
Comprobación
Ya construiste los informes. La siguiente lección comprueba claves y totales antes de convertirlos en conclusiones.