Implementar Parâmetros para Origens de Dados

Para tornar as Origens de Dados mais flexíveis, pode implementar parâmetros de runtime na consulta para permitir que a Origem de Dados utilize variáveis.

Podem ser variáveis de substituição definidas no Essbase, parâmetros de runtime definidos pelo contexto da grelha quando os utilizadores do Smart View efetuam drill-through para dados externos ou funções definidas pelo utilizador escritas num sistema de origem externo.

Quando planear utilizar variáveis nas Origens de Dados do Essbase, primeiro

  1. Inclua a sintaxe de variáveis na consulta da Origem de Dados. Por exemplo, a consulta da Origem de Dados deve incluir ? na respetiva sintaxe, em que ? é um repositório de valores para uma variável a ser definida em runtime.

  2. Efetue um dos seguintes procedimentos:

    • Defina um valor de parâmetro por omissão fixo na Origem de Dados para o Essbase utilizar como alternativa caso a variável tenha um contexto inválido em runtime OU

    • Defina uma variável de substituição a ser utilizada pela Origem de Dados
    • Transmita uma função definida pelo utilizador externa (ou procedimento armazenado) como um parâmetro

Para definir Origens de Dados e implementar parâmetros para as mesmas, deve ser um gestor de aplicações ou superior.

Permitir a utilização de variáveis nas Origens de Dados do Essbase ajuda-o a otimizar as operações ao requerer a manutenção de menos Origens de Dados. A implementação de variáveis nas Origens de Dados permite-lhe especificar um contexto de consulta de runtime que será aplicado sempre que um utilizador aceder a uma Origem de Dados associada a um cubo do Essbase.

Por exemplo, considere os seguintes casos de utilização.

  • Um gestor da base de dados supervisiona uma tarefa de carregamento de dados repetitiva que carrega dados para o cubo mensalmente. O gestor da base de dados pode agora utilizar uma variável de substituição para carregar dados para o mês atual, em vez de manter uma regra de carregamento para cada mês.

  • Um gestor de aplicações mantém definições de relatórios de drill-through para diferentes casos de utilização empresarial. O gestor de aplicações implementa variáveis na Origem de Dados subjacente que os utilizadores do Smart View extraem nas respetivas operações de drill-through. Como resultado, o gestor de aplicações tem menos definições de relatórios de drill-through para manter e depurar.

Definir um Parâmetro por Omissão numa Origem de Dados

Defina um parâmetro por omissão numa Origem de Dados caso pretenda ativar a utilização de variáveis nas consultas que o Essbase gera quando trabalha com dados armazenados fora do cubo.

