Bonjour à tous,

Je m'adresse à vous afin d'avoir quelques conseils et bonnes pratiques pour les mesures calculées liées au temps. Je m'explique en prenant un exemple.

Un client Alpha a besoin de X montants et Y quantités sur l'année N, N-1, N-2 mais également l'écart entre [N|N-1], l'écart entre [N-1|N-2], mais également le taux d'évolution en % entre [N|N-1], et le taux d'évolution entre [N-1|N-2]. De plus, le client a besoin de posséder 2 calendriers : Fiscal et Civil, ce qui multiple le travail à effectuer par deux car pour calculer les N-1 et N-2 dans SSAS, nous utilisons la fonction ParrallelPeriod qui se base sur une hiérarchie de temps qui sera différente selon si la mesure porte sur le calendrier Civil ou Fiscal.

Prenons pour exemple les quantités et montants suivants :

  • Montant TTC
  • Montant HT
  • Quantité livrée
  • Quantité facturée


Prenons l'exemple de Montant TTC qui provient directement de l'entrepôt de données, au niveau de SSAS, il va falloir calculer les mesures suivantes :

  • Montant TTC N-1
  • Montant TTC N-2
  • Ecart montant TTC N|N-1
  • Ecart montant TTC N-1|N-2
  • % d'évolution montant TTC N|N-1
  • % d'évolution montant TTC N-1|N-2


Ce qui fait que pour chaque mesure provenant de l'entrepôt de données, nous allons devoir calculer 6 mesures dans SSAS et même 12 en tenant compte des 2 calendriers. Avec les 4 mesures de départ que j'ai pris en exemple, nous sommes déjà à 48 mesures à calculer dans SSAS. Nous voyons vite que d'un point de vue temps de développement, maintenance et élégance ce n'est pas top...

Je sais qu'il y l'outil de Marco Russo "DateTool" qui permettrait de palier à cela mais pas de manière optimale je pense. En effet, tout d'abord je n'ai jamais réussi à le faire fonctionner pour 2 hiérarchies de temps différentes (Civil et Fiscal) en même temps. De plus, il n'est pas pratique à manipuler dans Reporting Services car il ne calcul pas les totaux de manière correct si l'on ne se trouve pas au niveau de granularité le plus fin... Donc dès que nous allons utiliser une hiérarchie de type Famille/Sous-famille/Article, nous allons rencontrer des problèmes sur les données (au niveau des totaux) ce qui va nous forcer à effectuer des calculs dans les datasets. Cela n'est pas pratique si l'on souhaite effectuer un transfert de compétence

Je pense qu'à présent vous apercevez ma problématique, qui je pense est rencontrée par bon nombre de Consultant/Développeur en BI.

Comme déjà énoncé, j'aimerai bien connaître un peu vos façons de faire à ce niveau, si vous avez des méthodes plus élégantes, pratiques,... Je pense qu'il s'agit d'un sujet constructif ou chacun va apprendre de la réflexion de l'autre.

Je vous remercie d'avance,

Vivien