Técnicas avanzadas: referencia a valores almacenados en variables

Puede que desee crear un análisis cuyo título muestre el nombre del usuario actual. Para hacerlo tendrá que hacer referencia a una variable.

Puede hacer referencia a varios tipos de variable en los análisis, los paneles de control y las acciones: sesión, modelo semántico (repositorio), presentación, solicitud y global. Los autores de contenido pueden definir variables de presentación, de solicitud y globales, pero dispone de otros tipos (sesión y modelo semántico [repositorio]) definidos en el modelo semántico.

Nota: Oracle Analytics no soporta las variables :user ni :password en las credenciales de la conexión al origen de datos.

Tipo de variable Definido en Definido por Más información

Sesión

  • Sistema

  • No del sistema

Modelo semántico

Autores del modelo de datos

Acerca de las variables de sesión

Modelo semántico (repositorio)

  • Dinámico

  • Estático

Modelo semántico

Autores del modelo de datos

Acerca de las variables (de repositorio) de modelo semántico

Presentación

Peticiones de datos en análisis y paneles de control

Autores de contenido

Acerca de las variables de presentación

Solicitud

Peticiones de datos en análisis y paneles de control

Autores de contenido

Acerca de las variables de solicitud

Global

Análisis

Administradores

Acerca de las variables globales y Creación de variables globales

Acerca de las variables de sesión

Las variables de sesión se inicializan cuando un usuario se conecta.

Cada usuario dispone de estas variables durante la duración de la sesión de exploración y caducan cuando el usuario cierra el explorador o se desconecta. Existen dos tipos de variables de sesión: las del sistema y las que no son del sistema.

Variables de sesión del sistema

Existen varias variables de sesión del sistema que se pueden utilizar en los informes y paneles de control.

Las variables de sesión del sistema tienen nombres reservados para que no puedan utilizarse en ningún otro tipo de variable.

Variable de sesión del sistema Descripción Valor de consulta SQL de ejemplo (cuadro de diálogo Variable)

PORTALPATH

Identifica el panel de control por defecto que el usuario ve al conectarse (los usuarios pueden sustituir esta preferencia una vez que se han conectado).

Para mostrar "mydashboard" cuando un usuario se conecta:

 select ‘/shared/_portal/mydashboard’ from dual;

TIMEZONE

Especifica la zona horaria por defecto de un usuario al conectarse.

La zona horaria de un usuario se suele rellenar a partir del perfil de usuario. Los usuarios pueden cambiar su zona horaria por defecto mediante las preferencias (Mi cuenta).

Para definir la zona horaria cuando un usuario se conecta:

select ‘(GMT-08:00) Pacific Time (US & Canada)’ from dual;

DATA_TZ

Especifica un desplazamiento respecto a la zona horaria original para los datos.

Esta variable permite convertir una zona horaria para que los usuarios vean la zona adecuada.

Para convertir los datos de hora a Hora estándar del este (EST):

select ‘GMT-05:00’ from dual;

Este ejemplo indica Hora del Meridiano de Greenwich (GMT): 5 horas

DATA_DISPLAY_TZ

Especifica la zona horaria para la visualización de datos.

Para mostrar Hora estándar del este (EST):

select ‘GMT-05:00’ from dual;

Este ejemplo indica Hora del Meridiano de Greenwich (GMT): 5 horas

Variables de sesión que no son del sistema

Las variables de sesión que no son del sistema se denominan y se crean en el modelo semántico.

Por ejemplo, el modelador de datos podría crear una variable SalesRegion que se inicializa como el nombre de la región de ventas de un usuario cuando se conecta.

Acerca de las variables (de repositorio) de modelo semántico

Una variable (de repositorio) de modelo semántico es una variable que tiene un único valor en cualquier punto del tiempo.

Las variables (de repositorio) de modelo semántico pueden ser estáticas o dinámicas. Una variable (de repositorio) estática de modelo semántico tiene un valor que persiste y no cambia hasta que el administrador la cambia. Una variable (de repositorio) dinámica de modelo semántico tiene un valor que se refresca con datos devueltos de consultas.

