Utilisation de hiérarchies déséquilibrées

Normalement, dans Microsoft SQL Server Analysis Services, chaque niveau d'une hiérarchie a le même nombre de membres au-dessus de lui que tout autre membre au même niveau. Dans une hiérarchie déséquilibrée, le membre parent logique d'au moins un membre ne figure pas dans le niveau immédiatement supérieur à ce membre. En pareil cas, la hiérarchie descend à des niveaux différents pour des chemins d'extraction différents. Le développement à travers tous les niveaux pour tous les chemins d'extraction s'avère alors inutilement compliqué.

Pour les applications clientes qui autorisent l'affichage de hiérarchies déséquilibrées, vous pouvez configurer les hiérarchies de façon à masquer les membres manquant localement. Selon que vous configurez une hiérarchie régulière ou une hiérarchie parent-enfant, deux propriétés différentes peuvent être définies à l'aide du Concepteur de dimensions.

Dans la table d'une dimension déséquilibrée, les membres manquants peuvent être représentés de différentes manières. Les espaces réservés des cellules de table peuvent être des valeurs NULL ou des chaînes vides, ou bien la même valeur que leurs parents.

La représentation des espaces réservés est déterminée par l'état d'espace réservé de membres enfants et par la propriété de chaîne de connexion MDX Compatibility pour l'application cliente.

Masquage de membres dans une hiérarchie régulière

Pour une hiérarchie régulière, utilisez la propriété HideMemberIf d'un niveau d'une hiérarchie pour masquer les membres manquants aux utilisateurs finaux. La propriété HideMemberIf prend en charge les paramètres décrits dans le tableau suivant.

Paramètre de HideMemberIf

Description

Never

Les membres de ce niveau ne sont jamais masqués.

OnlyChildWithNoName

Un membre de ce niveau est masqué quand il est le seul enfant de son parent et qu'il a pour nom la valeur NULL ou une chaîne vide.

OnlyChildWithParentName

Un membre de ce niveau est masqué quand il est le seul enfant de son parent et qu'il porte le même nom que son parent.

NoName

Un membre de ce niveau est masqué lorsque son nom est vide.

ParentName

Un membre de ce niveau est masqué quand son nom est identique à celui de son parent.

Pour faire paraître déséquilibrée une hiérarchie régulière, affectez à la propriété HideMemberIf d'un niveau de cette hiérarchie une valeur appropriée pour la table de dimension sous-jacente.

Mode de compatibilité MDX

La propriété MDX Compatibility dans la chaîne de connexion de l'application cliente à l'instance d'Analysis Services doit avoir la valeur 2 pour afficher correctement les hiérarchies déséquilibrées.

La propriété MDX Compatibility détermine comment sont traités les membres d'espace réservé d'une hiérarchie déséquilibrée. Si vous affectez la valeur 1 à la propriété MDX Compatibility , vous exposez un membre d'espace réservé d'une hiérarchie déséquilibrée.