...
Para definir un párametro global se accede con el botón derecho sobre Parámetros Globales a la opción del menú Agregar/Parámetro, para los parámetros locales es identico pero el click se hace sobre Parámetros dentro de la definición de un componente. La interfase asociada en ambos casos es la siguiente:
Figura 1: Definición de un parámetro.
Un parámetro esta identificado por su nombre y como se puede ver en la Figura 1 además posee una descripción. Un parámetro también cuenta con la posibilidad de asociar una función de agregación, una expresión de post-procesamiento y un valor por defecto. El valor por defecto es quisas el más sencillo de estos conceptos, este valor será asignado al parámetro cuando no sea posible encontrar otro valor. A continuación al mencionar el concepto de Alcance se explica mas más en detalle porque un parámetro podría no tener valor y por ende tener que utilizarse el valor por defecto, los otros conceptos son presentados también luego.
Alcances Alcances
Al ejemplo anterior de la fórmula de producción (Producción = Producción Anterior x IPC) le falto considerar un aspecto muy importante. El valor del parámetro IPC en general varía para cada mes del año. Para tratar este problema es necesario introducir un concepto importante a la definición de parámetro que es el concepto de alcance. Dado que los parámetros en general varian en función del contexto en el cual son utilizados (mes corriente, producto, etc.), es necesarió por un lado definir en función de que varia un parámetro y en el caso que existiera más de una posibilidad, con que criterio se consideran las distintas posibilidades.
...
Un alcance se define con la siguiente interfase y para llegar a esta se accede al menú con el botón derecho estando situado en un parámetro:
Figura 2: Definición de un alcance.
En la Figura 2 se aprecia que para definir un alcance se da el nombre de este, una descripción (opcional) y cada una de las dimensiones que son necesarias para considerarlo. En un extremo el conjunto de las dimensiones puede ser vacio y es equivalente a decir que el parámetro no varia en función de ningun aspecto. Contiunuando con el ejemplo inicial del IPC, como dijimos este variaba para cada mes del año, por esta razón los elementos que se consideran son year (año) y month (mes).
El siguiente aspecto relacionado con el tema de alcance es que cada uno se obtiene de una tabla en la base de datos, realizando precisamente una consulta en función de las columnas asociadas a las dimensiones en cuestión. La lengueta Fuente que se puede apreciar en la Figura 3 muestra la definición de la referencia a la tabla:
Figura 3: Fuente asociada al parámetro.
En la Figura 3 se aprecia como el alcance denominado IPC (definido en la Figura 2) se obtiene de la tabla IPC del esquema DW definido en la Metadata. El campo de la tabla que contiene el valor del parámetro es IPC_VALUE y los valores de las columnas IPC_YEAR e IPC_MONTH se obtienen del contexto como year y month respectivamente. La sentencia SQL asociada a la obtención del valor del parámetro IPC es la siguiente:
Code Block |
---|
select IPC_VALUE from IPC where IPC_YEAR = year and IPC_MONTH = month |
...
- Todas las dimensiones deben tener un valor de forma de poder armar la consulta. Esto es, si month no 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 fue especificado) cuando ninguno de los alcances definidos para el parámetro retorna un valor que satisfaga. Obviamente todo parámetro debe por lo menos tener un alcance para estar bien definido. En un futuro también se tomaran valores de otras formas (SQL, tablas cradas en el momento, cubos, etc.)
...