Acerca de las variables de presentación

Cree una variable de presentación al crear una petición de datos de columna una petición de datos de variable.

Tipo Descripción

Petición de datos de columna

Se asocia a una columna una variable de presentación creada como parte de una petición de datos de columna y los valores que puede contener proceden de los valores de columna.

Para crear una variable de presentación como parte de una petición de datos de columna, en el cuadro de diálogo Nueva petición de datos, debe seleccionar Variable de presentación en el campo Definir una variable. Introduzca un nombre para la variable en el campo Nombre de variable.

Petición de datos de variable

No se asocia a ninguna columna ninguna variable de presentación creada como parte de una petición de datos de variable y se definen los valores que puede contener.

Para crear una variable de presentación como parte de una petición de datos de variable, en el cuadro de diálogo Nueva petición de datos, debe seleccionar Variable de presentación en el campo Petición de datos para. Introduzca un nombre para la variable en el campo Nombre de variable.

El valor de una variable de presentación se rellena con la petición de datos de columna o de variable con la que se ha creado. Es decir, cada vez que un usuario seleccione uno o más valores en la petición de datos de columna o de variable, el valor de la variable de presentación se definirá con el valor o valores que seleccione el usuario.

Acerca de las variables de solicitud

Una variable de solicitud permite sustituir el valor de una variable de sesión, pero solo durante una solicitud de base de datos que se haya iniciado a partir de una petición de datos de columna. Puede crear una variable de solicitud como parte del proceso para crear una petición de datos de columna.

Puede crear una variable de solicitud como parte del proceso de creación de uno de los siguientes tipos de peticiones de datos de panel de control:

  • Se asocia a una columna una variable de solicitud que se crea como parte de una petición de datos de columna, y los valores que puede contener proceden de los valores de columna.

    Para crear una variable de solicitud como parte de una petición de datos de columna, en el cuadro de diálogo Nueva petición de datos, debe seleccionar Variable de solicitud en el campo Definir una variable. Introduzca el nombre de la variable de sesión que desea sustituir en el campo Nombre de la variable.

  • Una variable de solicitud creada como parte de una petición de datos de variable no se asocia a ninguna columna y el usuario define los valores que puede contener.

    Para crear una variable de solicitud como parte de una petición de datos de variable, en el cuadro de diálogo Nueva petición de datos (o en el cuadro de diálogo Editar petición de datos), debe seleccionar Variable de solicitud en el campo Petición de datos para. A continuación, introduzca un nombre de la variable de sesión que desee sustituir en el campo Nombre de la variable.

El valor de una variable de solicitud lo rellena la columna de petición de datos con la que se ha creado. Es decir, cada vez que un usuario seleccione un valor en la petición de datos de columna, el valor de la variable de solicitud se define con el valor que seleccione el usuario. Sin embargo, el valor sólo tendrá efecto desde el momento en que el usuario pulsa el botón Ir de la petición de datos hasta que se devuelven los resultados del análisis en el panel de control.

Ciertas variables de sesión del sistema (como USERGUID o ROLES) no se pueden sustituir por variables de solicitud. Otras variables de sesión del sistema, como DATA_TZ y DATA_DISPLAY_TZ (zona horaria), se pueden sustituir si se han configurado en la herramienta de administración de modelos.

Sólo las variables de solicitud numérica o de cadena soportan varios valores. Todos los demás tipos de dato solo transfieren el primer valor.

Acerca de las variables globales

Una variable global es una columna creada mediante la combinación de un determinado tipo de dato con un valor. El valor puede ser una fecha, una fecha y hora, un número, texto y una hora.

La variable global se evalúa en el momento en que se ejecuta el análisis, y el valor de la variable global se sustituye de forma adecuada.

Solo los usuarios con el rol de administrador de BI Service pueden gestionar (agregar, editar y suprimir) variables globales.