Para definir o parâmetro por omissão,

  1. Obtenha ou crie uma ligação à origem externa de dados (por exemplo, crie uma ligação ao Oracle Database).

    Pode utilizar uma ligação global, se já existir uma na página Origens da interface web do Essbase ou pode criar uma ligação ao nível da aplicação.

  2. Crie uma Origem de Dados através da ligação que irá utilizar para aceder ao Oracle Database.

    Pode definir uma Origem de Dados globalmente, caso esta esteja disponível para todas as aplicações ou pode defini-la ao nível da aplicação.

    1. Para criar uma Origem de Dados global, deve ser um administrador do serviço. Clique em Origens, clique no separador Origens de Dados sob o seu nome de utilizador e clique em Criar Origem de Dados.

      Em alternativa, para criar uma Origem de Dados de nível da aplicação, deve ser um gestor de aplicações or a utilizador avançado com permissão de gestão de aplicação para a aplicação especificada. No separador Aplicações, clique num nome de aplicação. Em seguida, clique em Origens, clique no separador Origens de Dados sob o seu nome de utilizador e clique em Criar Origem de Dados.

    2. No passo Geral, para Ligação, selecione a ligação ao Oracle Database que criou.

    3. Para Nome, atribua um nome à Origem de Dados.

    4. Para a Consulta, forneça uma consulta (este exemplo utiliza SQL). Para que seja uma consulta parametrizada, deve incluir uma condição de filtro (cláusula WHERE) que efetue a correspondência de uma coluna relacional na sua origem com um repositório de valores. A posição da variável deve ser indicada utilizando um repositório de valores, ?, na sintaxe da consulta. O repositório de valores corresponde a um parâmetro que irá transmitir num passo posterior.

      select * from SB_DT where DIMENSION_YEAR=?

      Por exemplo, suponha que a sua base de dados relacional tem a seguinte tabela, denominada SB_DT. A tabela tem a coluna DIMENSION_YEAR com meses como valores:
      Imagem de uma tabela de base de dados relacional com a coluna DIMENSION_YEAR selecionada. Todos os respetivos valores são meses: Jul, Aug, Aug, Sep, Sep, Oct, etc.

      Para utilizar uma variável para a seleção de valores de meses da coluna DIMENSION_YEAR, aplique a seguinte sintaxe de filtro na consulta: where DIMENSION_YEAR=?
      Imagem do separador Geral no assistente Criar Origem de Dados. Ligação: SAMPLE.oracledb_conn, Nome: oracledb_ds, Descrição: Datasource for Oracle DB, Consulta: select * from SB_DT where dimension_year=?

    5. Clique em Seguinte.

    6. No passo Colunas, aplique o tipo de dados adequado que o Essbase deve associar a cada coluna dos seus dados de origem relacional.

      Por exemplo, defina as colunas numéricas com o tipo Double e deixe as colunas alfanuméricas com o tipo String.


      Imagem do separador Colunas no assistente Criar Origem de Dados, com as seleções de Tipo, Double e String.

    7. Clique em Seguinte.

    8. No passo Parâmetros, Param1 é criado – este parâmetro existe porque utilizou um ? na consulta no passo Geral.

      Deixe Utilizar Variáveis não selecionado, clique duas vezes no campo de texto abaixo de Valor e escreva um valor por omissão para o parâmetro de runtime. Este valor por omissão destina-se a ser utilizado pelo Essbase como alternativa caso o parâmetro tenha um contexto inválido em runtime. Este passo é importante se pretender utilizar parâmetros de runtime como parte das definições de relatórios de drill-through.

      Também pode renomear Param1 para um nome que seja significativo para o seu caso de utilização. Por exemplo, pode renomeá-lo para param_G_mês para indicar que o parâmetro utiliza uma variável global para o mês atual ou pode renomeá-lo para param_<nomeAplicação>_mês para indicar que o parâmetro utiliza uma variável ao nível da aplicação para o mês atual. Customizar os nomes dos parâmetros pode ser útil ao depurar os parâmetros utilizando os ficheiros de diário do servidor do Essbase.


      Imagem do separador Parâmetros no assistente Criar Origem de Dados. Utilizar Variáveis não está selecionado e o Valor introduzido é Jan.

      Se pretender customizar o parâmetro para referenciar uma variável de substituição, não tem de fornecer um valor por omissão. Consulte Utilizar Variáveis de Substituição numa Origem de Dados em vez deste tópico.

    9. Clique em Seguinte.

    10. Na Pré-Visualização, repare que o parâmetro por omissão foi aplicado à sua consulta. Como resultado, a pré-visualização é preenchida apenas com os registos da origem externa em que o valor da coluna DIMENSION_YEAR é Jan.


      Imagem do separador Pré-Visualização no assistente Criar Origem de Dados, a mostrar apenas os registos em que DIMENSION_YEAR = Jan.

      Embora a pré-visualização apenas apresente os valores com o parâmetro por omissão aplicado, mais tarde, quando implementar parâmetros de runtime para a definição do relatório de drill-through, terá acesso a mais dados externos do que os que estão visíveis na pré-visualização.

    11. Clique em Criar para criar a Origem de Dados com base nesta consulta dos seus dados de origem externa. A Origem de Dados está ativada para a implementação de parâmetros de runtime.

Utilizar Variáveis de Substituição numa Origem de Dados

O fluxo de trabalho seguinte ilustra como criar uma Origem de Dados do Essbase a partir de uma consulta de dados de origem externa, utilizando uma variável de substituição definida no Essbase. A variável de substituição acrescenta mais flexibilidade à forma como concebe a consulta que extrai a partir dos seus dados de origem.

