Implantación de parámetros para orígenes de datos
Para que los orígenes de datos sean más flexibles, puede implantar parámetros de tiempo de ejecución, lo que permite que Essbase utilice variables en la consulta. El uso de variables en orígenes de datos le ayuda a optimizar las operaciones al requerir menos orígenes de datos que mantener.
Pueden ser variables de sustitución definidas en Essbase, parámetros de tiempo de ejecución definidos por el contexto de cuadrícula cuando los usuarios de Smart View obtengan detalles de datos externos, o bien funciones definidas por el usuario escritas en un sistema de origen externo.
Cuando planee usar variables en los orígenes de datos de Essbase, primero tiene que hacer lo siguiente:
-
Incluir la sintaxis de la variable en la consulta del origen de datos. Por ejemplo, la consulta del origen de dato debe incluir
?en su sintaxis, donde?es un marcador de posición para definir algunas variable de tiempo de ejecución. -
Realice una de estas acciones:
-
Establezca un valor de parámetro predeterminado fijo en el origen de los datos para que la Essbase lo use como reserva en caso que la variable tenga un contexto no válido en tiempo de ejecución
-
Definir una variable de sustitución que utilizará el origen de datos
-
Pase una función externa definida por el usuario (o un procedimiento almacenado) como parámetro.
-
Para definir orígenes de datos e implantar parámetros para estos, debe ser un gestor de la aplicación o un rol superior.
Implantar variables en orígenes de datos le permite especificar un contexto de consulta de tiempo de ejecución que se aplicará cuando un usuario acceda a un origen de datos asociado con un cubo de Essbase.
Tomemos como ejemplo los siguientes casos de uso.
-
Un Gestor de base de datos supervisa un trabajo de carga de datos recurrente que carga los datos en el cubo mensualmente. El Gestor de Base de Datos ahora puede usar una variable de sustitución para cargar datos del mes actual en lugar de mantener una regla para cada mes.
-
Un gestor de aplicaciones mantiene definiciones de informes de obtención de detalle para distintos casos de uso del negocio. El gestor de aplicaciones implanta variables en el origen de datos subyacente del que se extraen los usuarios deSmart View en sus operaciones para obtener detalles. Como resultado, el Gestor de la Aplicación tiene menos definiciones de informe de obtención de detalle que mantener y depurar.
Definición de un parámetro por defecto en un origen de datos
Defina un parámetro por defecto en un origen de datos si desea activar el uso de variables en las consultas que Essbase genera al trabajar con datos almacenados fuera del cubo.
Para definir el parámetro por defecto,
-
Obtenga o cree una conexión al origen de datos externo (por ejemplo, cree una conexión a Oracle Database).
Puede usar una conexión global, si ya existe una en la página Orígenes de la interfaz web de Essbase, o bien crear una conexión de nivel de aplicación.
-
Cree un origen de datos en la conexión que va a usar para acceder a Oracle Database.
Puede definir un origen de datos de forma global si debe estar disponible para todas las aplicaciones, o puede definirlo en el nivel de aplicación.
-
Para crear un origen de datos global, debe ser un administrador del servicio. En la página inicial, haga clic en Orígenes, haga clic en el separador Orígenes de datos en su nombre de usuario y haga clic en Crear origen de datos.
O bien, para crear un origen de datos de nivel de aplicación, debe ser un gestor de aplicaciones o un usuario avanzado con permiso de gestión de aplicaciones para la aplicación especificada. En la página de inicio, haga clic en un nombre de aplicación. A continuación, haga clic en Orígenes, haga clic en el separador Orígenes de datos en su nombre de usuario y haga clic en Crear origen de datos.
-
En el paso General, en Conexión, seleccione la conexión de Oracle Database que ha creado.
-
En Nombre, dé un nombre para el origen de datos.
-
En Consulta, introduzca una consulta (en este ejemplo se usa SQL). Para que sea una consulta con parámetros, debe incluir una condición de filtro (cláusula WHERE) que asigne una columna relacional en el origen a un marcador de posición. Se indica la posición de la variable usando un marcador de posición, ?, en la sintaxis de la consulta. El marcador de posición es para un parámetro que pasará en un paso posterior.
select * from SB_DT where DIMENSION_YEAR=?Por ejemplo, vamos a asumir que la base de datos relacional tiene la siguiente tabla, denominada SB_DT. La tabla tiene la columna DIMENSION_YEAR con meses como valores:

Para usar una variable de la selección de valores de mes de la columna DIMENSION_YEAR, aplique la siguiente sintaxis del filtro en la consulta:
where DIMENSION_YEAR=?
-
Haga clic en Siguiente.
-
En el paso Columnas, aplique el tipo de datos correspondiente que Essbase tenga que asociar con cada columna de los datos de origen relacionales.
Por ejemplo, defina las columnas numéricas en el tipo Doble y deje las columnas alfanuméricas en el tipo Cadena.

