Hoy quisiera compartir con vosotros la solución a un pequeño "problema", se me pedía obtener una representación gráfica, con los accesos que se producen cada hora a la biblioteca, la idea es obtener un gráfico como el siguiente:
La "dificultad" estriba en cómo conseguir cargar la lista asociada de modo que contenga una sola fila, donde cada columna, toma su nombre de la fecha y hora, junto con su correspondiente valor. Los datos están recogidos en una tabla de Oracle. El código que da origen al gráfico mostrado es el siguiente:
Do iListaHora.$add()
Do tSQL.$execdirect("select to_char(TH_FECHAHORA,'YYYY-MM-DD HH24'),count(*) from TORNO_HISTORICO group by to_char(TH_FECHAHORA,'YYYY-MM-DD HH24') order by to_char(TH_FECHAHORA,'YYYY-MM-DD HH24') DESC") Returns #F
If flag true
Do tSQL.$fetchinto(iFechaHora,iCuenta) Returns lEstado
While lEstado=kFetchOk
Do iListaHora.$cols.$add(iFechaHora,kNumber,k0dp)
Calculate iListaHora(iFechaHora,1) as iCuenta
Do tSQL.$fetchinto(iFechaHora,iCuenta) Returns lEstado
End While
End If
La notación "iListaHora.$cols.$add(iFechaHora,kNumber,k0dp)" permite ir añadiendo una nueva columna numérica por cada hora localizada en la tabla y para añadir su valor se usa el comando "Calculate iListaHora(iFechaHora,1) as iCuenta", y eso es todo, sencillo y efectivo.