Neste exemplo, irá utilizar uma variável de substituição no Essbase para declarar o mês atual. Em vez de atualizar as Origens de Dados mensalmente para extrair dados para o mês atual, pode deixar as Origens de Dados inalteradas e atualizar apenas a variável de substituição que definiu.

  1. Crie uma variável de substituição global ou ao nível da aplicação.


    Imagem de uma variável de substituição criada ao nível da aplicação. Nome: CurrMonth, Valor: Aug

  2. Obtenha ou crie uma ligação à origem externa de dados (por exemplo, crie uma ligação ao Oracle Database).

    Pode utilizar uma ligação global, se já existir uma na página Origens da interface web do Essbase ou pode criar uma ligação ao nível da aplicação.

  3. Crie uma Origem de Dados através da ligação que irá utilizar para aceder ao Oracle Database.

    Pode definir uma Origem de Dados globalmente, caso esta esteja disponível para todas as aplicações ou pode defini-la ao nível da aplicação.

    1. No passo Geral, para Ligação, selecione a ligação ao Oracle Database que criou.

    2. Para Nome, atribua um nome à Origem de Dados.

    3. Para a Consulta, forneça uma consulta (este exemplo utiliza SQL). Para que seja uma consulta parametrizada, deve incluir uma condição de filtro (cláusula WHERE) que efetue a correspondência de uma coluna relacional na sua origem com um repositório de valores. A posição da variável deve ser indicada utilizando um repositório de valores, ?, na sintaxe da consulta. O repositório de valores corresponde a um parâmetro que irá transmitir num passo posterior.

      select * from SB_DT where DIMENSION_YEAR=?

      Por exemplo, suponha que a sua base de dados relacional tem a seguinte tabela, denominada SB_DT. A tabela tem a coluna DIMENSION_YEAR com meses como valores:
      Imagem de uma tabela de base de dados relacional com a coluna DIMENSION_YEAR selecionada. Todos os respetivos valores são meses: Jul, Aug, Aug, Sep, Sep, Oct, etc.

      Para utilizar uma variável para a seleção de valores de meses da coluna DIMENSION_YEAR, aplique a seguinte sintaxe de filtro na consulta: where DIMENSION_YEAR=?
      Imagem do separador Geral no assistente Criar Origem de Dados. Ligação: SAMPLE.oracledb_conn, Nome: oracledb_ds, Descrição: Datasource for Oracle DB, Consulta: select * from SB_DT where dimension_year=?

    4. Clique em Seguinte.

    5. No passo Colunas, aplique o tipo de dados adequado que o Essbase deve associar a cada coluna dos seus dados de origem relacional.

      Por exemplo, defina as colunas numéricas com o tipo Double e deixe as colunas alfanuméricas com o tipo String.


      Imagem do separador Colunas no assistente Criar Origem de Dados, com as seleções de Tipo, Double e String.

    6. Clique em Seguinte.

    7. No passo Parâmetros, Param1 é criado – este parâmetro existe porque utilizou um ? na consulta no passo Geral. Para customizar Param1 para referenciar uma variável de substituição, clique em Utilizar Variáveis e selecione uma variável de substituição a partir da lista pendente Valor.

      Se estiver a criar uma Origem de Dados numa aplicação, estão disponíveis para seleção tanto as variáveis de substituição globais como ao nível da aplicação. As variáveis ao nível da aplicação têm como prefixo o nome da aplicação. Se estiver a criar uma Origem de Dados global, só estão disponíveis para seleção as variáveis de substituição globais.

      Pode renomear Param1 para um nome que seja significativo para o seu caso de utilização. Por exemplo, pode renomeá-lo para param_G_mês para indicar que o parâmetro utiliza uma variável global para o mês atual ou pode renomeá-lo para param_<nomeAplicação>_mês para indicar que o parâmetro utiliza uma variável ao nível da aplicação para o mês atual. Customizar os nomes dos parâmetros pode ser útil ao depurar os parâmetros utilizando os ficheiros de diário do servidor do Essbase.


      Imagem do separador Parâmetros no assistente Criar Origem de Dados. Utilizar Variáveis está selecionado e o Valor é Sample.CurrMonth.

    8. Clique em Seguinte.

    9. Na Pré-Visualização, repare que a variável de substituição foi aplicada à sua consulta. Como resultado, a pré-visualização é preenchida apenas com os registos da origem externa em que o valor da coluna DIMENSION_YEAR é Aug.


      Imagem do separador Pré-Visualização no assistente Criar Origem de Dados, a mostrar apenas os registos em que DIMENSION_YEAR = Aug.

    10. Clique em Criar para criar uma Origem de Dados com base nesta consulta dos seus dados de origem externa.