Estadísticas

From ABCD Wiki
Jump to: navigation, search

El módulo de estadísticas tiene por objetivo obtener cruces en la forma de tablas de contingencia (dos variables) o de frecuencia (1 variable) a partir de cualquier base de datos. Para ello se requiere:

  1. Definir las variables que intervienen en los cruces
  2. Definir los cruces de variables (tablas) donde se muestra la cuenta de las registros que tienen los valores correspondientes en al cruce filas/columnas

Opcionalmente:

  1. Definir procesos que engloben varias de las tablas definidas
  2. Definir un proceso global contentivo de un proceso de cada base de datos cuyas tablas deseamos sean emitidas conjuntamente.

Estas dos ultimas opciones facilitan la obtención de resultados ya que en vez de seleccionar tabla por tabla seleccionamos un proceso que no es otra cosa que grupo de tablas que se emiten en forma conjunta

En forma esquemática las estadísticas funcionan de la siguiente manera

Para cada base de datos Con las bases de datos seleccionadas

Proceso Global

Variables Tablas Procesos
Definir Variables (stats.cfg) Definir tablas colocando en filas y columnas las variables definidas (tabs.cfg) Construir procesos que apunten a una o más tablas definidas (proc.cfg) Seleccionar de la lista de procesos de cada base de datos aquel que se emitirá como proceso global. Esto permitirá generar tablas estadísticas para varias bases de datos con solo seleccionar el proceso global (proc_gen.cfg)
Definir tablas con un formato de extracción para identificar filas y columnas (tables.cfg)

Las estadísticas se basan en la extracción de valores de la base de datos para definir su cruce en las filas y/o columnas de una tabla. Por ejemplo, si desea realizar una estadística que coloque en las filas la fecha de préstamo y en las columnas el tipo de usuario deberá definir una variable para extraer la fecha de préstamo (v30) y otra para extraer el tipo de usuario (v70). Para definir las variables que se van a utilizar para los cruces o tablas de frecuencia use Estadísticas -> Configuración de las estadísticas -> Definición de variables.

Luego de que las variables están definidas puede entonces definir los cruces entre ellas para obtener tablas estadísticas.

También puede definir una tabla a través de un formato de extracción identificando la variable a colocar en las filas y la variable a colocar en las columnas. Esta forma de definición de una tabla a través de un formato es indispensable cuando las variables se extraen de un campo repetible, como por ejemplo: un cuadro sobre la producción de los operadores por fecha. Para la definición de tablas use Estadísticas -> Configuración de las estadísticas -> Lista de tablas, para definir una tabla utilizando las variables ya definidas o Estadísticas -> Configuración de las estadísticas -> Definir filas y columnas en una PFT para definir una tabla a través de un formato de extracción.

Definidas las tablas puede proceder a agruparlas en forma de procesos, esto es, seleccionar varias tablas que se emitirán conjuntamente al solicitar el proceso.

Definidos los procesos puede entonces construirse un proceso global, esto es, incluir en un solo lote un proceso de cada base de datos, cuyas tablas deban emitirse conjuntamente al seleccionar el proceso global.

Otro dato requerido para la generación de las estadísticas es el prefijo que se utilizará para extraer los datos por fecha. Si una variable de la base de datos contiene una fecha que requiera ser recuperada en la emisión de estadísticas, esta variable deberá indizarse utilizando el Prefijo para la búsqueda por fecha.

Para cada base de datos

Definición de variables

Se requieren los siguientes datos:

  • Nombre de la variable
  • Formato de extracción (Pft)
  • Identificar si la variable corresponde a un campo de fecha

El nombre de la variable es la identificación que se utilizará para incluirla en los cruces que se definan posteriormente. El Formato de extracción corresponde a la PFT a aplicar sobre la base de datos para obtener el valor correspondiente. Si una variable se identifica como campo de fecha, al solicitar una estadística por fecha el valor extraido será comparado con la fecha solicitada para filtrar los resultados. Esto es necesario ya que la fecha se recupera a través de un prefijo bajo el cual pueden estar indizadas fechas provenientes de diferentes campos.

