Ir al contenido principal

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

Entradas más populares de este blog

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Ejemplo Python para leer imagen y transformarla en una matriz

Como hemos visto en otros post, Python nos permite hacer programas de manera más rápida, en esta ocasión quiero compartirles un ejemplo para leer un archivo de imagen y como convertirlo en una matriz o un arreglo. Aplicaciones Poder hacer ingeniería de datos, es decir poder convertir una misma imagen en diferentes todos y utilizarlos para machine learning para reconocimiento de gatos, para ello hay que mostrar muchas imágenes a nuestro modelo es decir entrenarlo, para ello hay que colocarle imágenes claras y imagenes que no sean tan claras por ejemplo, se pone la imagen original y se agrega "ruido" para que se vea en rojos, grises, verdes. Se pudo utilizar para un mapa , para poder ver datos a detalle Se puede aplicar para manipular imágenes, por ejemplo agregar efectos  Seguramente a ustedes se les pueden ocurrir más aplicaciones Les comparto el ejemplo de como hacerlo en Jupiter y para hacer el ejemplo voy a utilizar el logo del blog es una imagen de 500x500 pixeles Los Pas