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:
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.
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.
Pode criar filtros dinâmicos com base em dados de origem externa para reduzir o número de definições de filtro necessárias.
@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.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.
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.
Na Interface Web Clássica, utilize a secção Filtros do verificador da base de dados.
$loginuser
, a variável $logingroup
e o método @datasourcelookup
conforme necessário.O filtro dinâmico seguinte trabalha com o cubo chamado Efficient.UserFilters, disponível na galeria como um modelo de exemplo.
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.