Ejemplo de variables a extraer desde la base de datos de transacciones: (http://abcdwiki.net/wiki/es/index.php?title=Trans)

Nombre de la variable Formato de extracción
Tipo de objeto v80
Tipo de usuario v70
Fecha de préstamo v30
Fecha de devolución (programada) v40
Fecha de devolución (real) v500
Año y Mes de préstamo v30.6
Título ref([v98]l(['v98']'NI_'v10),v10)

Note la diferencia entre las variables Fecha de préstamoy Año y mes de préstamo. La primera producirá una estadística diaria y la segunda acumulará los valores en forma mensual. Esta consideración debe tomarse con todas las variables que extraigan fechas de la base de datos. Todas las fechas deben expresarse en formato ISO

La variable título se obtiene haciendo un REF a la base de datos catalográfica utilizando como clave el número de inventario y extrayendo el campo de título. La base de datos catalográfica debe figurar en el archivo .par de la base de datos activa, o en el syspar.par


Los más prestados

Esta es una extracción de variable especial ya que su objetivo es obtener una lista de los objetos más prestados durante un período de tiempo. Debe generarse a partir de la base de datos de transacciones de préstamos (trans) y requiere el formato de extracción para obtener el título o cualquier otro campo que identifique plenamente al objeto, y un valor que indique hasta cuántas veces debe ser un título prestado para que se incluya en el listado. Por ejemplo si el valor del parámetro identificado como Excluir total menor a es 100, entonces se excluirán del listado todos aquellos títulos que hayan sido prestados menos de 100 veces.

Por ejemplo, puede utilizarse este formato para extraer el título de la base de datos bibliográfica:

  if npost([v98]'NI_'v10)>0 then ref([v98]l([v98]'NI_'v10),v245^a) else v100^t fi

Este formato se aplica sobre la base de datos trans donde:

   v98     = nombre de la base de datos de la cual proviene el item prestado 
   v10     = número de inventario del item
   NI_     = prefijo con el cual se indiza el número de inventario en la base de datos catalográfica
   v245^a  = campo donde se almacena el título en la base de datos catalogáfica
   v100^t  = campo donde se almacena el título en la base de datos de transacciones 
             (ver Configuración campo 100)


Definición de tablas

Una vez definidas las variables se puede proceder a definir los cruces para formar las tablas estadísticas. Use para ello Estadísticas -> Configuración de las estadísticas -> Definición de tablas.

Los cruces de variables pueden definirse por dos métodos:

  • Seleccionando una o dos variables a partir de la lista de variables
  • Construyendo un formato que extraiga las filas y columnas a incluir en el cruce.

A partir de la lista de variables

Para definir un cruce seleccione una o dos variables previamente definidas. Trate de colocar en las filas la variable que tenga más opciones para obtener un mejor despliegue del cuadro. Dele un nombre a la tabla y guardela.

Si una vez seleccionada una variable se le modifíca el nombre, no será reconocida en los cruces que hagan referencia al nombre anterior.

A partir de un formato de extracción

Esta opción le permite utilizar el lenguaje de formatos para extraer las filas y las columnas a utilizar para establecer el cruce. El formato debe cumplir con el siguiente esquema:

    Formato de extracción de las filas '$$$$' Formato de extracción de las columnas/

Ejemplos:

Si se desea generar un cuadro con la producción diaria de los operadores por fecha, asumiendo que el campo correspondiente al operador y fecha actualización es el v995, puede elaborar el siguiente formato:

  (v995^*,'$$$$',v995^b/)


Si se desea generar un cuadro con la producción mensual de los operadores por fecha, asumiendo que el campo correspondiente al operador y fecha actualización es el v995, puede elaborar el siguiente formato:

  (v995^*.6,'$$$$',v995^b/)


Si desea generar un cuadro que especifique cuántos objetos nuevos han ingresado por número de clasificación y fecha, asumiendo que en las 5 primeras posiciones del campo v08 está la fecha de creación del registro, podemos definir el siguiente formato:

    v8.5,'$$$$',if p(v82[1]) then v82[1]^a,v82[1]^b  else if p(v84[1]) then v84[1]^a,v84[1]^b fi fi/


Procesos

Puede agrupar varias tablas bajo un proceso de forma tal que al seleccionar el proceso se emitan en forma conjunta todas las tablas asociadas. Para ello use la opción Estadísticas -> Configuración de las estadísticas -> Procesos y suministre el título de cada proceso que desee definir y seleccione de la lista las tablas que desee incluir en el proceso


Para un grupo de bases de datos

Proceso global

El proceso global permite incluir un proceso de cada base de datos para que las tablas asociadas puedan emitirse en forma conjunta al seleccionar el proceso global. Para definir el proceso global use la opción Estadísticas -> Configuración de las estadísticas -> Proceso Global. Esta opción presentará, para cada base de datos, la lista de procesos definidos para que se pueda incluir uno de ellos en el proceso global.


Ejemplos

[Ver Ejemplos]



Generar salidas

Una vez definidas las variables, tablas y procesos pueden generarse las salidas. Seleccione entonces los cruces que desea realizar utilizando una de las siguientes opciones:

Proceso Global

El proceso global representa aquellas tablas de las bases de datos que han sido seleccionadas para ser emitidas en forma conjunta dentro de un solo proceso. (ver Configuración -> Proceso global).

Indique la fecha para la cual desea emitir el proceso global en la forma de AAAA$ o AAAAMM$.

     2017$    Para recuperar todos los registros de un año
     201701$  Para recuperar todos los registros de un mes

Le leerá el archivo proc_gen.cfg, almacenado en el directorio raiz de la carpeta de bases de datos, del cual se extraerá, para cada base de datos, el proceso cuyas tablas van a ser emitidas como parte del proceso global.

Para cada base de datos incluida en el proceso global:

  • Se localizan los registros anteponiendo a la fecha suministrada el parámetro correspondiente a Prefijo para la búsqueda por fecha.
  • Se leen las tablas incluídas en el proceso y sobre los registros recuperados se aplica el formato correspondiente a fin de obtener el valor de las filas y columnas
  • Se genera el resultado de cada tabla

Por base de datos

Selección de los cruces

Procesos

Se presenta el menú de procesos definidos. Recuerde que un proceso es la selección de tablas que se emitirán en forma conjunta


Usar una tabla existente

Se presenta un menú con las tablas definidas del cual se debe seleccionar una


Definir tablas

Se presenta la lista de variables definidas para construir un cuadro en forma dinámica. Seleccione la variable a colocar en las filas y la variable a colocar en las columnas.


Selección de los registros

Seleccionado el cruce requerido proceda a determinar los registros a incluir por uno de los siguientes métodos:


Por fecha

Suministre el año y mes de los registros que desea recuperar. Ejemplo:

     2017$    Para recuperar todos los registros de un año
     201701$  Para recuperar todos los registros de un mes

A estos valores se les agregará el Prefijo para la búsqueda por fecha y se realizará la búsqueda sobre la base de datos. Si al elaborar el formato de extracción de las variables se especificó que la fecha está en las filas o en las columnas, el valor correspondiente se comparará contra la fecha suministrada para descartar aquellos resultados que no se correspondan con la fecha en cuestión.

Si desea resultados diarios, la fecha extraida del registro debe estar en la forma AAAAMMAA. Si desea resultados mensuales la fecha debe extraerse en la forma AAAAMM. Entonces, una misma fecha puede tener más de un formato de extracción dependiendo de la forma como quieran totalizarse los resultados.


Por Mfn

Especifique el rango de Mfn de los registros que desea incluir en las salidas. Note que si el formato de extracción corresponde a un campo repetible serán procesadas todas las ocurrencias del mismo.


Por Búsqueda

Con ayuda del formulario de búsqueda avanzada construya la expresión de búsqueda a aplicar para la selección de los registros


Presentación de resultados

Se aplica el método de selección de los registros y de cada registro recuperado se extraen las variables de filas y columnas de acuerdo al formato de extracción suministrado.

Archivos de configuración

Variables:
Nombre del archivo: stats.cfg
Contenido: (una línea para cada variable)
Nombre de la variable|Formato de Extracción|Identificador del campo de fecha o LMP|límite inferior

LMP y límite inferior solo se llevan en el caso de los más prestados. En el caso de que variable no corresponda a los más prestados esa posición se usa para identificar si el campo extraído es una fecha (en formato ISO)


Tablas:
Nombre del archivo: tabs.cfg
Contenido: (una línea para cada tabla)
Nombre de la Tabla|Nombre de la variable (filas)|Nombre de la variable (columnas)


Tablas expresadas a través de un formato:
Nombre de archivo: tables.cfg
Contenido: (una línea para cada tabla)
Nombre de la tabla|(Formato de las filas'$$$'Formato de las columnas/)|Localización de la fecha


Localización de la fecha: rows: en las filas, cols: en las columnas, no_date: no hay fecha

Cuando se provee la localización de la fecha se compara este valor contra la fecha insertada para seleccionar los registros


Procesos:
Nombre de archivo: proc.cfg
Contenido: (una línea para cada proceso)
Nombre del Proceso||Nombre de la tabla (1)|Nombre de la tabla (2)|...|Nombre de la tabla (n)|


Prefijo para la búsqueda por fecha
Nombre del archivo: date_prefix.cfg
Contenido: Prefijo a anteponer a la fecha solicitada para realizar la búsqueda de los registros


Todos los archivos anteriores van en la carpeta [DBN]/def/[LANG]


Proceso global Este archivo representa todos los procesos que deben emitirse en forma conjunta para las bases de datos seleccionadas
Nombre del archivo: proc_gen.cfg
Contenido: Nombre de la base de datos|Nombre del proceso
Se presentará una línea para cada base de datos cuyas tablas requieran ser emitidas en forma conjunta
Localización: en la raiz de la carpeta de bases de datos.