Sintaxis para Hacer Referencia a Variables

Puede hacer referencia a variables en análisis, paneles de control, KPI y agentes. 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 dependerá del tipo de variable, como se describe en la tabla.

Nota:

En la sintaxis, si el signo "arroba" (@) no va seguido de una llave ({), se considera como un signo "arroba".
Tipo de Variable Sintaxis Ejemplo

Sesión

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

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

Para obtener una lista de las variables de sesión del sistema que se puede utilizar, consulte Acerca de las Variables de Sesión del Sistema en la Guía de Metadata Repository Builder para Oracle Business Intelligence Enterprise Edition.

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

Repositorio

@{biServer.variables.variablename}

o bien

@{biServer.variables['variablename']}

donde variablename es el nombre de la variable de repositorio, 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)

Nota: 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.

Nota: 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 las expresiones. Las directrices para hacer referencia a variables en expresiones se describen en la siguiente tabla.

Tipo de Variable Directrices Ejemplo

Sesión

  • 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.

"Market"."Region"=VALUEOF(NQ_SESSION."SalesRegion")

Repositorio

  • Incluir las variables de repositorio como argumento de la función VALUEOF.

  • Incluir el nombre de la variable entre comillas.

  • Hacer referencia a una variable de repositorio estática por nombre.

  • Hacer referencia a una variable de repositorio dinámica por su nombre totalmente cualificado.

    Si utiliza una variable de repositorio dinámica, los nombres del bloque de inicialización y de la variable de repositorio deben encerrarse entre comillas dobles ( " ), separados por un punto y entre paréntesis. Por ejemplo, para utilizar el valor de una variable de repositorio dinámica denominada REGION incluida en un bloque de inicialización de nombre Region Security, utilice la siguiente sintaxis:

    VALUEOF("Region Security"."REGION")

    Para obtener más información, consulte "Acerca de las Variables de Repositorio" en la Guía de Metadata Repository Builder para Oracle Business Intelligence Enterprise Edition.

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END

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, incluya toda la sintaxis entre comillas sencillas, por ejemplo:

    '@{user.displayName}'
    

Nota: 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érica: (@{variablename}{defaultvalue})

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

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

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

"Market"."Region"=@{MyFavoriteRegion}{EASTERN REGION}

o bien

"Products"."P4 Brand"=(@{myTextVar}['@']{BizTech})

o bien

"Products"."PO Product Number"=(@{myNumVar}{1000})

o bien

"Sales Person"."E7 Hire Date"=(@{myDateTimeVar}{timestamp '2013-05-16 00:00:01'})

o bien

"Time"."Total Fiscal Time"=(@{myDateVar}{date '2013-05-16'})

o bien

"Time"."Time Right Now"=(@{myTimeVar}{time '00:00:01'})

Para varios valores (en determinados tipos de dato) al utilizar SQL:

  • Si el tipo de columna es Texto y variablename transfiere val1, val2y val3, el resultante es ('val1', 'val2', 'val3').

o bien

  • Si el tipo de columna es Fecha y variablename transfiere 2013-08-09 y 2013-08-10, el resultante es (date '2013-08-09', date '2013-08-10').

o bien

  • Si el tipo de columna es Fecha-hora y variablename transfiere 2013-08-09 00:00:00 y 2013-08-10 00:00:00, el resultante es (timestamp '2013-08-09 00:00:00', timestamp '2013-08-10 00:00:00').

Para las áreas específicas en las que puede hacer referencia a variables, consulte Dónde Hacer Referencia a Variables.