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

Talvez você queira criar uma análise cujo título exiba o nome do usuário atual. Você pode fazer isso fazendo referência a uma variável.

Você pode referenciar diversos tipos de variável em suas análises, painéis de controle e ações: sessão, modelo semântico (repositório), apresentação, solicitação e global. Os próprios autores de conteúdo podem definir as variáveis de apresentação, solicitação e globais, mas outros tipos (sessão e modelo semântico (repositório) são definidos por você no modelo semântico.

Observação: O Oracle Analytics não oferece suporte às variáveis :user e :password nas credenciais de conexão da origem de dados.

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

Sessão

  • Sistema

  • Não do sistema

Modelo semântico

Autores de modelo de dados

Sobre Variáveis de Sessão

Modelo Semântico (Repositório)

  • Dinâmico

  • Estático

Modelo semântico

Autores de modelo de dados

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

Apresentação

Prompts para análises e painéis de controle

Autores de conteúdo

Sobre Variáveis de Apresentação

Solicitação

Prompts para análises e painéis de controle

Autores de conteúdo

Sobre Variáveis de Solicitação

Global

Análises

Administradores

Sobre Variáveis Globais e Criar Variáveis Globais

Sobre Variáveis de Sessão

As variáveis de sessão são inicializadas quando um usuário acessa.

Essas variáveis existem para cada usuário na duração da sessão de navegação e expiram quando o usuário fecha o browser ou sai do sistema. Há dois tipos de variável de sessão: sistema e não do sistema.

Variáveis de Sessão do Sistema

Existem diversas variáveis de sessão do sistema que você pode usar em seus relatórios e painéis de controle.

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

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

PORTALPATH

Identifica o painel de controle padrão que um usuário vê quando acessa o sistema (essa preferência pode ser substituída após o acesso).

Para exibir ‘mydashboard’ quando um usuário acessa:

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

TIMEZONE

Especifica o fuso horário padrão de um usuário quando ele acessa.

O fuso horário de um usuário normalmente é preenchido com base no perfil do usuário. Os usuários podem alterar o fuso horário padrão nas preferências (Minha Conta).

Para definir o fuso horário quando um usuário acessa:

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

DATA_TZ

Especifica um deslocamento do fuso horário original dos dados.

Essa variável permite que você converta um fuso horário para que os usuários vejam o fuso apropriado.

Para converter os dados de horário em EST (Horário Padrão do Leste):

select ‘GMT-05:00’ from dual;

Este exemplo significa GMT (Hora de Greenwich) - 5 horas

DATA_DISPLAY_TZ

Especifica o fuso horário da exibição dos dados.

Para exibir no EST (Horário Padrão do Leste)

select ‘GMT-05:00’ from dual;

Este exemplo significa GMT (Hora de Greenwich) - 5 horas

Variáveis de Sessão Não do Sistema

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

Por exemplo, o modelador de dados pode criar uma variável SalesRegion que inicializa o nome de uma região de vendas do usuário quando ele acessa.

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

Uma variável de modelo semântico (repositório) é uma variável que possui um único valor em determinado momento.

As variáveis de modelo semântico (repositório) podem ser estáticas ou dinâmicas. Uma variável estática de modelo semântico (repositório) tem um valor que persiste e não muda enquanto o administrador não o alterar. Uma variável dinâmica de modelo semântico (repositório) tem um valor que é atualizado por dados retornados das consultas.

Sobre Variáveis de Apresentação

Você pode criar uma variável de apresentação ao criar um prompt de coluna ou de variável.

Tipo Descrição

Prompt de coluna

Uma variável de apresentação criada como parte de um prompt de coluna é associada a uma coluna e os valores que ela pode assumir vêm dos valores de coluna.

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

Prompt de variável

Uma variável de apresentação criada como parte de um prompt de variável não está associada a qualquer coluna e você define os valores que ela pode ter.

Para criar uma variável de apresentação como parte de um prompt de variável, na caixa de diálogo Novo Prompt, selecione Variável de Apresentação no campo Prompt para. Informe 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 em que ela foi criada. Ou seja, cada vez que um usuário seleciona um ou mais valores na coluna prompt ou variável, o valor da variável de apresentação é definido com o valor ou valores que o usuário seleciona.

Sobre Variáveis de Solicitação

Uma solicitação de variável permite que você substitua o valor de uma variável de sessão, mas somente enquanto durar uma solicitação do banco de dados iniciada de um prompt de coluna. Você pode criar uma variável de solicitação como parte do processo de criar um prompt de coluna.

Você pode criar uma variável de solicitação como parte do processo de criação de um dos seguintes tipos de prompts do painel de controle:

  • Uma variável de solicitação que é criada como parte de um prompt da coluna está associada a uma coluna, e os valores que ele pode assumir vêm dos valores da coluna.

    Para criar uma variável de solicitação como parte de um prompt de coluna, na caixa de diálogo Novo Prompt, selecione Variável de Solicitação no campo Definir uma variável. Informe o nome da variável de sessão para substituição no campo Nome da Variável.

  • Uma variável de solicitação criada como parte de um prompt de variável não é associada a qualquer coluna, e você define os valores que ela pode ter.

    Para criar uma variável de solicitação como parte de um prompt de variável, na caixa de diálogo Novo Prompt (ou Editar Prompt), selecione Variável de Solicitação no campo Prompt para. Em seguida, informe um nome da variável de sessão que você deseja substituir no campo Nome da Variável.

O valor de uma variável de solicitação é preenchido pelo prompt da coluna em que ela foi criada. Ou seja, cada vez que um usuário seleciona um valor no prompt da coluna, o valor da variável de solicitação é definido com o valor que o usuário seleciona. Contudo, o valor só permanecerá em efeito no momento em que o usuário pressionar o botão Ir para o prompt até que a análise de resultados seja retornada para o painel de controle.

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

Só variáveis de solicitações numéricas e de string suportam vários valores. Todos os outros tipos de dados só especificam o primeiro valor.

Sobre Variáveis Globais

Uma variável global é uma coluna criada combinando um tipo de dados específico com um valor. O valor pode ser Date, Date e Time, Number, Text e Time.

A variável global é avaliada no momento em que a análise é executada, e o valor da variável global é substituído de forma apropriada.

Somente usuários com a atribuição de Administrador de Serviços do BI podem gerenciar (adicionar, editar e excluir) variáveis globais.

Você cria um valor global durante o processo de criação de uma análise usando a caixa de diálogo Editar Fórmula da Coluna. A variável global então é salva no catálogo e disponibilizada para todas as outras análises em um sistema de tenant específico.

Criar Variáveis Globais

Você pode salvar um cálculo como variável global e depois reutilizá-lo em diferentes análises.

  1. Abra a análise para edição.
  2. No painel Colunas Selecionadas, clique em Opções ao lado do nome da coluna.
  3. Selecione Editar Fórmula para exibir a guia Fórmula da Coluna.
  4. Clique em Variável e selecione Global.
  5. Clique em Adicionar Nova Variável Global.
  6. Insira 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 estar totalmente qualificado ao referenciar a variável; por isso, é prefixado pelo texto "global.variables". Por exemplo, uma variável global definida para calcular a receita é exibida na caixa de diálogo Fórmula da Coluna da seguinte maneira:

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

  7. Digite os valores de Tipo e Valor.
    • Se você estiver selecionando "Data e Hora" como o tipo de dados, informe o valor como neste exemplo: 03/25/2004 12:00:00 AM
    • Se você estiver informando uma expressão ou um cálculo como valor, use o tipo de dados Texto, como neste exemplo: "Base Facts"."1- Revenue"*3.1415
  8. Clique em OK. A nova variável global será adicionada à caixa de diálogo Inserir Variável Global.
  9. Selecione a nova variável global que acabou de criar e clique em OK. A caixa de diálogo Editar Fórmula de Coluna é exibida com a variável global inserida no painel Fórmula de Coluna. A caixa de seleção Cabeçalhos Personalizados é selecionada automaticamente.
  10. Informe um novo nome para a coluna à qual designou uma variável global para refletir mais precisamente a variável.
  11. Clique em OK.

Sintaxe para Fazer Referência a Variáveis

Você pode fazer referência a variáveis em análises e painéis de controle.

Como você faz referência a uma variável depende 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, conforme descrito na tabela a seguir.

Tipo Sintaxe Exemplo

Sessão

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

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

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

Modelo Semântico (Repositório)

@{biServer.variables.variablename}

ou

@{biServer.variables['variablename']}

em que variablename é o nome da variável, 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 é aplicado 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).

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

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

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.

