Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Unknown macro: {scrollbar}

Agregando datos de entrada

En diversas ocasiones necesitamos incorporar al modelo O3 un catálogo ó una codificación que no existe en ninguna fuente de datos. En la mayoría de los casos la solución que encontramos es generar un archivo txt o incluso crear una tabla en la BD para que el dataamrt se ajuste a las necesidades. Pero es cierto que ambas alternativas pueden generarnos inconvenientes, la ubicación del archivo, la posibilidad de poder crear una tabla, etc.

O3 Designer incluye un tipo especial de fuente de datos que ofrece una excelente alternativa al problema.

El nuevo tipo de fuente de datos se identifica con el nodo de etiqueta "Script". El mismo no requiere configuración de ningún tipo por lo que simplemente se deben agregar las fuentes de datos deseadas.

A continuación se ofrecen algunos ejemplos de fuentes de datos generados a través de scripts:

Ejemplo de catálogo simple

ArrayList list = new ArrayList();

list.add(new Object[]{0, "Activos"});
list.add(new Object[]{1, "Pasivos"});

iterator = list.iterator();

Esta consulta nos permite tener una fuente de datos con los valores:

0

Activos

1

Pasivos

(info) Se debe desmarcar el checkbox "Verificar antes de construir" para evitar errores durante la construcción.

Ejemplo de datos de entrada de tipo fecha

ArrayList list = new ArrayList();

list.add(new Object[]{new Date(2008-1900, 0, 1)});

iterator = list.iterator();

Esta consulta nos permite tener una fuente de datos con los valores:

01/01/2008

El año es base 1900, el mes es base 0 (0 es enero, 1 febrero, etc) y el dia es normal. El orden de los argumentos es: año, mes, dia

A partir del uso de scripts como consultas, se comprende que su potencial permite realizar procedimientos mucho más complejos y elaborados.

Ejemplo de datos de entrada de tipo fecha, generación automática a la fecha de hoy

El ejemplo anterior indica como generar una tabla de dimensión de datos fechas en forma estática. Dicha solución  debe ser acompañada con una de las dos siguientes acciones:

  1. Indicar en el modelo que el "Modo de Error" asociado a la dimensión fecha es AGREGAR. Esta indicación puede ser global para todas las dimensiones, si se modifica el "Modo de Error" del modelo.
  2. Si no se opta por la opción anterior, en cada nuevo año se deberíamos modificar la fuente de datos en el modelo para obtener el nuevo año.

A continuación se facilita otra opción que no requiere las particularidades recién mencionadas, que consiste en una fuente de datos de tipo script para generar los valores de fecha en forma automática, desde una fecha de comienzo hasta la fecha de generación del cubo. En este ejemplo generamos a partir del año 1996

 

ArrayList list = new ArrayList();
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
for (int year=1996; year <= currentYear; year++)
    {
    list.add(new Object[]{new Date(year-1900, 0, 1)});
    }
 
iterator = list.iterator();

 

 

Unknown macro: {scrollbar}

  • No labels