Fuentes de Datos de Script

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, cada nuevo año deberíamos modificar el modelo para obtener el nuevo año.

A continuación se indica un sciript para generar datos 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)});
    }
//list.add(new Object[]{null});
 
iterator = list.iterator();

 

 

Unknown macro: {scrollbar}