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 15/10/2007, 11h19   #1
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
Par défaut Probleme avec rapports

Salut,

J'ai une ou deux petites questions, en ce qui concerne mon reporting.

1.
Si on prend en exemple le cas EFashion....
Je souhaiterai annuler le chiffre d'affaires par produit par exemple, même si aucun produit a été vendu (donc égal a 0 et aucune ligne de donnes dans la BDD).
Est ce possible ?
Ca reviendrait a rajouter un ALL a la requete SQL, je pense. Ca n'a pas l'air de fonctionner chez moi.

Voici comment on pourrait symboliser ma structure :

Citation:
ACCOUNT(accountID, accountName, AccountParent) => List of all account
CONTRACT (ContractID, #AccountID, ContractCounterparty, BookValue,...)
Je souhaite donc afficher TOUS les ACCOUNT et faire une somme de BookValue (pas de souci pour la somme), meme si cette somme est egale a 0.

2.
De plus comme vous pouvez le constater, il y a un champ AccountParent dans ma table Account.
Certains account ("AccountChild") appartiennent donc a un AccountParent (qui se trouve dans la meme table) - Cette architecture est sur plusieurs niveaux.
Je souhaiterai donc afficher une somme generale des BookVAlue des AccountChild dans les Account Parent.
Est ce possible ?
On pourrait comparer ca a un bilan general, en fait...

3.
J'ai beaucoup de mal a lier 3 tables et c'est surement un souci de jointure / Jointure externe...
Un shema simple :
Citation:
CLIENT (ClientNo, Nom, ...)
ACHAT (CLientNo, ProduitNo, ...)
PRODUIT (ProduitNo, NomProduit, PrixProduit, ...)
Je me retrouve toujours avec une erreur :
COMBINAISON INCOMPATIBLES D'OBJET

Quels jointures faut il faire pour un exemple de ce type ?


MERCI DE VOTRE AIDE !
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 13h53   #2
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
1- pour afficher tout, il te faut des jointures externes !!

2- J'ai pas tout pigé...mais dans BO d'habitude, on ne gère pas les arborescences (parent > enfant) comme cela.

Il faut en général mettre à plat les arbirecences, c'est à dire, s'il y a 3 niveau de pères>fils créer une table (id, acount_n1, account_n2, account_n3)

Ensuite tu peux afficher cela plus facilement dans un rapoprt BO...


3- CLIENT.ClientNo=ACHAT.CLientNo(+)
ACHAT.ProduitNo=PRODUIT.ProduitNo (+)
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 15h06   #3
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
Citation:
Merci a toi pour ces reponses...
1- J'ai deja tenté le coup avec des jointures externes. Je ne vois pas comment spécifier cela.
Faut il faire qqchose de special dans le Query Editor avent d'afficher le rapport ?
Voici les liens que j'ai crée, c'est ce qui me parait le + logique :

Citation:
Un ACCOUNT a zero ou plusieurs CONTRACTS
un CONTRACT a 1 et 1 seul ACCOUNT
2- Pour mieux comprendre, voici un shema avec un exemple de donnes de ma table ACCOUNT :



Je souhaite ensuite savoir si il est possible de creer une arborescence, du genre de l'explorateur Windows avec BO, et bien sur avec les données calculés pour chq ligne (même les lignes principales).

3- Le souci est resolu, merci !
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 15h27   #4
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
1- il faut spécifier les jointures externes dans l'univers Bo (designer) en cochant la case jointure externe dans les propriété de la jointure !!

2 -..sinon il y a les sections, si tu fais plusieurs sections à la suite, dans le plan du rapport affiché à gauche, tu peux naviguer dans le document et en faison affichage plan, tu peux masquer ou afficher des niveau d'arborescence !!

Mais pour cela également, il faut comme je le disait précédement "mettre à plat" ton arborescence !!

au niveau de ta base de donnée, crée une table alimentée récursivement par ta table account...en définissant une profondeur max de to narborescence.

ex :

table account(accountid - accountname - account parent)

donnera pour 5 niveau

table account_hierarchy(accountid - accountid2 - accountid3 - accountid4 -accountid5)


puis tu joins dans ton univers chaque champs de account_hierarchy à 1 alias de la table account_id afin d'en récupérer le accountname

et tu crée 5 objets <account_name_N1...5) dans ton univers par alias1_account.accountname..alias5_account.accountname
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 15h51   #5
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
Pour le 1-, j'ai deja tenté avec les jointures externes.
Voici ce que ca me donne...

Citation:
Un ACCOUNT a zero ou plusieurs CONTRACTS
un CONTRACT a 1 et 1 seul ACCOUNT
mais ca ne fonctionne pas sur le report.

Pour le 2-, je vais etudier tout ca. J'ai bien peur que je ne puisse toucher a la BDD.
Je vais deja jeter un oeil a la section plan bien que j'ai bien peur que ca ne suffise pas...
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 16h18   #6
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
1. OK je n'avais pas fais les jointures externes jusqu'au bout...
Disons que mon shema est un peu plus compliqué que celui qui est en exemple...
Les jointures externes doivent donc etre faites sur toutes les tables jusqu'a la table cible...

Un grand merci a toi.

