Bonjour à tous ,

Je dois concevoir un univers dont les dimensions utilisent des relations récursives, et cela sur plusieurs niveaux, voici un exemple :

DIM
ID
NAME
LEVEL
ID_PARENT

le ID_PARENT correspond à l'ID du parent de la même dimension.

d'après mes recherches, l'UDT de BO ne permet pas de faire ce genre d’auto-jointure/jointure récursives, pour palier à ce problème j'ai donc opté pour l'insertion d'une table dérivée, les hiérarchies seront représentées horizontalement(flatting hierachy) :

ID NAME ID_L01 NAME_L01 ID_L02 NAME_L02 .....

Solution initiale :

Table de Fait ---> Dimension 1 ------> Dimension 2 ( la dimension 2 est récursive)

En remplaçant la dimension 2 par la table dérivée :

Table de Fait ----> dimension 1 ---------> Table dérivée (tous les parent, enfants et niveaux)

SAUF qu'avec cette solution je me retrouve confronter à un problème de cardinalité (entre la dimension 2 et la Tderivée) , je m'explique

dans ma Dimension 1
ID | ID_DIM2
1 | 1
2 | 1
3 | 2
4 | 2

et dans ma table dérivée, les lignes sont dupliquées car un mm parent peut avoir plusieurs enfant du coup pr chaque enfant une ligne :

ID NAME ID_L01 NAME_L01 ID_L02 NAME_L02
1 N1 2 N5 .....
1 N2 3 N6 .....
1 N3
2 N4
2 N5
3 N6


Jje ne sais pas quoi mettre comme cardinalités entre ID_DIM2 (dimension 1) et ID (de la table derivé) ? (N, N) peut être?
mais les résultats de calcul et agrégation ne risquent pas d'être fausser avec ce genre de relation many to many ??

Existe il d'autre solutions plus optimales pour ce qui est des relations parent enfant dans BO ?
Tous vos conseils sont les bienvenues .

PI: je travailles sous BOBI 4.1

Je vous remercie par avance.