63 📊 Analytics: Generando Gráfico de Usuarios Registrados Mensualmente con DB Raw y ApexCharts
Duración: 12 min
Módulo: 📊 Análisis de Datos, Despliegue y Conclusión 62-68
Lección 2 de
7
Descripción
Lección 63: 📊 Análisis de Datos | Generando Gráfico de Usuarios Registrados Mensualmente con DB Raw y ApexCharts
Esta lección pone en práctica la librería ApexCharts instalada previamente, creando un gráfico dinámico que muestra el registro de clientes mes a mes, utilizando consultas directas a la base de datos de Laravel.
1. ⚙️ Preparación de la Consulta SQL Dinámica
El primer paso es construir una consulta que agrupe la información de los clientes por mes:
- Consulta Agregada con DB::raw() 📝: En el controlador administrativo (AdminController), se utiliza el facade DB (Database) con la función raw para:
- Extraer el número del mes de la columna created_at (alias mes).
- Contabilizar el número de registros en ese mes (alias total).
- Agrupación y Conversión 🔄: La consulta se agrupa por mes (groupBy('mes')) y se ordena (orderBy('mes')) para obtener un array que relaciona el número de mes con la cantidad de usuarios registrados en ese mes [04:40].
2. 🗃️ Normalización y Preparación de Datos Mensuales
Para que el gráfico cubra los 12 meses del año (incluso si no hay registros), los datos deben ser normalizados:
- Bucle de 12 Meses 🗓️: Se recorre un array de 12 posiciones (de 1 a 12) para cada mes del año [07:27].
- Asignación de Totales: Se recorre el array de la base de datos y se asigna el total de usuarios a su respectivo mes. Si un mes no tiene registros, se le asigna automáticamente un valor de 0, asegurando que el gráfico muestre una línea continua [07:18].
- Envío a la Vista: Este array normalizado y listo (usuarios_data) se envía a la vista principal del dashboard (index.blade.php) [09:07].
3. 📈 Renderizado Dinámico con ApexCharts
En la vista, se ajusta el código de ApexCharts para consumir los datos normalizados:
- Etiquetas de Meses 🏷️: Se establecen las etiquetas de los 12 meses (ej. Ene, Feb, Mar...) en el eje X (categories) [02:13].
- Inyección de Datos 💻:
- Gráfico Finalizado ⭐: El gráfico se renderiza mostrando la cantidad real de clientes registrados por mes, actualizándose inmediatamente cada vez que un nuevo cliente se registra en el e-commerce [11:39].
Lecciones
🚀 Configuración Inicial y Sistema de Administración 1-6
🛡️ Roles, Permisos y Gestión de Usuarios (Spatie) 7-16
Lección 4. 10 ⚙️ CRUD Completo de Roles | Spatie Roles & Permisos | Ecommerce Laravel 12 FullStack
25 min
Lección 6. 12 🔐 Ajustes en el Login y Seeder de Usuarios | Sistema Ecommerce Laravel 12 FullStack
40 min
Lección 8. 14 🔍 Buscador y Detalle de Usuarios (Acción Show) | Ecommerce Laravel 12 FullStack
32 min
📦 Módulos Esenciales (Categorías y Productos) 17-24
🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33
Lección 4. 28 🛒 Vista Show Dinámica del Producto | Descripción y Datos Relacionados | Laravel 12
15 min
💳 Carrito, Checkout y Pasarela de Pagos 34-42
Lección 4. 37 💳 PASARELA DE PAGOS PayPal | Integración y Lógica de Checkout en Laravel 12 E-commerce
27 min
Lección 5. 38 ✅ PAGO COMPLETADO y REGISTRO de Pedido | Lógica Final de Venta con PayPal y Laravel 12
11 min
⚙️ Gestión de Órdenes, Perfiles y Características Avanzadas 43-61
Lección 5. 47 🔗 BUSCADOR AVANZADO: Filtrando Tablas Relacionadas con WHERE HAS y Joins en Laravel 12
10 min
📊 Análisis de Datos, Despliegue y Conclusión 62-68
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️