-
-
Notifications
You must be signed in to change notification settings - Fork 1
Función para medir un indicador
En la versión 1.0b3 de cor1440_gen la función para medir un indicador debe especificarse en ruby. Un ejemplo simple es la función que mide indicadores de tipo 1 (cuenta actividades):
def medir_indicador_res_tipo_1(idacs, mind, fini, ffin)
return {resind: idacs.count, datosint: []}
end
Note que recibe 4 parámetros:
-
idacs
que es un listado con las identificaciones de las actividades que le aportan al indicador (por tener alguna de las actividades de marco lógico especificadas en la medición) -
mind
ObjetoCor1440Gen::Mindicadorpf
de la medición que se está haciendo. -
fini
con la fecha inicial de la medición -
ffin
con la fecha final de medición
La función retorna un diccionario con 2 valores:
-
resind
con el resultado de la medición del indicador (la evidencia son las actividades que aportaron al indicador). -
datosint
con resultados intermedios de la medición con posibles evidencias de los mismos. Se trata de un vector en el que cada posición es a su vez un diccionario con 2 valores:valor
con el resultado intermedio yrutaevidencia
con URL a una evidencia de la medición.
La especificación de estas funciones en ruby es simple una vez se conoce ruby y la estructura de la base de datos especialmente alrededor de la tabla cor1440_gen_actividad
.
Nos gustaría que los usuarios finales pudieran especificar una función de medición de una manera más directa, al menos para más casos de los que ahora se manejan, pero en un lenguaje simple y preferiblemente gráfico.
Se examina la posibilidad de OLAP (Online analytical processing) que inicialmente busca agilizar la consulta de grandes volumenes de información, reorganizandola en cubos multidimensionales. Los motores de fuentes abiertas que encontramos son:
- Clickhouse
- Druid
- Kylin
- Mondrian implementado en Java Hay una comparación de estos y otras herramientas OLAP de fuentes cerradas en https://en.wikipedia.org/wiki/Comparison_of_OLAP_servers.
El lenguaje más estandarizado para OLAP es MDX, propuesto por Microsoft, su sintaxis se describe en https://docs.microsoft.com/en-us/sql/mdx/multidimensional-expressions-mdx-reference?view=sql-server-ver15
Para Ruby encontramos:
Exploramos más el caso de active_reporting en la rama arep
de cor1440_gen.
Suponemos que la tabla de hechos es la tabla actividad.