Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Débuter
Débuter Forum d'entraide pour débuter avec Business Object
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2010, 15h47   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2010
Messages : 38
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2010
Messages : 38
Points : 14
Points : 14
Par défaut Liens indirects de tables

Bonjour bonjour.

Je vais me sentir un peu honteux de poser des questions aussi basique puisque ca fait maintenant presque deux mois que je tâte du BO, mais bon, il est jamais trop tard...

Mon problème est assez général.
J'ai 3 tables A, B et C.
A contient ID_1 et d'autres données A1, A2 etc...
B contient ID_1 et ID_2 et d'autres données (B1, B2...)
C contient ID_2 et ID_3 et d'autres données (C1, C2...)

La problématique générale est d'afficher un tableau contenant ID_1 et C1 si il existe bien un C1 associé à cet ID_1, et rien sinon.

Dans le cas ou l'on voudrai afficher ID1 et B1, pas de problèmes:
-Sous designer on relie les tables comme il faut.
-Sous webi, on crée 2 requêtes une ramenant A et une B, on lie ID_1(A) et ID_1(B) et on crée une information Ib1 ayant pour formule B1,associé a ID_1 fusionné.
-Et hop, on affiche ID_1 et Ib1, on auras ainsi tous les C1 qui correspondent aux ID1 si ils existent

Mais si je fait la même chose sur C1, c'est a dire
-creer 3 requêtes (A, B et C)
-lier ID_1(A) et ID_1(B), ainsi que ID_2(B) et ID_2(C)
-créer l' information Ic1 affichant C1, associé a ID_1
On obtient une erreur d'incompatibilité.

Alors étant donnée mon faible niveau dans le monde des bases de données en général, je me sens vraiment super perdu.
Mon erreur vient peut être de la construction de mon univers, de ma méthode, ou peut être même que c'est impossible je ne sais pas. Je ne sais même pas si ce problème est basique, courant ou élémentaire. C'est pourquoi je le poste chez les débutants.
Je pourrai étendre la question à une quatrième ou cinquième table...

Merciiiiiii
raithfall est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 16h05   #2
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
C'est une bonne question, malheureusement, on ne peut pas dire sans avoir ton modèle sous les yeux...
Ca va dépendre de beaucoup de choses.
Si tu pouvais partir d'un exemple concret qui illustre bien ta problèmatique ca serait bien, car ID_1, ID_2 etc.. Qu'est ce que c'est ?
Magasin, Rayon, Famille, Produit ?
Continent, Pays, Région, Ville ?
Ou alors, rien à voir avec des niveaux de hiérarchies ?
Ton problème peut en effet venir de ton modèle si tu as mal fait les jointures ou si les tables ne sont pas structurées de la bonne façon.
Ton modèle de données est il bien un modèle décisionnel ? et non pas opérationnel ? Plus concrètement, se base-t-il sur un modèle en flocon ou étoile ? Les tables de dimensions gravitent-elles bien autour des tables de faits ?

Après, il faut aussi se poser comme question :
Pourquoi tu ne peux pas mettre ID_1, ID_2 et ID_3 dans la même requête ?
Si tu ne peux pas les mettre dans la même requête, est ce que ca a un sens de les lier par la suite ?

Réellement, je pense que souvent, dans ce genre de cas, le problème est antérieur à la partie reporting, mais se trouve plutôt dans la partie modélisation du DWH.

Je t'invite à te poser toutes ces questions (et à répondre aux miennes :p), je pense qu'elles sont importantes. Si tu t'es déjà posé ces questions, réponds juste aux miennes pour qu'on puisse te venir en aide

Bon courage
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 16h49   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2010
Messages : 38
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2010
Messages : 38
Points : 14
Points : 14
Alaala, c'est vraiment pas simple de te répondre parce que mon univers est plutot compliqué.

Commençons par les réponses faciles:
Les tables n'ont pas de relation de hiérarchie.
Les différentes tables n'ont pas de liaisons complexes, j'entends par la qu'il n'y a aucune boucles dans les liaisons.

Ben c'est tout pour les réponses faciles...
Le contexte est vraiment trop complexe pour que je le développe ici...

"Pourquoi tu ne peux pas mettre ID_1, ID_2 et ID_3 dans la même requête ?"
Pour des raisons de cardinalité je crois, si je le fait, je n'extrait aucune donnée. (cela viens surement de jointures externes)

En fait je pense que ce sont mes jointures qui me posent problème...

Mais , pour en revenir à la théorie, en supposant que mon univers soit nickel, est ce que ma méthode fonctionne?

Argh J'ai très mal a la tête avec tout ca moi....
raithfall est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 17h10   #4
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Je trouve déjà que la méthode : transformer une dimension en information pour la faire dépendre d'une autre dimension pour pouvoir la mettre dans le tableau est limite quand il y'a 2 requêtes, car source d'erreurs. Alors si on augmente le nombre de requête, ca deviendra vite n'importe quoi.
De plus, c'est sur que ca ne fonctionnera jamais si tu n'as pas du 1-n de requête en requête.
Bref, je pense qu'il faut en effet revoir ton modèle, car le décisionnel, c'est éviter justement ce genre d'usine à gaz...
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 17h49   #5
Candidat au titre de Membre du Club
 
Inscription : septembre 2010
Messages : 38
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2010
Messages : 38
Points : 14
Points : 14
Effectivement, mon erreur provenait de mes liaisons: j'ai inversé le sens d'une jointure externe.
En repassant tout sous deux requêtes comme tu me l'as conseillé ca a fonctionné.
OUf, le mal de crane est passé!

Merci julien!
raithfall est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h38.


 
 
 
 
Partenaires

Hébergement Web