Técnicas Avançadas: Referenciar Valores Armazenados em Variáveis

Poderá pretender criar uma análise cujo título apresenta o nome do utilizador atual. Pode efetuá-lo ao referenciar uma variável.

Pode referenciar vários tipos diferentes de variável nas suas análises, dashboards e ações: sessão, modelo semântico (repositório), apresentação, pedido e global. Os autores do conteúdo podem definir as variáveis de apresentação, pedido e globais, mas os outros tipos (sessão e modelo semântico (repositório)) são definidos para o utilizador no modelo semântico.

Nota: O Oracle Analytics não suporta as variáveis :user e :password nas credenciais de ligação da origem de dados.

Tipo de Variável Definido em Definido por Mais Informações

Sessão

  • Sistema

  • Não Pertencente ao Sistema

Modelo semântico

Autores do modelo de dados

Acerca das Variáveis da Sessão

Modelo Semântico (Repositório)

  • Dinâmico

  • Estático

Modelo semântico

Autores do modelo de dados

Acerca das Variáveis de Modelo Semântico (Repositório)

Apresentação

Prompts para análises e dashboards

Autores do conteúdo

Acerca das Variáveis de Apresentação

Pedido

Prompts para análises e dashboards

Autores do conteúdo

Acerca das Variáveis do Pedido

Global

Análises

Administradores

Acerca das Variáveis Globais e Criar Variáveis Globais

Acerca das Variáveis da Sessão

As variáveis da sessão são inicializadas quando um utilizador entra em sessão.

Estas variáveis existem para cada utilizador enquanto durar a respetiva sessão de navegação e expiram quando o utilizador fechar o browser ou sair de sessão. Existem dois tipos de variáveis de sessão: do sistema e não pertencentes ao sistema.

Variáveis de Sessão do Sistema

Existem diversas variáveis de sessão do sistema que pode utilizar nos seus relatórios e dashboards.

As variáveis de sessão do sistema têm nomes reservados, pelo que não podem ser utilizados para nenhum outro tipo de variável.

Variável de Sessão do Sistema Descrição Valor da Consulta de SQL de Exemplo (caixa de diálogo Variável)

PORTALPATH

Identifica o dashboard por omissão que um utilizador vê quando entra em sessão (esta preferência pode ser substituída após a entrada em sessão).

Para apresentar 'mydashboard' quando um utilizador entra em sessão:

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

TIMEZONE

Especifica o fuso horário por omissão para um utilizador quando este entra em sessão.

Normalmente, o fuso horário de um utilizador é preenchido a partir do perfil do utilizador. Os utilizadores podem alterar o respetivo fuso horário por omissão através das preferências (A Minha Conta).

Para definir o fuso horário quando um utilizador entra em sessão:

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

DATA_TZ

Especifica a diferença em relação ao fuso horário original para os dados.

Esta variável permite converter um fuso horário para que os utilizadores vejam o fuso horário adequado.

Para converter os dados de hora para a Hora Padrão do Leste (EST):

select ‘GMT-05:00’ from dual;

Este exemplo significa Tempo Médio de Greenwich (GMT) - 5 horas

DATA_DISPLAY_TZ

Especifica o fuso horário para apresentação dos dados.

Para apresentar a Hora Padrão do Leste (EST):

select ‘GMT-05:00’ from dual;

Este exemplo significa Tempo Médio de Greenwich (GMT) - 5 horas

Variáveis de Sessão Não Pertencentes ao Sistema

As variáveis de sessão não pertencentes ao sistema são nomeadas e criadas no seu modelo semântico.

Por exemplo, o modelador de dados pode criar uma variável SalesRegion que é inicializada para o nome da região de vendas de um utilizador quando este entra em sessão.

Acerca das Variáveis de Modelo Semântico (Repositório)

Uma variável de modelo semântico (repositório) é uma variável com um único valor em qualquer altura.

As variáveis de modelo semântico (repositório) podem ser estáticas ou dinâmicas. Uma variável de modelo semântico (repositório) estática tem um valor que persiste e só é mudado pelo administrador. Uma variável de modelo semântico (repositório) dinâmica tem um valor que é renovado pelos dados devolvidos das consultas.

Acerca das Variáveis de Apresentação

O utilizador cria uma variável de apresentação ao criar um prompt de coluna ou um prompt de variável.

Tipo Descrição

Prompt da coluna

Uma variável de apresentação criada como parte de um prompt de coluna é associada a uma coluna e os valores possíveis são provenientes dos valores da coluna.

Para criar uma variável de apresentação como parte de um prompt de coluna, na caixa de diálogo Novo Prompt, deve selecionar Variável da Apresentação no campo Definir uma variável. Introduza um nome para a variável no campo Nome da Variável.

Prompt da variável

Uma variável de apresentação criada como parte de um prompt de variável não é associada a nenhuma coluna, pelo que deverá definir os valores possíveis.

Para criar uma variável de apresentação como parte de um prompt de coluna, na caixa de diálogo Novo Prompt, deve selecionar Variável da Apresentação no campo Prompt de. Introduza um nome para a variável no campo Nome da Variável.

