Qual é a Sintaxe para Fazer Referência a Variáveis?

Você pode fazer referência a variáveis em análises, painéis de controle, KPIs e agentes. Como você faz referência a uma variável dependem da tarefa que você está executando.

Para tarefas em que é exibida em uma caixa de diálogo com campos, você deverá especificar só o tipo e o nome da variável (não a sintaxe inteira), por exemplo, fazendo referência a uma variável em uma definição de filtro.

Para outras tarefas, como fazer referência a uma variável em uma view de título, você especifica a sintaxe da variável. A sintaxe que você usa depende do tipo de variável descrito na tabela.

Nota:

Na sintaxe, se o sinal "arroba" (@) não for seguido por uma chave ({), em seguida, ele será tratada como uma "arroba".
Tipo de Variável Sintaxe Exemplo

Sessão

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

onde variablename é o nome da variável de sessão, por exemplo, DISPLAYNAME.

Para obter uma lista de variáveis de sessão do sistema que você pode usar, consulte Sobre Variáveis de Sessão do Sistema no Guia do Criador de Repositório de Metadados para o Oracle Business Intelligence Enterprise Edition.

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

Repositório

@{biServer.variables.variablename}

ou

@{biServer.variables['variablename']}

onde variablename é o nome da variável de repositório, por exemplo, prime_begin.

@{biServer.variables.prime_begin}

ou

@{biServer.variables['prime_begin']}

Apresentação ou solicitação

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

ou

@{scope.variables['variablename']}

onde:

  • variablename é o nome da apresentação ou variável de solicitação, por exemplo, MyFavoriteRegion.

  • (opcional) format é uma máscara de formato dependente do tipo de dados da variável, por exemplo, #,##0, MM/DD/YY hh:mm:ss. (Observe que o formato do arquivo não é aplicada ao valor padrão.)

  • (opcional) defaultvalue é uma constante ou referência de variável indicando um valor a ser usado se a variável referenciada por variablename não estiver preenchida.

  • escopo identifica os qualificadores da variável. Você deve especificar o escopo quando uma variável for usada em vários níveis (análises, páginas do painel de controle e painéis de controle) e você deseja acessar um valor específico. (Se você não especificar o escopo, então a ordem de precedência será análises, páginas do painel de controle e painéis de controle).

Observação: ao usar um prompt do painel de controle com uma variável de apresentação que pode ter vários valores, a sintaxe difere, dependendo do tipo de coluna. Vários valores são formatados em valores separados por vírgulas e, portanto, todas as cláusulas de formato são aplicadas a cada valor antes de serem unidos por vírgulas.

@{variables.MyFavoriteRegion}{EASTERN REGION}

ou

@{MyFavoriteRegion}

ou

@{dashboard.variables['MyFavoriteRegion']}

ou

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

ou

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

ou

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

Global

@{global.variables.variablename}

onde variablename é o nome da variável global, por exemplo, gv_region. Ao fazer referência a uma variável global, use o nome totalmente qualificado conforme indicado no exemplo.

Observação: a convenção de nomenclatura para variáveis globais deverá estar em conformidade com as especificações de linguagem de Script EMCA para JavaScript. O nome não deve exceder 200 caracteres nem pode conter espaços embutidos, palavras reservadas e caracteres especiais. Se você não estiver familiarizado com os requisitos da linguagem JavaScript, consulte uma referência especializada.

@{global.variables.gv_date_n_time}

Você também pode fazer referência a variáveis nas expressões. As diretrizes para mencionar variáveis em expressões são descritas na tabela a seguir.

Tipo de Variável Diretrizes Exemplo

Sessão

  • Incluir a variável da sessão como um argumento da função VALUEOF.

  • Colocar o nome da variável entre aspas duplas.

  • Preceder a variável da sessão por NQ_SESSION e um ponto.

  • Colocar a parte de NQ_SESSION e o nome da variável da sessão entre parênteses.

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

Repositório

  • Inclui a variável de repositório como um argumento da função VALUEOF.

  • Colocar o nome da variável entre aspas duplas.

  • Consulte uma variável do repositório estático por nome.

  • Consulte uma variável de repositório dinâmica por seu nome totalmente qualificado.

    Se você estiver usando uma variável dinâmica de repositório, então os nomes do bloco de inicialização e a variável de repositório tiverem que ser delimitados por aspas duplas ("), separados por um ponto e colocados entre parênteses. Por exemplo, para usar o valor de uma variável de repositório dinâmica denominada REGION, contida em um bloco de inicialização chamado Segurança da Região, use esta sintaxe:

    VALUEOF("Region Security"."REGION")

    Para obter mais informações, consulte "Sobre Variáveis de Repositório" em Guia do Criador de Repositório de Metadados para o Oracle Business Intelligence Enterprise Edition.

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

Apresentação

  • Use esta sintaxe:

    @{variablename}{defaultvalue}
    

    onde variablename é o nome da variável de apresentação e defaultvalue (opcional) é uma constante ou referência de variável indicando um valor a ser usado, se a variável referenciada por variablename não for preenchida.

  • Para converter a variável em uma string, coloque toda a sintaxe entre aspas simples, por exemplo:

    '@{user.displayName}'
    

Observação: se o sinal de @ não for seguido por uma {, então ele será tratado como um sinal de @.

Durante a utilização de uma variável de apresentação que pode ter vários valores, a sintaxe diferirá, dependendo do tipo de coluna.

Use a seguinte sintaxe em SQL para o tipo de coluna especificado a fim de gerar instruções SQL válidas:

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

  • Numeric — (@{variablename}{defaultvalue})

  • Data-hora — (@{variablename}{timestamp 'defaultvalue'})

  • Data (só a data) — (@{variablename}{date 'defaultvalue'})

  • Horário (só o horário) — (@{variablename}{time 'defaultvalue'})

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

ou

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

ou

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

ou

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

ou

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

ou

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

Para vários valores (em tipos de dados especificados) ao usar SQL:

  • Se o tipo de coluna for Texto e variablename estiver especificando val1, val2 e val3, o valor resultante será ('val1', 'val2', 'val3').

ou

  • Se o tipo de coluna for Data e variablename estiver especificando 2013-08-09 e 2013-08-10, o valor resultante será (data '2013-08-09', data '2013-08-10').

ou

  • Se o tipo de coluna for Data-hora e variablename estiver especificando 2013-08-09 00:00:00 e 2013-08-10 00:00:00, o valor resultante será (timestamp '2013-08-09 00:00:00', timestamp '2013-08-10 00:00:00').

Para áreas específicas nas quais você pode mencionar variáveis, consulte Onde Posso Fazer Referência a Variáveis?