Acerca dos Filtros

Os filtros controlam a permissão de acesso aos valores de dados num cubo. São a forma de permissão de acesso mais granular disponível.

Quando cria um filtro, designa um conjunto de restrições para determinadas células do cubo ou para um intervalo de células. Depois, pode atribuir o filtro a utilizadores ou grupos.

O seu próprio perfil de grupo de permissão de acesso determina se pode criar, atribuir, editar, copiar, renomear ou apagar filtros:

  • Se tiver o perfil de grupo Gestor de Aplicações, pode gerir qualquer filtro para qualquer utilizador ou grupo. Os filtros não o afetam a si.
  • Se tiver o perfil de grupo Atualização da Base de Dados, pode gerir filtros para as aplicações que criou.
  • Se tiver o perfil de grupo Gestor da Base de Dados, pode gerir filtros nas suas aplicações ou cubos.
  • Se tiver o perfil de grupo Acesso à Base de Dados (valor por omissão), dispõe de acesso de leitura para os valores de dados em todas as células, a não ser que o seu acesso tenha restrições adicionais resultantes de filtros.

Criar Filtros

Pode criar vários filtros para um cubo. Se editar um filtro, as modificações efetuadas à respetiva definição são herdadas por todos os utilizadores desse filtro.

Consulte Controlar o Acesso a Células da Base de Dados Utilizando Filtros de Permissão de Acesso.

  1. Navegue até ao editor de filtros.

    Na Interface do Redwood:

    1. Na página Aplicações, abra a aplicação e, em seguida, abra a base de dados (cubo).
    2. Clique em Customização e clique em Filtros.

    Na Interface Web Clássica:

    1. Na página Aplicações, expanda a aplicação.
    2. A partir do menu Ações, à direita do nome do cubo, lance o verificador.
    3. Selecione o separador Filtros.
  2. Clique em Acrescentar.
  3. Introduza um nome de filtro na caixa de texto Nome do Filtro.
  4. No Editor de Filtros, clique em Acrescentar.
  5. Em Acesso, clique e utilize o menu pendente para selecionar um nível de acesso.
    • Nenhum: Não é possível obter ou atualizar dados

    • Leitura: É possível obter dados, mas não atualizá-los

    • Escrita: É possível obter e atualizar dados

    • MetaRead: É possível obter e atualizar metadados (nomes de dimensões e membros)

      O nível de acesso MetaRead substitui todos os outros níveis de acesso. Os filtros de dados adicionais são impostos nos filtros MetaRead existentes. A filtragem de combinações de membros (utilizando relações AND) não se aplica a MetaRead. MetaRead filtra cada membro separadamente (utilizando uma relação OR).

  6. Selecione a linha sob Especificação do Membro e introduza nomes de membros, em seguida clique em Submeter Imagem do ícone de submissão do filtro do Redwood..

    Pode filtrar os membros separadamente ou filtrar combinações de membros. Especifique nomes de dimensões ou membros, pseudónimos, combinações de membros, conjuntos de membros definidos por funções ou nomes de variáveis de substituição, que são precedidos por um e comercial (&). Separe as várias entradas com vírgulas.

  7. Crie linhas adicionais para o filtro conforme necessário.

    Caso existam linhas do filtro sobrepostas ou em conflito, são aplicáveis as especificações de área do cubo mais detalhadas, assim como os direitos de acesso mais permissivos. Por exemplo, se conceder acesso de Leitura a um utilizador para Real e acesso de Escrita para Jan, o utilizador terá acesso de Escrita para Jan Real.

  8. Clique em Validar para garantir que o filtro é válido.
  9. Clique em Gravar.

Para editar na Interface do Redwood, localize o separador Filtros selecionando o cubo e, em seguida, selecionando a página Customização. Em seguida, pode editar o filtro clicando no nome do filtro e efetuando as suas alterações no editor de filtros. Para editar uma linha existente, clique duas vezes nessa linha.

Para editar um filtro na Interface Web Clássica, aceda ao separador Filtros no verificador e edite o filtro clicando no nome do filtro e efetuando as suas alterações no editor de filtros.

Pode copiar, renomear ou apagar um filtro clicando no menu Ações à direita do nome do filtro e escolhendo uma opção.

Depois de os criar, deve atribuir os filtros aos utilizadores ou grupos.

Criar Filtros Dinâmicos Eficientes

Pode criar filtros dinâmicos com base em dados de origem externa para reduzir o número de definições de filtro necessárias.

