Para tornar as Origens de Dados mais flexíveis, você pode implementar parâmetros de runtime na consulta para permitir que a Origem de Dados use variáveis.
Podem ser variáveis de substituição definidas no Essbase, parâmetros de runtime definidos pelo contexto de grade quando os usuários do Smart View fazem drill through de dados externos ou funções definidas pelo usuário gravadas em um sistema de origem externo.
Sempre que você planejar usar variáveis nas Origens de Dados do Essbase, precisará primeiramente
Incluir a sintaxe de variável na consulta da Origem de Dados. Por exemplo, a consulta da Origem de Dados deve incluir ?
em sua sintaxe, em que ?
é um placeholder para uma variável a ser definida no runtime.
Siga um destes procedimentos:
Defina um valor de parâmetro padrão fixo na Origem de Dados para que o Essbase use como fallback caso a variável tenha um contexto inválido no runtime OU
Especifique uma função externa definida pelo usuário (ou procedimento armazenado) como parâmetro
Para definir Origens de Dados e implementar parâmetros para elas, você deverá ser gerente de aplicativos ou superior a gerente.
A ativação do uso de variáveis nas Origens de Dados do Essbase ajuda a simplificar as operações, exigindo que menos Origens de Dados sejam mantidas. A implementação de variáveis em Origens de Dados permite que você especifique um contexto de consulta de runtime que será aplicado sempre que um usuário acessar a Origem de Dados associada a um cubo do Essbase.
Por exemplo, suponha os seguintes casos de uso.
Um gerente de banco de dados supervisiona um trabalho de carregamento de dados recorrente que carrega dados para o cubo mensalmente. O gerente agora pode usar uma variável de substituição para carregar os dados do mês atual, em vez de manter uma regra de carregamento para cada mês.
Um gerente de aplicativo mantém definições de relatório de drill through para diferentes casos de uso de negócios. O gerente implementa variáveis na Origem de Dados subjacente que os usuários do Smart View extraem de suas operações de drill through. Como resultado, o gerente de aplicativo tem menos definições de relatório de drill through para manter e depurar.
Defina um parâmetro padrão em uma Origem de Dados se quiser permitir o uso de variáveis nas consultas que o Essbase gera quando ele trabalha com dados armazenados fora do cubo.
Para definir o parâmetro padrão,
Obtenha ou crie uma conexão com a origem externa de dados (por exemplo, crie uma conexão com o Oracle Database).
Você poderá usar uma conexão global, se já existir alguma na página Origens da interface web do Essbase, ou pode criar uma conexão no nível do aplicativo.
Crie uma Origem de Dados sobre a conexão que você usará para acessar o Oracle Database.
Será possível definir uma Origem de Dados globalmente, se for necessário que ela esteja disponível a todos os aplicativos, ou defini-la no nível do aplicativo.
Para criar uma Origem de Dados global, você deve ser administrador de serviço. Clique em Origens, clique na guia Origens de Dados abaixo do seu nome de usuário e clique em Criar Origem de Dados.
Ou, para criar uma Origem de Dados no nível do aplicativo, você deverá ser gerenciador de aplicativos ou usuário avançado com permissão de gerenciamento para o aplicativo especificado. Na guia Aplicativos, clique em um nome de aplicativo. Em seguida, clique em Origens, clique na guia Origens de Dados abaixo do seu nome de usuário e clique em Criar Origem de Dados.
Na etapa Geral, para Conexão, selecione a conexão do Oracle Database que você criou.
Para Nome, dê um nome à Origem de Dados.
Para a Consulta, forneça uma consulta (esse exemplo usa SQL). Para torná-la uma consulta parametrizada, inclua uma condição de filtro (cláusula WHERE) que mapeie uma coluna relacional em sua origem para um placeholder. Indique a posição da variável usando um placeholder, ?, na sintaxe da consulta. O placeholder destina-se a um parâmetro que você especifica em uma etapa posterior.
select * from SB_DT where DIMENSION_YEAR=?
Por exemplo, suponha que o seu banco de dados relacional tenha a tabela a seguir, chamada SB_DT. A tabela tem a coluna DIMENSION_YEAR com os meses sendo os valores:
Para usar uma variável para a seleção de valores de meses na coluna DIMENSION_YEAR, aplique a seguinte sintaxe de filtro na consulta: where DIMENSION_YEAR=?
Clique em Próximo.
Na etapa Colunas, aplique o tipo de dados apropriado que o Essbase deverá associar a cada coluna dos dados relacionais de origem.
Por exemplo, defina as colunas numéricas com o tipo Duplo e deixe as colunas alfanuméricas definidas como String.
Clique em Próximo.
Na etapa Parâmetros, foi criado Param1 – esse parâmetro existe porque você usou um sinal ? na consulta da etapa Geral.
Deixe a opção Usar Variáveis desmarcada, clique duas vezes no campo de texto abaixo de Valor e digite um valor padrão para o parâmetro de runtime. A finalidade desse valor padrão é para que o Essbase use como fallback caso o parâmetro tenha um contexto inválido no runtime. Essa etapa será importante se você planejar usar parâmetros de runtime como parte das definições de relatório de drill through.
Você também pode renomear Param1 para um nome que tenha significado para seu caso de uso. Por exemplo, pode renomeá-lo para param_G_month para indicar que o parâmetro usa uma variável global para o mês atual ou pode renomeá-lo para param_<appName>_month para indicar que o parâmetro usa uma variável no nível do aplicativo para o mês atual. A personalização dos nomes de parâmetro pode ser útil ao depurar parâmetros usando os arquivos de log do servidor Essbase.
Se você quiser personalizar o parâmetro para referenciar uma variável de substituição, não precisará especificar um valor padrão. Consulte Usar Variáveis de Substituição em uma Origem de Dados em vez deste tópico.
Clique em Próximo.
Em Visualizar, observe que o parâmetro padrão foi aplicado à consulta. Como resultado, a visualização só é preenchida com registros externos de origem em que o valor da coluna DIMENSION_YEAR é Jan.
Embora a visualização só exiba valores com o parâmetro padrão aplicado, posteriormente, quando você implementar os parâmetros de runtime para definição de relatório de drill through, terá acesso a mais dados externos do que podia ver na visualização.
Clique em Criar para criar a Origem de Dados com base nessa consulta de dados de origem externos. A Origem de Dados está ativada para implementação dos parâmetros de runtime.
O workflow a seguir ilustra como criar uma Origem de Dados do Essbase tendo como base uma consulta de dados de origem externos, usando uma variável de substituição definida no Essbase. A variável de substituição adiciona mais flexibilidade ao modo como você projeta uma consulta extraída dos dados de origem.
Neste exemplo, você usará 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 do mês atual, você pode isolar as Origens de Dados e atualizar apenas a variável de substituição que você definiu.
Crie uma variável de substituição de nível global ou do aplicativo.
Obtenha ou crie uma conexão com a origem externa de dados (por exemplo, crie uma conexão com o Oracle Database).
Você poderá usar uma conexão global, se já existir alguma na página Origens da interface web do Essbase, ou pode criar uma conexão no nível do aplicativo.
Crie uma Origem de Dados sobre a conexão que você usará para acessar o Oracle Database.
Será possível definir uma Origem de Dados globalmente, se for necessário que ela esteja disponível a todos os aplicativos, ou defini-la no nível do aplicativo.
Na etapa Geral, para Conexão, selecione a conexão do Oracle Database que você criou.
Para Nome, dê um nome à Origem de Dados.
Para a Consulta, forneça uma consulta (esse exemplo usa SQL). Para torná-la uma consulta parametrizada, inclua uma condição de filtro (cláusula WHERE) que mapeie uma coluna relacional em sua origem para um placeholder. Indique a posição da variável usando um placeholder, ?
, na sintaxe da consulta. O placeholder destina-se a um parâmetro que você especifica em uma etapa posterior.
select * from SB_DT where DIMENSION_YEAR=?
Por exemplo, suponha que o seu banco de dados relacional tenha a tabela a seguir, chamada SB_DT. A tabela tem a coluna DIMENSION_YEAR com os meses sendo os valores:
Para usar uma variável para a seleção de valores de meses na coluna DIMENSION_YEAR, aplique a seguinte sintaxe de filtro na consulta em que DIMENSION_YEAR=?
Clique em Próximo.
Na etapa Colunas, aplique o tipo de dados apropriado que o Essbase deverá associar a cada coluna dos dados relacionais de origem.
Por exemplo, defina as colunas numéricas com o tipo Duplo e deixe as colunas alfanuméricas definidas como String.
Clique em Próximo.
Na etapa Parâmetros, foi criado Param1 – esse parâmetro existe porque você usou um sinal ?
na consulta da etapa Geral. Para personalizar Param1 para referenciar uma variável de substituição, clique em Usar Variáveis e selecione uma variável de substituição na lista drop-down Valor.
Se você estiver criando uma Origem de Dados em um aplicativo, variáveis de substituição de nível global e do aplicativo estarão disponíveis para seleção. As variáveis no nível do aplicativo são prefixadas com o nome do aplicativo. Se você estiver criando uma Origem de Dados global, apenas variáveis de substituição globais estarão disponíveis para seleção.
Você pode renomear Param1 com um nome significativo para seu caso de uso. Por exemplo, pode renomeá-lo para param_G_month para indicar que o parâmetro usa uma variável global para o mês atual ou pode renomeá-lo para param_<appName>_month para indicar que o parâmetro usa uma variável no nível do aplicativo para o mês atual. A personalização dos nomes de parâmetro pode ser útil ao depurar parâmetros usando os arquivos de log do servidor Essbase.
Clique em Próximo.
Em Visualizar, observe que a variável de substituição é aplicada à consulta. Como resultado, a visualização só é preenchida com registros externos de origem em que o valor da coluna DIMENSION_YEAR é Aug.
Clique em Criar para criar uma Origem de Dados com base nessa consulta de dados de origem externos.