O valor de uma variável de apresentação é preenchido pelo prompt de coluna ou variável com a qual foi criado. Ou seja, sempre que um utilizador selecionar um ou mais valores no prompt de coluna ou variável, o valor da variável da apresentação é definido como o valor ou valores selecionados pelo utilizador.

Acerca das Variáveis do Pedido

Uma variável de pedido permite-lhe substituir o valor da variável de uma sessão apenas durante um pedido da base de dados iniciado a partir de um prompt da coluna. Pode criar uma variável do pedido como parte do processo de criar um prompt da coluna.

Pode criar uma variável do pedido como parte do processo de criação de um dos seguintes tipos de prompts do dashboard:

  • Uma variável de pedido criada como parte de um prompt da coluna é associada a uma coluna e os valores que pode assumir originam dos valores da coluna.

    Para criar uma variável do pedido como parte de um prompt da coluna na caixa de diálogo Novo Prompt, deve selecionar Variável do Pedido no campo Definir uma variável. Introduza o nome da variável da sessão a substituir no campo Nome da Variável.

  • Uma variável do pedido criada como parte de um prompt da coluna não é associada a uma coluna e os valores que pode assumir são definidos pelo utilizador.

    Para criar uma variável do pedido como parte de um prompt da variável na caixa de diálogo Novo Prompt (ou caixa de diálogo Editar Prompt), deve selecionar Variável do Pedido no campo Prompt da. Em seguida, introduza o nome da variável da sessão que pretende substituir no campo Nome da Variável.

O valor de uma variável do pedido é preenchido pelo prompt da coluna com que foi criado. Ou seja, sempre que um utilizador selecionar um valor no prompt da coluna, o valor da variável do pedido é definido para o valor que o utilizador selecionar. Contudo, o valor está em vigor apenas a partir da altura em que o utilizador prime o botão Ir do prompt até os resultados da análise serem devolvidos ao dashboard.

Determinadas variáveis da sessão de sistema (como USERGUID ou ROLES) não podem ser substituídas por variáveis de pedido. Outras variáveis de sessão do sistema, como DATA_TZ e DATA_DISPLAY_TZ (Fuso Horário), podem ser substituídas se configuradas no Model Administration Tool.

Apenas as variáveis de pedido de cadeia de caracteres e numérica suportam valores múltiplos. Todos os outros tipos de dados transmitem apenas o primeiro valor.

Acerca das Variáveis Globais

Uma variável global é uma coluna criada através da combinação de um tipo de dados específico com um valor. O valor pode ser uma Data, Data e Hora, Número, Texto e Hora.

A variável global é avaliada no momento em que a análise é executada, sendo o valor da variável global substituído em conformidade.

As variáveis globais só podem ser geridas (acrescentadas, editadas e apagadas) por utilizadores com o perfil de grupo Administrador de Serviços do BI.

Um valor global é criado durante o processo de criação de uma análise através da caixa de diálogo Editar Fórmula da Coluna. A variável global é depois gravada no catálogo e disponibilizada às restantes análises num sistema de tenant específico.

Criar Variáveis Globais

Pode gravar um cálculo como variável global e, em seguida, reutilizá-lo em diferentes análises.

  1. Abra a análise para edição.
  2. No painel Colunas Selecionadas, clique em Opções junto ao nome da coluna.
  3. Selecione Editar Fórmula para apresentar o separador Fórmula da Coluna.
  4. Clique em Variável e selecione Global.
  5. Clique em Acrescentar Nova Variável Global.
  6. Introduza o valor para o Nome. Por exemplo, gv_region, date_and_time_global_variable ou rev_eastern_region_calc_gv.
    O nome de uma variável global deve ser totalmente qualificado ao referenciar a variável e, como tal, tem o prefixo do texto "global.variables". Por exemplo, uma variável global definida para calcular as receitas é apresentada na caixa de diálogo Fórmula da Coluna da seguinte forma:

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

  7. Introduza valores para o Tipo e o Valor.
    • Se estiver a selecionar "Data e Hora" como tipo de dados, introduza o valor como no exemplo que se segue: 03/25/2004 12:00:00 AM
    • Se estiver a introduzir uma expressão ou um cálculo como valor, deve utilizar o tipo de dados Texto, como no exemplo que se segue: "Base Facts"."1- Revenue"*3.1415
  8. Clique em OK. A nova variável global é acrescentada à caixa de diálogo Inserir Variável Global.
  9. Selecione a nova variável global que criou e clique em OK. A caixa de diálogo Editar Fórmula da Coluna é apresentada com a variável global inserida no painel Fórmula da Coluna. A caixa de seleção Títulos Customizados é automaticamente marcada.
  10. Introduza um novo nome para a coluna à qual tem atribuída uma variável global para refletir a variável com mais rigor.
  11. Clique em OK.

Sintaxe para Referenciar Variáveis

Pode referenciar variáveis em análises e dashboards.

A forma como referencia uma variável depende da tarefa que está a executar. Para as tarefas onde são apresentados campos numa caixa de diálogo, só deve especificar o tipo e o nome da variável (e não a sintaxe completa), por exemplo, referenciar uma variável numa definição de filtro.