Em vez de gerir um conjunto de filtros de acesso a dados de codificação rígida para muitos utilizadores, pode filtrar o acesso às células do cubo a partir de dados de origem externa, com base nos nomes de membros e de utilizadores.
Pode fazê-lo utilizando a sintaxe de definição de filtros dinâmicos, incluindo o método @datasourceLookup e as variáveis $LoginUser e $LoginGroup. Os seus dados de origem externa são um ficheiro csv ou uma tabela relacional. Para dados de origem relacional, pode carregar o .csv para uma tabela relacional.

Sintaxe do Filtro Dinâmico

Utilize a sintaxe do filtro dinâmico para criar filtros flexíveis que pode atribuir a vários utilizadores e grupos.

As linhas de filtros podem conter os seguintes elementos como parte da respetiva definição, juntamente com expressões de membros.

$loginuser

Esta variável armazena o valor do utilizador atualmente em sessão em runtime. Pode ser utilizado em conjunto com o método @datasourcelookup.

$logingroup

Esta variável armazena o valor de todos os grupos aos quais o utilizador em sessão atualmente pertence. Inclui grupos diretos e indiretos. Quando utilizada em conjunto com o método @datasourcelookup, cada grupo é procurado individualmente relativamente à Origem de Dados.

@datasourcelookup

Este método extrai registos de uma Origem de Dados.

Sintaxe

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parâmetro Descrição
dataSourceName

O nome da Origem de Dados externa definida no Essbase. Para uma Origem de Dados a nível da aplicação, coloque o prefixo no nome do nome da aplicação e de um período.

columnName

O nome da coluna Origem de Dados para pesquisar um determinado columnValue.

columnValue

O valor para pesquisar em columnName.

returnColumnName

O nome da coluna Origem de Dados a partir da qual devolver uma lista de valores.

Descrição

Uma chamada @datasourcelookup é equivalente à seguinte consulta de SQL:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup procura a Origem de Dados fornecida e pesquisa registos em que columnName contém columnValue. Se especificar columnValue como $loginuser, este método irá pesquisar registos em que columnName contém o nome do utilizador atualmente em sessão.

Essbase forma a linha de definição do filtro combinando os elementos da lista como uma cadeia de caracteres separada por vírgulas. Se qualquer registo contiver caracteres especiais, espaços ou apenas números, serão colocados entre aspas.

Exemplos

Coloque os parâmetros entre aspas.

A chamada seguinte procura uma Origem de Dados global e devolve uma lista de nomes de lojas em que Maria é a gerente de loja.

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

A chamada seguinte procura uma Origem de Dados a nível da aplicação e devolve uma lista de nomes de lojas em que o utilizador atualmente em sessão é o gerente de loja.

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

A chamada seguinte procura uma Origem de Dados ao nível da aplicação e devolve uma lista de nomes de lojas em que o departamento da loja corresponde a qualquer um dos grupos aos quais o utilizador em sessão pertence.

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

Se o utilizador em sessão pertencer a 3 grupos, o método @datasourcelookup acima devolve todos os valores de colunas correspondentes para cada grupo.

Fluxo de Trabalho para Criar Filtros Dinâmicos

Utilize o fluxo de trabalho geral seguinte para criar filtros dinâmicos.

Este fluxo de trabalho de filtros dinâmicos assume que já tem um cubo, bem como utilizadores e grupos provisionados.

  1. Identifique uma origem de dados, quer seja um ficheiro, quer seja uma origem relacional.
  2. Defina a ligação e a Origem de Dados no Essbase, globalmente ou a nível da aplicação.
  3. Criar filtros ao nível do cubo,
    • Na Interface do Redwood, navegue até ao cubo, escolha Customização e, em seguida, escolha Filtros.
    • Na Interface Web Clássica, utilize a secção Filtros do verificador da base de dados.

  4. Defina linhas de filtro para cada filtro, utilizando a sintaxe do filtro dinâmico para usar a variável $loginuser, a variável $logingroup e o método @datasourcelookup conforme necessário.
  5. Atribua os filtros a utilizadores ou grupos.
  6. Se tiver atribuído o filtro a um grupo, atribua o grupo à aplicação a filtrar,
    • Na Interface do Redwood, navegue até à aplicação, escolha Customização e, em seguida, escolha Permissões.
    • Na Interface Web Clássica, utilize a secção Permissões do verificador da aplicação.

Exemplo de um Filtro Dinâmico

O filtro dinâmico seguinte trabalha com o cubo chamado Efficient.UserFilters, disponível na galeria como um modelo de exemplo.


Filtro dinâmico com três linhas concedendo acesso MetaRead ao utilizador em sessão.

Para obter informações sobre o modo de criação e aplicação deste filtro dinâmico, descarregue o modelo de livro Efficient_Filters.xlsx a partir da secção Técnico da galeria e siga as instruções README no livro. A galeria está disponível na secção Ficheiros da interface da Web do Essbase.