Trabalhando com hierarquias imperfeitas
Sob circunstâncias normais, cada nível de uma hierarquia no Microsoft SQL Server Analysis Services possui o mesmo número de membros que qualquer outro membro do mesmo nível. Em uma hierarquia imperfeita, o membro pai lógico de pelo menos um membro não está no nível imediatamente acima do membro. Quando isso acontece, a hierarquia desce a níveis diferentes para caminhos de busca detalhada diferentes. Sendo assim, a expansão por todos os níveis de todo caminho de busca detalhada é desnecessariamente complicada.
Para aplicativos cliente que oferecem suporte à exibição de hierarquias imperfeitas, é possível configurar as hierarquias para ocultar membros logicamente ausentes. Dependendo de você estar configurando uma hierarquia regular ou uma hierarquia pai-filho, duas propriedades distintas podem ser definidas pelo Designer de Dimensão.
Na tabela de uma dimensão imperfeita, os membros logicamente ausentes podem ser representados de formas diferentes. As células da tabela podem conter cadeias de caracteres nulas ou vazias ou podem conter o mesmo valor que o pai, servindo como espaço reservado.
A representação de espaços reservados é determinada pelo status de espaço reservado dos membros filho e pela propriedade da cadeia de conexão MDX Compatibility do aplicativo cliente.
Ocultando membros em uma hierarquia regular
Para uma hierarquia regular, use a propriedade HideMemberIf de um nível da hierarquia para ocultar os membros ausentes dos usuários finais. A propriedade HideMemberIf oferece suporte às configurações descritas na tabela a seguir.
Configuração de HideMemberIf |
Descrição |
---|---|
Never |
Os membros do nível nunca são ocultos. |
OnlyChildWithNoName |
Um membro do nível ficará oculto quando for o único filho de seu pai e seu nome for uma cadeia de caracteres nula ou vazia. |
OnlyChildWithParentName |
Um membro do nível ficará oculto quando for o único filho de seu pai e seu for nome idêntico ao nome do pai. |
NoName |
Um membro do nível ficará oculto quando seu nome estiver vazio. |
ParentName |
Um membro do nível ficará oculto quando seu nome for idêntico ao de seu pai. |
Para fazer uma hierarquia regular parecer imperfeita, defina a propriedade HideMemberIf de um nível com o valor apropriado para a tabela de dimensões subjacente.
Modo de compatibilidade MDX
A propriedade MDX Compatibility da cadeia de conexão entre o aplicativo cliente e a instância do Analysis Services deve ser configurada como 2 para exibir corretamente hierarquias imperfeitas.
A propriedade MDX Compatibility determina como são tratados membros de espaços reservados em uma hierarquia imperfeita ou desbalanceada. Se você definir o valor da propriedade MDX Compatibility como 1, exporá um membro de espaço reservado em uma hierarquia imperfeita.