Dans cet exemple, nous avons ajouté cinq membres de cumul annuel à la dimension Compte : "4110_UTD", "4120_YTD", "4130_YTD", "4140_YTD", "4150_YTD". Nous avons ensuite créé une règle métier :
Cette règle métier calcule deux comptes de cumul annuel, puis agrège les valeurs dans les dimensions Produit et Entité.
Lors de l'examen des messages de journal avec l'option Réussite uniquement sélectionnée, nous pouvons constater que la plus grande partie de la durée de la règle s'écoule lors de la première passe.
Désélectionnez Réussite uniquement pour afficher le nombre de lectures/d'écritures de blocs dans la section pass1 des journaux.
En vérifiant la syntaxe, nous pouvons voir que le calcul ne possède pas d'instruction Fix sur Entité et Produit. La totalité de la règle est donc exécutée sur tous les niveaux des éléments Entité et Produit. Il n'est pas nécessaire de calculer les niveaux supérieurs en pass1 car ils seront remplacés par l'instruction AGG lors de la seconde passe.
La règle est vérifiée et une instruction Fix supplémentaire est incluse afin d'ajouter lev0 à Pass1 pour Entité et Produit.
La règle est réexécutée.
Avec cette modification, Pass1 dure toujours plus longtemps, mais va désormais 20 % plus vite car les blocs de niveau supérieur ne sont plus calculés inutilement. La durée totale de calcul est également améliorée de 20 %.
En désélectionnant Réussite uniquement, nous pouvons constater que le nombre de lectures/d'écritures de blocs dans la section pass1 des journaux diminue après la modification.
Cette opération réduit les lectures et écritures pour la règle métier globale (les deux passes), comme nous pouvons le constater dans le rapport d'activité.