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.
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
Comentarios
Publicar un comentario