Puede crear un valor global durante el proceso de creación de un análisis mediante el cuadro de diálogo Editar fórmula de columna. La variable global se guarda a continuación en el catálogo y queda disponible para todos los demás análisis en un sistema de inquilino específico.

Creación de variables globales

Puede guardar un cálculo como una variable global y, a continuación, reutilizarlo en distintos análisis.

  1. Abra el análisis para editarlo.
  2. En el panel Columnas seleccionadas, haga clic en Opciones junto al nombre de la columna.
  3. Seleccione Editar fórmula para mostrar el separador Fórmula de columna.
  4. Haga clic en Variable y seleccione Global.
  5. Haga clic en Agregar nueva variable global.
  6. Introduzca el valor para Nombre. Por ejemplo, gv_region, date_and_time_global_variable o rev_eastern_region_calc_gv.
    El nombre para una variable global debe estar totalmente cualificado al hacer referencia a la variable y, por lo tanto, debe tener como prefijo el texto "global.variables". Por ejemplo, se muestra una variable global definida para calcular ingresos en el cuadro de diálogo Fórmula de columna:

    "Base Facts"."1- Revenue"*@{global.variables.gv_qualified}

  7. Introduzca valores para Tipo y Valor.
    • Si selecciona "Fecha y hora" como el tipo de dato, introduzca el valor como en el siguiente ejemplo: 03/25/2004 12:00:00 AM
    • Si introduce una expresión o un cálculo como valor, debe utilizar el tipo de dato de texto, como en el siguiente ejemplo: "Base Facts"."1- Revenue"*3.1415
  8. Haga clic en Aceptar. La nueva variable global se agrega al cuadro de diálogo Insertar Variable Global.
  9. Seleccione la nueva variable global que acaba de crear y haga clic en Aceptar. El cuadro de diálogo Editar Fórmula de Columna se muestra con la variable global insertada en el panel Fórmula de Columna. La casilla de control Cabeceras Personalizadas se activa automáticamente.
  10. Introduzca un nombre nuevo para la columna a la que ha asignado una variable global a fin de reflejar la variable de forma más precisa.
  11. Haga clic en Aceptar.

Sintaxis para Hacer Referencia a Variables

Puede hacer referencia a variables en análisis y paneles de control.

El modo en que haga referencia a una variable depende de la tarea que está ejecutando. Para tareas en las que se le presenten campos en un cuadro de diálogo, debe especificar únicamente el tipo y nombre de la variable (no su sintaxis completa), por ejemplo al hacer referencia a una variable en una definición de filtro.

Para otras tareas, como cuando haga referencia a una variable en una vista de título, tendrá que especificar la sintaxis de la variable. La sintaxis que utilice dependerá del tipo de variable, como se describe en la siguiente tabla.

Tipo Sintaxis Ejemplo

Sesión

@{biServer.variables['NQ_SESSION.variablename']}

donde variablename es el nombre de la variable de sesión, por ejemplo DISPLAYNAME.

