...
donde year y month tomarán sus valores del año y mes donde el parámetro se esté utilizando. Recordar que el esquema DW hace referencia al definido mediante la Metadata. Notar que el alcance y los la cantidad de campos que es necesario identificar en la tabla coinciden.
Supongamos que también se desea agregar un alcance que de devuelva el valor promedio para el año, de forma de utilizarlo cuando no se tiene el dato del mes. En esta situación el alcance se ubica posteriormente al de la Figura 3 (para que sea considerado solo sólo cuando no hay valor para el mes, ver más abajo) y en la su definición de este seguramente aparecera aparecerá mencionada otra tabla, que solo tendra sólo tendrá las columnas IPC_YEAR e IPC_VALUE.
La Figura 3 también muestra que es posible asociar una etiqueta que se utilizara utilizará en los ABM's ABMs que se generaran generarán para el parámetro. También sería posible mediante la opción Cargar en Memoria que todos los valores de la tabla se cargaran en memoria al comienzo de la simulación, para evitar tener que estar recurriendo a la base de datos cada vez que el parámetro sea utilizado. Cargar en memoria es solamente una optimización y no afecta el valor del parámetro.
Si se detectará detectara que el parametro esta parámetro está siendo versionado (su fuente se marcaría automaticamente trata de una tabla versionable) se marcaría automáticamente la casilla Versionable. El tema de manejo de versiones no será tratado en esta sección, pues para esto se dedico una sección especialmente (ver Manejo de Versiones)Por más información sobre versiones ver glosario.
En cuanto a la resolución de parámetros es necesario puntualizar que los distintos alcances se recorren en el orden en que fueron definidos y la primer alternativa que se satisfaga será el valor retornado. Para que un alcance sea satisfecho deben ocurrir dos aspectos:
- Todas las "dimensiones" deben tener un valor de forma de poder armar la consulta. Esto es, si month no esta estaá definido en el ejemplo de la Figura 3 el alcance no es aplicable. La razón es bastante simple, no hay valor para poner en la sentencia SQL.
- La sentencia debe retornar algún valor y este no puede ser nulo.
Para completar la idea presentada en la introducción, un parámetro alcanza a tomar el valor por defecto (si este
...
fué especificado) cuando ninguno de los alcances definidos para el parámetro retorna un valor que satisfaga.
...
Todo parámetro debe por lo menos tener un alcance para estar bien definido.
...
Función de Agregación
Existen situaciones en las cuales en lugar de contar directamente con el valor en la base de datos se cuenta con una desagregación de estosdel valor, es decir, para obtener el valor hay que sumar, promediar, etc. una serie de valores.
En el ejemplo de IPC supongamos que para cada día esta está registrado el valor del IPC y por tanto la sentencia select IPC_VALUE from IPC where IPC_YEAR = year and IPC_MONTH = month traerá muchos valores. Supongamos por otra parte que lo que deseamos es el promedio del mes correspondiente para utilizar en la fórmula. O sea, que estamos pensando en una sentencia SQL de la forma:
Code Block |
---|
select avg(IPC_VALUE) as IPC from IPC where IPC_YEAR = year and IPC_MONTH = month |
En este preciso caso es cuando se utiliza la función de agregación. Para el ejemplo planteado, las definiciones realizadas en las Figuras 2 y 3 son identicas idénticas y la unica única diferencia radica en que en la Figura 1, en el cuadro función de agregación debemos colocar avg.
...
La función de agregación se ingresa como ya se presento presentó en la interfase principal de definición del parámetro (Figura 1), si . Si es necesario también se puede pedir una sugerencia de las funciones de agregación mas más comunes en una base de datos (Figura 4). Lo que se aquí se presenta es solo sólo en calidad de sugerencia, si se deseara utilizar otra función soportada por la base de datos basta solo sólo tener presente la SQL que luego se formara formará con esta ella (select ..., FUNCION(...) from ...).
Figura 4: Ayuda para la función de agregación. agregación
Expresión de Post Procesamiento
Otra situación común que esta está contemplada por esta funcionalidad es el post-procesamiento de parámetros. Supongamos que la tabla IPC de la cual se obtienen los valores del parámetro tiene la siguiente información:
...
La columna IPC_VALUE tiene la variación del indice impuesto registrada en el mes (1% en Enero, 2% en Febrero). En una fórmula del estilo la de como presentada en la introducción (Producción = Producción Anterior x IPC) estos valores no conducen a un resultado correcto, sería esperado. Sería necesario cambiar la fórmula por una expresión así:
Code Block |
---|
Producción = Producción Anterior x (1 + (IPC / 100)) |
ahora la Esta nueva fórmula convierte el 1% a 1.01 que al ser multiplicado incrementa en un 1%. Se trata claramente de un problema númerico, dado que en lugar de tener el 1.01 en la tabla se tiene el porcentaje.
El cambio en la fórmula si bien soluciona el problema oscurece el entendimiento de esta ampliamenteagrega complejidad en su lectura.
La expresión de post-procesamiento ofrece la posibilidad de precisamente post procesar el valor antes de entregarlo a la fórmula, es . Puede ser visto como realizar un cambio de variable enfocandolo enfocándolo desde un punto de vista matematico. En nuestro ejemplo imaginemos lo siguiente:
...
Si inmediatamente luego de obtener el valor del IPC de la base de datos (1%), este dicho valor es transformado para dejarlo de una forma que haga pasible usarlo (1 + (IPC / 100)=1.01) y recien ahi recién ahí se evalua evalúa la fórmula, entonces el resultado obtenido es correcto. El impacto del cambio necesario solo sólo implica a la definición del parámetro, solo . Sólo es necesario indicar la expresión de post procesamiento para el parámetro y en definitiva la solución es mejor lograda que con un impacto directo en la fórmula.
La función de post procesamiento como ya se aprecio se define en la interfase principal de un parámetro. En el lugar determinado en la Figura 1 se puede escribir la fórmula o también se puede hacer definir utilizando el editor de expresiones (Figura 5).
Figura 5: Función de post procesamiento.
Para finalizar es necesario mencionar que la función de post procesamiento solo sólo se aplica cuando se obtiene un valor no nulo de la base de datos. Esta función tampoco se aplica al valor por defecto, dado que es razonable que ya se de el valor en forma correcta.