-
Haga clic en Siguiente.
-
En el paso Parámetros, se crea Param1. Este parámetro existe porque ha usado ? en la consulta en el paso General.
Deje Usar variables sin marcar, haga doble clic en el campo Valor y escriba un valor por defecto para el parámetro de tiempo de ejecución. La finalidad de este valor por defecto es que Essbase lo use como reserva en caso de que el parámetro tenga un contexto no válido de tiempo de ejecución. Este paso es importante si pretende usar los parámetros de ejecución como parte de las definiciones del importe de obtención de detalles.
También puede cambiar el nombre de Param1 por un nombre que sea significativo para su caso de uso. Por ejemplo, puede cambiarle el nombre a param_G_month para indicar que el parámetro usa una variable global para el mes actual, o puede cambiarle el nombre a param_<appName>_month para indicar que el parámetro usa una variable de nivel de aplicación para el mes actual. Personalizar los nombres de los parámetros puede resultar útil a la hora de depurar parámetros con archivos log del servidor de Essbase.

Si desea personalizar el parámetro para que haga referencia a una variable de sustitución, no tiene que introducir un valor por defecto. Consulte Uso de variables de sustitución en un origen de datos en lugar de este tema.
-
Haga clic en Siguiente.
-
En la Vista previa, observe que el parámetro por defecto está aplicado a la consulta. Como resultado, la vista previa se rellena solo con los registros del origen externo en los que el valor de la columna DIMENSION_YEAR es Jan.

Aunque la vista previa solo ha mostrado los valores con el parámetro por defecto aplicado, más tarde, cuando implante los parámetros de ejecución para la definición del informe de obtención de detalles, tendrá acceso a más datos externos de los que eran visibles en la vista previa.
-
Haga clic en Guardar para crear el origen de los datos según la consulta de los datos del origen externo. El origen de datos está activado para la implantación de parámetros de ejecución.
-
Uso de variables de sustitución en un origen de datos
El siguiente flujo de trabajo muestra cómo crear un origen de datos de Essbase a partir de una consulta de datos de origen externos con una variable de sustitución definida en Essbase. La variable de sustitución flexibiliza el modo de diseñar la consulta que extrae datos del origen de datos.
En este ejemplo, usará una variable de sustitución en Essbase para declarar el mes actual. En lugar de actualizar los orígenes de datos mensualmente para extraer datos para el mes actual, puede dejar el origen de datos tal cual y solo actualizar la variable de sustitución que ha definido.
-
Cree una variable de sustitución de nivel global o de aplicación.

-
Obtenga o cree una conexión al origen de datos externo (por ejemplo, cree una conexión a Oracle Database).
Puede usar una conexión global, si ya existe una en la página Orígenes de la interfaz web de Essbase, o bien crear una conexión de nivel de aplicación.
-
Cree un origen de datos en la conexión que va a usar para acceder a Oracle Database.
Puede definir un origen de datos de forma global si debe estar disponible para todas las aplicaciones, o puede definirlo en el nivel de aplicación.
-
En el paso General, en Conexión, seleccione la conexión de Oracle Database que ha creado.
-
En Nombre, dé un nombre para el origen de datos.
-
En Consulta, introduzca una consulta (en este ejemplo se usa SQL). Para que sea una consulta con parámetros, debe incluir una condición de filtro (cláusula WHERE) que asigne una columna relacional en el origen a un marcador de posición. Se indica la posición de la variable usando un marcador de posiciones,
?, en la sintaxis de la consulta. El marcador de posición es para un parámetro que pasará en un paso posterior.select * from SB_DT where DIMENSION_YEAR=?Por ejemplo, vamos a asumir que la base de datos relacional tiene la siguiente tabla, denominada SB_DT. La tabla tiene la columna DIMENSION_YEAR con meses como valores:

Para usar una variable de la selección de valores de mes de la columna DIMENSION_YEAR, aplique la siguiente sintaxis del filtro en la consulta:
where DIMENSION_YEAR=?
-
Haga clic en Siguiente.
-
En el paso Columnas, aplique el tipo de datos correspondiente que Essbase tenga que asociar con cada columna de los datos de origen relacionales.
Por ejemplo, defina las columnas numéricas en el tipo Doble y deje las columnas alfanuméricas en el tipo Cadena.

-
Haga clic en Siguiente.
-
En el paso Parámetros, se crea Param1. Este parámetro existe porque se ha usado
?en la consulta en el paso General. Para personalizar Param1 para que hace referencia a una variable de sustitución, haga clic en Usar variables y seleccione una variable de sustitución de la lista desplegable Valor.Si va a crear un origen de datos en una aplicación, se pueden seleccionar variables de sustitución a nivel global y de aplicación. Las variables a nivel de aplicación llevan el nombre de la aplicación prefijado. Si va a crear un origen de datos global, solo están disponibles las variables de sustitución globales.
Puede cambiar el nombre de Param1 por un nombre que sea significativo para su caso de uso. Por ejemplo, puede cambiarle el nombre a param_G_month para indicar que el parámetro usa una variable global para el mes actual, o puede cambiarle el nombre a param_<appName>_month para indicar que el parámetro usa una variable de nivel de aplicación para el mes actual. Personalizar los nombres de los parámetros puede resultar útil a la hora de depurar parámetros con archivos log del servidor de Essbase.

-
Haga clic en Siguiente.
-
En la Vista previa, observe que la variable de sustitución está aplicada a la consulta. Como resultado, la vista previa se rellena solo con los registros del origen externo en los que el valor de la columna DIMENSION_YEAR es Aug.

-
Haga clic en Guardar para crear un origen de dato basado en la consulta de los datos del origen externo.
-