@{biServer.variables['NQ_SESSION.SalesRegion]}

Modelo semántico (repositorio)

@{biServer.variables.variablename}

o bien

@{biServer.variables['variablename']}

donde variablename es el nombre de la variable, por ejemplo, prime_begin

@{biServer.variables.prime_begin}

o bien

@{biServer.variables['prime_begin']}

Presentación o solicitud

@{variables.variablename}[format]{defaultvalue}

o bien

@{scope.variables['variablename']}

donde:

variablename es el nombre de la variable de presentación o solicitud, por ejemplo, MyFavoriteRegion.

(opcional) format es una máscara de formato que depende del tipo de datos de la variable, por ejemplo, #,##0, MM/DD/YY hh:mm:ss. (Tenga en cuenta que el formato no se aplica al valor por defecto).

(opcional) defaultvalue es una referencia de variable o constante que indica un valor que se utilizará si no se rellena la variable a la que se hace referencia mediante variablename.

scope identifica los cualificadores de la variable. Debe especificar el ámbito cuando se utilice una variable en varios niveles (análisis, páginas de panel de control y paneles de control) y desee acceder a un valor específico. (Si no especifica el ámbito, el orden de prioridad es análisis, páginas de panel de control y paneles de control).

Cuando se utiliza una petición de datos de panel de control con una variable de presentación que puede tener múltiples valores, la sintaxis es diferente según el tipo de columna. Varios valores se formatean en valores separados por comas y, por lo tanto, cualquier cláusula de formato se aplica a cada valor antes de que se une mediante comas.

@{variables.MyFavoriteRegion}{EASTERN REGION}

o bien

@{MyFavoriteRegion}

o bien

@{dashboard.variables['MyFavoriteRegion']}

o bien

(@{myNumVar}[#,##0]{1000})

o bien

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

o bien

(@{myTextVar}{A, B, C})

Global

@{global.variables.variablename}

donde variablename es el nombre de la variable global, por ejemplo, gv_region. Cuando se hace referencia a una variable global, debe utilizar el nombre totalmente cualificado como se indica en el ejemplo.

La regla de nomenclatura para las variables globales debe cumplir las especificaciones de idioma de scripts EMCA para JavaScript. El nombre no debe exceder los 200 caracteres ni contener espacios embebidos, palabras reservadas y caracteres especiales. Si no está familiarizado con los requisitos de idioma de JavaScript, consulte una referencia de terceros

@{global.variables.gv_date_n_time}

También puede hacer referencia a variables en expresiones. Las directrices para hacer referencia a variables en expresiones se describen en los temas siguientes:

Variables de sesión

Puede utilizar las directrices siguientes para hacer referencia a las variables de sesión en expresiones.

  • Incluir la variable de sesión como argumento de la función VALUEOF.
  • Incluir el nombre de la variable entre comillas.
  • Preceder la variable de sesión con NQ_SESSION y un punto.
  • Incluir la parte NQ_SESSION y el nombre de la variable de sesión entre paréntesis.

Por ejemplo:

"Mercado"."Región"=VALUEOF(NQ_SESSION."Región de ventas")

Variables de presentación

Puede utilizar las siguientes directrices para hacer referencia a las variables de presentación en expresiones.

Cuando haga referencia a una variable de presentación, utilice esta sintaxis:

@{variablename}{defaultvalue}

donde variablename es el nombre de la variable de presentación y defaultvalue (opcional) es una referencia de variable o constante que indica un valor que se utilizará si la variable a la que se hace referencia con variablename no está rellena.

Para realizar una conversión de tipo (es decir, convertir) de la variable en una cadena o incluir varias variables, incluya toda la variable entre comillas sencillas, por ejemplo:

'@{user.displayName}'

Si el signo @ no va seguido de un {, se considerará como un signo @. Cuando se utiliza una variable de presentación que puede tener varios valores, la sintaxis es diferente según el tipo de columna.

Utilice la siguiente sintaxis en SQL para el tipo de columna especificado para poder generar sentencias SQL válidas:

  • Texto: (@{variablename}['@']{'defaultvalue'})

  • Numérico: (@{variablename}{defaultvalue})

  • Fecha y hora: (@{variablename}{timestamp 'defaultvalue'})

  • Fecha (solo la fecha): (@{variablename}{date 'defaultvalue'})

  • Hora (solo la hora): (@{variablename}{time 'defaultvalue'})

Por ejemplo:

'@{user.displayName}'

Variables (de repositorio) de modelo semántico

Puede utilizar las siguientes directrices para hacer referencia a las variables (de repositorio) de modelo semántico en las expresiones.

  • Incluir la variable como argumento de la función VALUEOF.
  • Incluir el nombre de la variable entre comillas.
  • Hacer referencia a una variable (de repositorio) estática de modelo semántico por nombre.
  • Hacer referencia a una variable (de repositorio) dinámica de modelo semántico por su nombre completo.

Por ejemplo:

CASE WHEN "Hora" >= VALUEOF("inicio_franja_principal")AND "Hora" < VALUEOF("fin_franja_principal") THEN 'Prime Time' WHEN ... ELSE...END