Dashboard de Fórmula 1: Ranking de Pilotos y Equipos por Temporada

Imagen
  Dashboard de Fórmula 1 con JavaScript y API-FORMULA-1 Si estás buscando una forma sencilla de visualizar resultados de Fórmula 1 en una página web, en este artículo te mostraré cómo construir un dashboard interactivo utilizando HTML, CSS, JavaScript y la API-FORMULA-1 de API-SPORTS. El resultado es una aplicación web que permite consultar el ranking de pilotos y equipos por temporada, mostrando los datos obtenidos en tiempo real desde una API REST. ¿Qué muestra el dashboard? La aplicación permite: Seleccionar una temporada entre 2019 y 2026. Consultar la clasificación de pilotos. Consultar la clasificación de constructores. Visualizar los puntos acumulados por cada piloto y equipo. Mostrar imágenes de pilotos y logotipos de escuderías. Toda la información se obtiene dinámicamente desde la API-FORMULA-1, evitando la necesidad de almacenar datos localmente. API utilizada Para este proyecto se utiliza la API-FORMULA-1 de API-SPORTS disponible a través de RapidAPI. La documentación o...

Progress 4gl función ACCUM, SQL función SUM

Hola amigos programadores, esta semana les quiero platicar acerca de una función en lenguaje Progress 4gl que es ACCUM, esta función es un similar a SUM de SQL. Lo que hacen ambas funciones es consolidar la suma de un campo que cumpla ciertas características.


Por ejemplo si quieren saber el total de Venta facturada por un cliente, la sentencia en SQL es:




SELECT SUM(ih_invoicetotal) , ih_bill                                           
 FROM ih_hist                                                                   
 WHERE ih_domain = 'dominio'                                                    
 AND YEAR(ih_inv_date) =  2019                                                  
 GROUP BY  ih_bill   
 

El mismo ejemplo pero con sentencia de Progress 4gl es:





FOR EACH ih_hist WHERE ih_domain = 'dominio'
                               AND YEAR(ih_inv_date) = 2019      NO-LOCK                                                   BREAK BY ih_bill:                                                           
ACCUMULATE ih_invoicetotal (TOTAL BY ih_bill).                                  
IF LAST-OF(ih_hist.ih_bill) THEN                                          
   DISPLAY  ACCUM TOTAL BY ih_bil ih_invoicetotal ih_bill.                                                            
END.                                               

Como se ve en las imágenes el resultado es el mismo. Las funciones que utilizamos de Progress fueron:

  • ACCUMULATE : Esta opción nos permite ir sumando o accumulando el valor de una variable de nuestra tabla

https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/accum-function.html                                   

  • TOTAL BY:  Nos indica porque campo vamos a consolidar o agrupar el total, ademas del total, también puede utilizarse  AVERAGE, COUNT, MAXIMUM,MINIMUM,
  • ACCUM TOTAL BY: Para poder mostrar el total en pantalla utilizamos esta sentencia
  • LAST-OF: Indicamos al query que cuanto termine de recorrer todos los registros que coincidan con un tipo se detenga, también existe la opción de FIRST-OF 


  • BREAK BY: Le decimos al query que vaya buscando y agrupando por un campo en la tabla de  nuestra base de datos


Como anecdota cuando yo comencé aprender Progress, buscaba como hacer las consultas en SQL pero en Progress, esto para entender la lógica primero antes de programarlo, ahora pienso la lógica independientemente del lenguaje de programación que es como debería de ser cuando programamos primero pensar el algoritmo y luego traducirlo a un lenguaje de programación.

No olvide compartirnos y seguirnos en este blog o en Facebook.

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)