> Tech > Contraintes

Contraintes

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Un comportement aussi simple ne pouvait pas ne pas avoir de contrainte. Il y en a en effet quelques unes. La première, est le fait que, le membre inconnu étant un membre spécial, ajouté pendant le traitement, il se placera toujours à la fin de la

Contraintes

liste des membres. Quelle que soit la valeur que vous mettrez dans la propriété Unknown MemberName, vous ne pourrez pas ordonnancer ce membre. Nous verrons comment on peut contourner cela avec la seconde méthode pour gérer des données manquantes.

Une autre contrainte, ou plutôt complexité, est la gestion des dimensions plus complexes, dans un schéma de DataWarehouse en flocon de neige (snowflake) par exemple. Dans ce cas, avoir une maîtrise sur la gestion des valeurs nulles dans les hiérarchies n’est pas trivial et tout n’est pas possible. Il en est de même pour les valeurs nulles dans les attributs de la dimension.

Ajoutons une hiérarchie Catégorie et l’attribut Couleur et prenons quelques exemples concrets : Voir figure 12.

  • Un produit n’a pas de catégorie (champ Categorie à NULL sur la table Dim Produit)
  • Un produit n’a pas de couleur renseignée (champ Couleur à NULL)
  • Un produit a une catégorie inexistante (tuple manquant dans la table Categorie)

Là, la gestion des NULL n’intervient plus dans le cube mais au sein même de la dimension. Une vente pointant toujours sur un produit via la clé ProduitKey ou alors sur le membre inconnu. Pour le premier exemple, nous sommes dans le même cas que celui abordé plus haut avec les faits.

Au traitement de la dimension, Analysis Services va utiliser le membre inconnu à la place du produit et ce sans configuration de notre part ; c’est le comportement par défaut. Cela signifie toutefois que le membre disparaît totalement de la dimension, ce qui va nous poser des problèmes pour le traitement du cube. En effet, nous aurons cette fois ci une erreur de clé manquante. Voir figure 13.

Cette erreur n’est pas contournable par un simple paramètre. Cependant, on peut demander à ignorer l’erreur. Cela se fait dans l’assistant de traitement ou bien dans la propriété ErrorConfiguration du cube. Voir figures 14 et 15. La vente sera redirigée vers le membre inconnu, c’est le comportement par défaut et un avertissement sera levé. Voir figure 16. Le cas est ainsi géré mais pour un attribut non renseigné comme la couleur ou la catégorie, c’est tout le membre qui passe en membre inconnu.

Cela peut être pénalisant pour des attributs à faible densité de remplissage. Les deuxième et troisième cas sont équivalents. En effet, nous sommes confrontés, à des niveaux différents, à des valeurs nulles ou des clés manquantes. On s’assurera juste de bien configurer la gestion des NULL au niveau des attributs (on peut aussi le faire au niveau du cube si on veut des comportements différents pour la même dimension sur différents cubes). Voir figure 17.

Et aussi configurer la propriété ErrorConfiguration (au niveau des dimensions et/ou du cube) pour ignorer les erreurs de clé manquante et laisser une conversion automatique vers le membre inconnu. Voir figure 18. Ces deux propriétés sont au centre du support des valeurs nulles (et par extension des données manquantes).

Retenez bien qu’elles se trouvent chacunes à différents niveaux : attribut, dimension, croisement groupe de mesures/dimension, cube. La technique de l’UnknownMember fonctionne bien mais a ce défaut important d’être trop catégorique. Des valeurs manquantes dans une des tables des hiérarchies et c’est tout le membre, jusqu’au niveau de granularité le plus petit qui disparait, remplacé par le membre inconnu. 

Téléchargez cette ressource

Guide de Reporting Microsoft 365 & Microsoft Exchange

Guide de Reporting Microsoft 365 & Microsoft Exchange

Comment bénéficier d’une vision unifiée de vos messageries, mieux protéger vos données sensibles, vous conformer plus aisément aux contraintes réglementaires et réduire votre empreinte carbone ? Découvrez la solution de reporting complet de l’utilisation de Microsoft Exchange, en mode on-premise ou dans le Cloud.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT