F.A.Q. Business-Objects
F.A.Q. Business-ObjectsConsultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 101, dernière mise à jour : 15 juin 2021
Les tables agrégées contiennent des données précalculées à des niveaux de détail décroissants afin d'accélérer l'exécution des requêtes.
Cette technique est particulièrement indiquée pour l'interrogation d'une base infocentre qui, tout en gardant le niveau de détail des évènements journaliers, devra répondre de façon optimale aux analyses hebdomadaires, mensuelles, trimestrielles ou annuelles.
Dès qu'une table contient plusieurs centaines de milliers de lignes d'évènements par an et couvre plusieurs années d'historique, la navigation agrégée prend tout son sens.
Un univers permet la navigation agrégée lorsqu'il contient un ou plusieurs objets dont la définition est adaptée à plusieurs niveaux d'agrégat.
La définition de ces objets s'appuie sur :
- La fonction @Aggregate_Aware.
- La gestion des incompatibilités Objets / Tables.
La fonction @Aggregate_Aware.
Elle permet d'indiquer dans la clause Select d'un même objet le champ numérique lui correspondant dans chacune des tables agrégées.
Les tables doivent impérativement être désignées de façon ordonnée en allant de la plus agrégée vers la plus détaillée.
@Aggregate_Aware(sum(ANNEE_STAT.VAL), sum(MOIS_STAT.VAL), sum(DETAIL_STAT.VAL)).
Explication :
Si l'indicateur Valeur est choisi par l'utilisateur, avec la dimension Mois ...
le SQL sera détourné de la table ANNEE_STAT qui n'offre pas ce niveau d'information,
sera dirigé vers la table MOIS_STAT, niveau suffisant d'information pour ramener les objets demandés.
En revanche, si l'indicateur Valeur est choisi, ainsi que les dimensions Année, Mois et Date...
la table annuelle sera écartée, puis la table mensuelle (puisque ni l'une ni l'autre ne possèdent de champ date)
seule sera compatible la table détaillée au niveau des jours.
La gestion des incompatibilités Objets / Tables.
Elle seule permet que soit déterminé, au sein de la fonction @Aggregate_Aware, la table compatible.
Pour chaque table agrégée, il convient de spécifier les objets incompatibles ce qui désignera les tables agrégées à ignorer lors de la génération du SQL.
Les règles de la compatibilité Tables / Objets sont les suivantes :
Un objet est compatible avec une table s'il est placé à un niveau d'agrégat équivalent ou supérieur à celui de cette table.
Il est incompatible :
- Si l'objet est placé à un niveau d'agrégation inférieur à celui de la table.
- Si l'objet n'a aucun lien avec la table.
Pour fixer ces incompatibilités :
- Menu Outils / Commande Navigation agrégée…
- Dans la liste des Tables, choisissez une table agrégée.
- Dans le volet de droite, cochez la case de chaque objet incompatible avec cette table.
- Répétez l'opération pour chaque table.
Mise en garde : l'utilisation du bouton "Détecter les incompatibilités" offre des propositions d'incompatibilité que vous devez vérifier et valider.