Para que los orígenes de datos sean más flexibles, puede implantar parámetros de tiempo de ejecución en la consulta para permitir que el origen de datos use variables.
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 datos debe incluir ?
en su sintaxis, donde ?
es un marcador de posición para definir algunas variables de tiempo de ejecución.
Puede:
Establezca un valor de parámetro por defecto fijo en el origen de datos para que Essbase lo use como reserva en caso de que la variable tenga un contexto no válido de tiempo de ejecución, o bien
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 gestor de la aplicación o tener un rol superior.
Activar el uso de variables en orígenes de datos de Essbase le ayuda a simplificar las operaciones, ya que hay menos orígenes de datos que mantener. 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 datos en el cubo mensualmente. El gestor de base de datos ahora puede usar una variable de sustitución para cargar los datos del mes actual en lugar de mantener una regla de carga para cada mes.
El gestor de la aplicación mantiene definiciones del informe de obtención de detalles para distintos casos de uso de negocio. El gestor de la aplicación implanta variables en el origen de datos subyacente que los usuarios de Smart View extraen en sus operaciones de obtención de detalles. Como resultado, el gestor de la aplicación tiene menos definiciones del informe de obtención de detalles que mantener y depurar.
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 de servicio. Haga clic en Orígenes, después, en el separador Orígenes de datos situado bajo su nombre de usuario y, por último, 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 el separador Aplicaciones, haga clic en un nombre de aplicación. A continuación, haga clic en Orígenes, después, en el separador Orígenes de datos situado bajo su nombre de usuario y, por último, 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 en la selección de valores de meses de la columna DIMENSION_YEAR, aplique la siguiente sintaxis de 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 con el tipo Doble y deje las columnas alfanuméricas con 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 de texto bajo Valor y escriba el valor por defecto para el parámetro 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 por param_G_month para indicar que el parámetro usa una variable global para el mes actual, o puede cambiarle el nombre por param_<appName>_month para indicar que el parámetro usa una variable a 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 Crear para crear un origen de datos en función de esta consulta de sus datos de origen externos. El origen de datos está activado para la implantación de parámetros de ejecución.
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 global o a nivel 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 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 en la selección de valores de meses de la columna DIMENSION_YEAR, aplique la siguiente sintaxis de 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 con el tipo Doble y deje las columnas alfanuméricas con 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. Para personalizar Param1 para que haga 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 por param_G_month para indicar que el parámetro usa una variable global para el mes actual, o puede cambiarle el nombre por param_<appName>_month para indicar que el parámetro usa una variable a 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 Crear para crear un origen de datos en función de esta consulta de sus datos de origen externos.