Para outras tarefas, como referenciar uma variável numa visualização de título, a sintaxe da variável é especificada. A sintaxe que utiliza depende do tipo de variável descrita na seguinte tabela.

Tipo Sintaxe Exemplo

Sessão

@{biServer.variables['NQ_SESSION.nomedavariável']}

em que nomedavariável é o nome da variável da sessão, por exemplo DISPLAYNAME.

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

Modelo Semântico (Repositório)

@{biServer.variables.nomedavariável}

ou

@{biServer.variables['nomedavariável']}

em que nomedavariável é o nome da variável, por exemplo, prime_begin

@{biServer.variables.prime_begin}

ou

@{biServer.variables['prime_begin']}

Apresentação ou pedido

@{variables.nomedavariável}[formato]{valorporomissão}

ou

@{âmbito.variables['nomedavariável']}

em que:

nomedavariável é o nome da variável da apresentação ou pedido, por exemplo, MyFavoriteRegion.

(opcional) formato é uma máscara de formato dependente do tipo de dados da variável, por exemplo, #,##0, MM/DD/AA hh:mm:ss. (Note que o formato não é aplicado ao valor por omissão.)

(opcional) valorporomissão é uma referência de constante ou variável que indica um valor a utilizar se a variável referenciada por nomedavariável não for preenchida.

âmbito identifica os qualificadores para a variável. Deve especificar o âmbito quando uma variável for utilizada em múltiplos níveis (análises, páginas de dashboard e dashboards) e pretende ter acesso a um valor específico. (Se não especificar o âmbito, a ordem de precedência é análises, páginas de dashboard e dashboards.)

Quando utilizar um prompt do dashboard com uma variável de apresentação que pode ter múltiplos valores, a sintaxe difere consoante o tipo de coluna. Múltiplos valores são formatados em valores separados por vírgulas e, por conseguinte, qualquer cláusula de formato é aplicada a cada valor antes de ter uma junção com vírgulas.

@{variables.MyFavoriteRegion}{EASTERN REGION}

ou

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

ou

@{dashboard.variables['MyFavoriteRegion']}

ou

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

ou

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

ou

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

Global

@{global.variables.nomedavariável}

em que nomedavariável é o nome da variável global, por exemplo, gv_region. Quando referenciar uma variável global, deve utilizar o nome totalmente qualificado conforme indicado no exemplo.

A convenção de nomenclatura para variáveis globais deve estar em conformidade com as especificações da linguagem de scripts ECMA para JavaScript. O nome não deve exceder 200 caracteres, nem conter espaços incorporados, palavras reservadas e caracteres especiais. Se não conhecer os requisitos da linguagem JavaScripting, consulte uma referência independente

@{global.variables.gv_date_n_time}

Também pode referenciar variáveis em expressões. As diretrizes para referenciar variáveis em expressões são descritas nos seguintes tópicos:

Variáveis da Sessão

Pode utilizar as seguintes diretrizes para referenciar variáveis de sessão em expressões.

  • Inclua a variável de sessão como um argumento da função VALUEOF.
  • Coloque o nome da variável entre aspas.
  • Preceda a variável de sessão com NQ_SESSION e um ponto.
  • Coloque NQ_SESSION entre aspas.
  • Coloque entre parênteses a parte NQ_SESSION e o nome da variável de sessão.

Por exemplo:

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

Variáveis da Apresentação

Pode utilizar as seguintes diretrizes para referenciar variáveis de apresentação em expressões.

Quando referenciar uma variável de apresentação, utilize esta sintaxe:

@{variablename}{defaultvalue}

em que nomedavariável é o nome da variável de apresentação e valorporomissão (opcional) é uma referência de constante ou variável que indica um valor a utilizar caso a variável referenciada pelo nomedavariável não seja preenchida.

Para efetuar a conversão de tipos da variável numa cadeia de caracteres ou incluir múltiplas variáveis, coloque toda a variável entre plicas, por exemplo:

'@{user.displayName}'

Se o símbolo @ não for seguido de {, é tratado como um símbolo @. Quando utilizar uma variável de apresentação com múltiplos valores, a sintaxe difere consoante o tipo de coluna.

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

  • Texto — (@{nomedavariável}['@']{'valorporomissão'})

  • Numérico — (@{nomedavariável}{valorporomissão})

  • Data-hora — (@{nomedavariável}{timestamp 'valorporomissão'})

  • Data (apenas a data) — (@{nomedavariável}{date 'valorporomissão'})

  • Hora (apenas a hora) — (@{nomedavariável}{time 'valorporomissão'})

Por exemplo:

'@{user.displayName}'

Variáveis de Modelo Semântico (Repositório)

Pode utilizar as seguintes diretrizes para referenciar variáveis de modelo semântico (repositório) em expressões.

  • Inclua a variável como um argumento da função VALUEOF.
  • Coloque o nome da variável entre aspas.
  • Consulte uma variável de modelo semântico (repositório) estática pelo nome.
  • Consulte uma variável de modelo semântico (repositório) dinâmica pelo respetivo nome totalmente qualificado.

Por exemplo:

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