A convenção de nomenclatura para variáveis globais deverá estar em conformidade com as especificações de linguagem de Script ECMA 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 terceirizada

@{global.variables.gv_date_n_time}

Você também pode fazer referência a variáveis em expressões. As diretrizes para fazer referência a variáveis em expressões são descritas nos tópicos a seguir:

Variáveis de Sessão

Você pode usar as seguintes diretrizes para fazer referência a variáveis de sessão em expressões.

  • 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.
  • Coloque NQ_SESSION entre aspas duplas.
  • Colocar a parte de NQ_SESSION e o nome da variável da sessão entre parênteses.

Por exemplo:

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

Variáveis de Apresentação

Você pode usar as seguintes diretrizes para fazer referência à variável de apresentação em expressões.

Ao fazer referência a uma variável de apresentação, use esta sintaxe:

@{variablename}{defaultvalue}

em que 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 ou incluir diversas variáveis, coloque toda a variável entre aspas simples, por exemplo:

'@{user.displayName}'

Se o sinal @ não for seguido por uma {, ele será tratado como um sinal @. 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'})

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

  • Data e horário — (@{variablename}{timestamp 'defaultvalue'})

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

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

Por exemplo:

'@{user.displayName}'

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

Você pode usar as seguintes diretrizes para fazer referência a variáveis de modelo semântico (repositório) em expressões.

  • Inclui a variável como um argumento da função VALUEOF.
  • Colocar o nome da variável entre aspas duplas.
  • Consulte uma variável estática do modelo semântico (repositório) pelo nome.
  • Consulte uma variável dinâmica do modelo semântico (repositório) por seu nome totalmente qualificado.

Por exemplo:

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