Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
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 29/10/2007, 11h40   #1
Membre du Club
 
Inscription : mars 2007
Messages : 248
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 248
Points : 46
Points : 46
Par défaut [Designer 5.0] Définir dimensions sur lignes avec MIN et MAX

Bonjour
Contexte:
Base Oracle +
Un Univers existant avec entre autre une jointure entre table T_parent et T_enfant (via une colonne primary key de la table parent). L'univers contient une série de dimensions permettant d'afficher le contenu de ces 2 tables. Les enregistrements de la table T_enfant sont numérotés (colonne NUM_ORDRE). Une série de numéros existe pour chaque valeur de PK de la table parent.

Mon besoin:
Je dois modifier l'Univers pour afficher les attributs de deux tables, avec pour chaque ligne "parent" seulement les 2 lignes enfants contenant le minimum et maximum de numéro d'ordre.

Mes résultats:
J'arrive à le faire si je n'affiche que les informations de la table mère et min et max de la colonne NUM_ORDRE de la table enfant.
Par contre dès que j'intègre dans un rapport un champ supplémentaire de la table enfant, tout le contenu de cette table est affiché, car min et max sont évalués alors au niveau enregistrement enfant et non plus au niveau de l'identifiant T_parent.PK dans la table enfant:

Ce que je voudrais faire c'est de paramétrer l'Univers pour arriver via BO à générer un rapport avec un sql équivalent de :

Code :
1
2
3
4
5
6
7
SELECT * 
  FROM T_parent p, T_enfant e
 WHERE p.PK=e.PK   /* condition de jointure classique */
   AND (e.num_ordre = (SELECT min(e2.num_ordre) FROM T_enfant e2 WHERE e2.PK = p.PK)
        OR
        e.num_ordre = (SELECT max(e2.num_ordre) FROM T_enfant e2 WHERE e2.PK = p.PK)      
        )
Quelle astuce de Designor permet de le faire ?
Merci d'avance

msomso
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 12h27   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Bonjour msomso,
Tout d'abbord BRAVO pour l'exposé de ton besoin (avec précision de ta version). Jamais vu un énoncé aussi clair et structuré !


Alors, une chose est certaine : C'est pas de chance que tu sois en version 5 car en V6 tu aurais la possibilité de créer une table dérivée avec ton SQL (comme on crée une vue oracle)

Pour ce qui est de ta version 5 :
Il ne me semble pas possible d'intégrer un GROUP BY dans le SQL d'un objet.
La solution est
soit en amont créer une vue oracle dans la base
soit en aval l'utilisateur pouvant utiliser une sous requête

Mais peut-être suis-je en hypoglycémie ...
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2007, 08h14   #3
Membre du Club
 
Inscription : mars 2007
Messages : 248
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 248
Points : 46
Points : 46
Bonjour,

En ce qui concerne la modification de base (création de la vue), j'y ai pensé, mais j'aimerais l'éviter.
Il est quand même rassurant de savoir que je suis à priori, confrontée à une vraie limitation BO et non à mon incompétence

Merci de votre intérêt

msomso
msomso est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h19.


 
 
 
 
Partenaires

Hébergement Web