2- Je vais un peu travailler dessus et je reviendrai surement pour infos...

MERCI EN TOUT CAS !!!
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 15h32   #7
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
2- Sincerement, je ne peux malhereusement pas toucher a la base de donnees.

Ne peut on pas gerer ca en creant plusieurs fois la table ACCOUNT dans l'univers et en creant des liens entre ACCOUNT.Account_ID et ACCOUNT.Accout_Parent_ID ?

Je cherche dans ce sens mais je ne trouve pas le bon enchainement.
Que me conseillerez vous de faire ?

On pourrait a peu pres symboliser cela comme un compte de resultat avec differents comptes (et un total pour le compte principal si possible)..
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 18h15   #8
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
Dis moi Mario, tu veux pas nous rappeler ... ta version de BO !

C'est important par exemple Dans Designer:

En version 5 tu peux utiliser des alias, c'est à dire
Mettre dans ton univers 3 fois la table ACCOUNT
  1. ACCOUNTNIV1 avec une autojointure sur le niveau si il existe sinon avec une clause restrictive
    length(ACCOUNTID)=1 à saisir dans la zone expression (de la boite de dialogue Insérer une jointure)
  2. ACCOUNTNIV2 avec une autojointure sur le niveau si il existe sinon avec une clause restrictive
    length(ACCOUNTID)=2
  3. ACCOUNTNIV3 avec une autojointure sur le niveau si il existe sinon avec une clause restrictive
    length(ACCOUNTID)=3
Il suffit ensuite de faire les jointures entre
  • ACCOUNTNIV1.ACCOUNTID = ACCOUNTNIV2.ACCOUNTPARENT(+)
  • ACCOUNTNIV2.ACCOUNTID = ACCOUNTNIV3.ACCOUNTPARENT(+)

A partir de la version 6 dans Designer ...
Tu as la possibilité d'utiliser les tables dérivées (menu insertion)
C'est l'équivalent d'une vue Oracle
Code :
1
2
3
4
5
6
7
8
9
10
11
 
SELECT 
A.ACCOUNTID AS NIV1ID, A.ACCOUNTNAME AS NIV1LIB,
B.ACCOUNTID AS NIV2ID, B.ACCOUNTNAME AS NIV2LIB,
C.ACCOUNTID AS NIV3ID, C.ACCOUNTNAME AS NIV3LIB
FROM
(SELECT ACCOUNTID, ACCOUNTNAME FROM ACCOUNT WHERE Length(ACCOUNTID)=3) C
(SELECT ACCOUNTID, ACCOUNTNAME FROM ACCOUNT WHERE Length(ACCOUNTID)=2) B
(SELECT ACCOUNTID, ACCOUNTNAME FROM ACCOUNT WHERE Length(ACCOUNTID)=1) A
WHERE A.ACCOUNTID = B.ACCOUNTPARENT(+)
AND B.ACCOUNTID = C.ACCOUNTPARENT(+)
Dis moi si ça t'aide ...
__________________
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 17/10/2007, 10h48   #9
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
Je travaille sur BO 5.1 mais on a la version 6 que je n'arrive pas a faire fonctionner...

Qu'appelles tu par "autojointure sur le niveau" ?
Je peux en effet utiliser la fonction length pour definir le niveau. Je vais voir comment je peux traiter tes infos.
Le probleme que j'ai pu constater est que je ne connais pas forcement le nombre de niveau !

Merci pour ces precisions.
__________________
Pensez au tag !!!
LP-mpascolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 12h52   #10
Membre émérite
 
Avatar de bastoonet
 
Inscription : septembre 2006
Messages : 815
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2006
Messages : 815
Points : 843
Points : 843
autojointure veut dire que tu fais une jointure sur la meme table mais sur un autre champs...
bastoonet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 10h31   #11
Membre régulier
 
Inscription : août 2006
Messages : 307
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : août 2006
Messages : 307
Points : 78
Points : 78
Citation:
Envoyé par bastoonet Voir le message
2- J'ai pas tout pigé...mais dans BO d'habitude, on ne gère pas les arborescences (parent > enfant) comme cela.

Il faut en général mettre à plat les arbirecences, c'est à dire, s'il y a 3 niveau de pères>fils créer une table (id, acount_n1, account_n2, account_n3)

Ensuite tu peux afficher cela plus facilement dans un rapoprt BO...
Je reviens sur ce sujet...
Voila, j'ai eu les droits necessaires pour gerer ce probleme de cette maniere.
Jai donc cree une table ACCOUNT_HIERARCHY avec 12 Level (ca suffit)
ACCOUNT_HIERARCHY (Contract_ID, Level 1,Level 2, Level 3, Level 4, ..., Level 12).
Le souci est que je ne connais pas le nombre de "Level" pour chaque contrat et que je me retrouve avec des cases vides pas facile a gerer dans les reports BO.
CE qui marque la fin d'une ligne est que le Contract_ID = Level "?".

J'ai vu que je pouvais creer des hierarchies dans mon univers. Est il possible de regler ca de cette maniere ?


Que me conseillez vous ?
__________________
Pensez au tag !!!
LP-mpascolo 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 22h24.


 
 
 
 
Partenaires

Hébergement Web