mercredi 21 mai 2008

Choisir le bon type de Business Rule

Dans planning, quand on a construit ses premiers models, ses premiers rapports/ formulaires de saisies et ses premiers cycles de saisie, l'étape suivante consiste souvent à s'intéresser de plus près aux fameuses "Business Rules".

Une Business rule est à PPS-P l'équivalent des procédures stockées dans SQL Server. Elles servent à réaliser des calculs et des affectations de valeurs au sein des models ou même entre des models différents .

Il y a de multiples types de Business rules et il est vrai qu'au premier abord on peut être très facilement perdu devant tant de choix. Le but de ce post est donc de vous permettre de choisir le bon type de rule en fonction de la situation dans laquelle vous vous trouvez.

Cas 1: Vous souhaitez affecter une valeur dynamique à une cellule.
  • Definition: La valeur de la cellule sera calculée à la volée à chaque requête. Pour les personnes familières d'Analysis Services, la règle sera stockée sous la forme d'un script MDX au niveau du cube.


Le reste des business rules sont de type "procedural". C'est-à-dire que contrairement à celles du cas 1, les valeurs des cellules ne seront mises à jour suivant la définition de la rule que lorsque celle-ci sera explicitement exécutée (manuellement, job etc.) Et une fois mises à jour, les valeurs sont stockées dans la base et non pas calculées à la volée.

Cas 2: Vous souhaitez affecter à une cellule une valeur fixe ou dépendant de d'autres cellules du même model

  • Allocation
  • Assignment: Propose plus de types d'implementation que le type Allocation (NativeSQL et NativeMDXQuery)


Cas 3: Vous souhaitez affecter à une cellule une valeur dépendant des cellules d'un autre model

  • PushCrossModelAllocation: Définie au niveau du model source
  • PullCrossModelAllocation: Définie au niveau du model destination

Cas 4: Affecter une valeur à une variable

  • Variable: Change la valeur d'une des propriétés d'un model.

Cas 5: Exporter des données vers une application externe

  • Outbound

Cas 6: Réaliser des calculs financiers

Il existe des types de rules pré-définis dans PPS-P

  • Consolidation
  • Currency
  • Intercompany reconciliation


Attention, suivant le type du "rule set" au sein duquel vous placez la business rule, certains types peuvent être disponibles ou non.

2 commentaires:

vero a dit…

la sélection de la catégorie "AUTOMATIC" permet de forcer le stockage d'un calcul dynamique au sein de la base de données ce qui permet de l'utiliser par la suite (au contraire d'une règle en catégorie "Definition" qui sera calculée à la volée mais dont le résultat ne sera pas stocké)

Aurélien Koppel a dit…

Très bonne remarque. Le "rule set" de type "Automatic" permet en effet aux règles de type "Assignement" de s'exécuter automatiquement à chaque reprocess du cube (model). Ce qui évite de les lancer manuellement ou de les programmer dans des jobs...