Exemplo 6 - Usando as funções Exists e Except para especificar conjuntos permitidos e negados
Neste exemplo, uma função de banco de dados tem as configurações de segurança de dimensão mostradas na tabela a seguir.
Attribute |
IsAllowed |
AllowedSet |
DeniedSet |
ApplyDenied |
VisualTotals |
---|---|---|---|---|---|
Estado |
True |
|
EXCEPT (State..Members, {Califórnia}) |
False |
True |
Cidade |
True |
EXISTS (City..Members, {Califórnia} + {Seattle}) |
|
False |
False |
Sexo |
False |
|
|
True |
False |
Os resultados dessas configurações de segurança de dimensão são os seguintes:
O conjunto negado para o atributo Estado especifica que somente o membro Califórnia pode ser exibido pela função de banco de dados. Todos os outros membros existentes e qualquer membro adicionado recentemente do atributo Estado não serão visíveis.
Os membros das hierarquias de atributo que incluem um membro do atributo Estado permanecem visíveis, embora o atributo Estado tenha um conjunto negado. Os membros de outras hierarquias de atributo permanecem visíveis porque a propriedade ApplyDenieddos atributos Estado e Cidade está definida como False.
A cidade de Seattle é visível porque está no conjunto permitido para o atributo Cidade.
Os totais agregados dos atributos Todos os níveis e Estado incluem apenas os valores dos membros visíveis porque a propriedade VisualTotals desses atributos está definida como True.
Revisando o conjunto de resultados
Com base nessas configurações de segurança de dimensão da função (e com base no acesso do cubo a todas as células), o seguinte conjunto de resultados é retornado do cubo quando todos os membros são consultados.
Todos os níveis |
Estado |
Cidade |
Sexo |
Valor das Vendas |
---|---|---|---|---|
Todos os escritórios |
|
|
|
17400 |
|
Califórnia |
|
|
12900 |
|
|
San Jose |
|
4200 |
|
|
São Francisco |
|
4400 |
|
|
Los Angeles |
|
4300 |
|
Washington |
|
|
4500 |
|
|
Seattle |
|
4500 |
Consulte também