Faciliter l’accès aux indicateurs clés sur un cube OLAP

Sur des cubes OLAP comportant plusieurs groupes de mesures avec plus d’une centaine d’indicateurs, il arrive que les analystes se perdent dans ce méandre pour en général n’en utiliser que 10%. Certes vous pouvez toujours créer un perspective permettant de proposer un cube simplifié mais non verrons ici une toute autre solution.

Le premier objectif est d’identifier avec les différents utilisateurs les indicateurs clés les plus courants et de les consigner dans une table. Si le nombre de ces indicateurs est important, je ne saurai que vous conseiller de les catégoriser par domaine fonctionnel ; ce qui vous permettra sous SSAS de créer une hiérarchie naturelle. Nous nommerons cette table tout simplement dwh.DimIndicateurCle :


CREATE TABLE Common.DimIndicateurCle
 (
 IdIndicateurCle smallint IDENTITY (1,1) NOT NULL,
 IndicateurCle nvarchar(255) NOT NULL,
 OrdreAffichage smallint NOT NULL,
 Categorie nvarchar(255) NOT NULL,
CONSTRAINT PK_DimIndicateurCle PRIMARY KEY (IdIndicateurCle)
 )
GO

Insérez la liste de nos indicateurs clés :


Insert into Common.DimIndicateurCle values (‘CA HT’,1,’Ventes’)
Insert into Common.DimIndicateurCle values (‘Marge HT’,2,’Ventes’)
Insert into Common.DimIndicateurCle values (‘Achat HT’,2,’Achats’)
GO

Une fois la table créée et alimentée, il est temps d’ouvrir notre solution SSAS et de créer notre dimension IndicateurCle. Je passe rapidement sur cette étape étant donnée sa trivialité.

Vous devriez avoir quelque chose ressemblant à ceci :

 

 Avec les relations d’attributs suivantes :

Il faut ensuite ajouter cette dimension à votre cube. Cette dimension technique est un peu particulière étant donné qu’elle ne doit être reliée à aucun autre objet de votre solution.

Il ne reste plus qu’à affecter à chaque membre de votre dimension la mesure qui lui est associé à l’aide de SCOPE. Décidemment, j’aime bien les utiliser ceux-là  cf. poste sur la généralisation des Time Calculation. Vous pouvez aussi attribuer sur les niveaux hiérarchiques des valeurs par défauts ; par exemple, la catégorie « Achats » affichera la valeur de l’indicateur Achat HT et la catégorie « Ventes » la valeur de l’indicateur CA HT.

Sur notre exemple précédent cela donne le code suivant :

// Scope [Indicateur Cle].[Id Indicateur Cle]

// Affectation d’une mesure par indicateur clé
SCOPE [Indicateur Cle].[Indicateur Cle].&[1];
THIS = [Measures].[CA HT];
END SCOPE;

SCOPE [Indicateur Cle].[Indicateur Cle].&[2];
THIS = [Measures].[Marge HT];
END SCOPE;

SCOPE [Indicateur Cle].[Indicateur Cle].&[3];
THIS = [Measures].[Achat HT];
END SCOPE;

SCOPE [Indicateur Cle].[Indicateur Cle].[All];
THIS = NULL;
END SCOPE;

// Affectation d’un indicateur clé sur chaque catégorie
SCOPE [Indicateur Cle].[Categorie].&[Achats];
THIS = [Indicateur Cle].[Indicateur Cle].&[3];
END SCOPE;

SCOPE [Indicateur Cle].[Categorie].&[Ventes];
THIS = [Indicateur Cle].[Indicateur Cle].&[1];
END SCOPE;

// Fin Scope [Indicateur Cle].[Id Indicateur Cle]

La manipulation sous Excel est la plus simple du monde, il suffit de prendre la hiérarchie naturelle, de la glisser en ligne ou en colonne et de cocher n’importe quel indicateur pour que la magie opère :

Vous noterez qu’il faut sélectionner au moins un indicateur, peu importe lequel.

Une réflexion sur “Faciliter l’accès aux indicateurs clés sur un cube OLAP

  1. Pingback: Indicateurs OLAP – Easy-To-Use « Le Post de MCNEXT

Laisser un commentaire