Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
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 30/04/2008, 11h45   #1
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
Par défaut [Designer] Faire une jointure

Bonjour,
Pour prendre l'outil en main, je le teste avec une base test.
Mon problème est qu'il m'est impossible de faire une jointure dans la fenêtre pour créer un dataset.
Je possède donc deux tables:
produitB avec pour champ: idproduit (la clef primaire), nom et qte
coutB avce pour champ : idcout(la clef primaire), annee, prix, idproduit (la clef etrangere qui refere produitB).
J'ai écrit la requête suivant:
select produitB.nom, produitB.qte, coutB.prix
from produitB, coutB
where produitB.idproduit = coutB.idproduit
Mais lorsque je souhaite visualiser le résultat sous "Preview Results" les champs sont vides.
Merci pour votre aide.
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h13   #2
Membre actif
 
Avatar de helpmemorvan
 
Consultant en Business Intelligence
Inscription : juin 2007
Messages : 207
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juin 2007
Messages : 207
Points : 165
Points : 165
base test ??? tu parle parle de la base sample de birt ou bien d'une autre base ?

si tu utilises une autre base as tu au moment de configuré la connexion tester cette connexion ? normalement tu doit obtenir connection sucessfull.

sinon quand tu fais un select * from produitB cela te renvoie t'il un résultat ?
ou comme pour ta jointure rien dans le preview
__________________
Morvan
La connaissance c'est ce qu'il manque à tout homme
helpmemorvan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h31   #3
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
Lorsque je parle de base test, c'est plutôt des tables que j'ai écrite pour tester et manipuler Birt.

J'utilise Oracle comme sgbd et la connexion est bien établie. J'obtiens bien le connection sucessfull.

Lorsque je fait la requête "select * from produitB", le résultat de la requête s'affiche bien sous le "Preview Results".

J'ai testé ma jointure ma jointure sous sqlplus et celle-ci fonctionne correctement.
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 14h33   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Il faut faire attention.

Le requêteur de BIRT n'accepte que du SQL normé puisque c'est une connexion JDBC. Si tu utilises des mots clefs spécifique à Oracle, ca fonctionnera beaucoup moins bien.

Je pense que ton problème vient de là.

Peux-tu poster ta requête ci-dessous ? (dans les balises [ CODE ] )
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 14h56   #5
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
Oui, j'ai écrit ma requête en sql comme sous Oracle.
qu'entendez-vous par SQL normé?

Voici ma requete:

Code :
1
2
3
SELECT produitB.nom, produitB.qte, coutB.prix
FROM produitB, coutB
WHERE produitB.idproduit = coutB.idproduit
J'obtiens bien les colonnes nom, qte et prix sous Previews Results mais ces dernières sont vides.

Merci pour votre aide
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h05   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Peut-être que tu ne fais pas ta requête sous le bon schéma
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h09   #7
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
j'ai mis tous les schémas au champ prévu à cet effet.
De plus, une requête simple comme
Code :
1
2
SELECT *
FROM produitB
fonctionne correctement.

De plus, la requête de jointure fonctionne correctement sous le mode commande sqlplus de Oracle. Elle me retourne le bon résultat.
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h12   #8
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
C'est bizarre quand même.

Et si tu les fais chacune indépendamment, tu as bien ta liste de produits ?

Tu as combien d'enregistrements dans chaque table ? (C'est peut être une histoire de préférences de prévisualisation )
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h17   #9
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
J'obtiens bien ma liste de produit avec la requête citée précédemment.

Dans la table produit, j'ai 3 enregistrements. Dans la table cout, j'ai 6 enregistrements.

J'ai aussi essayé de faire d'autres jointures avec d'autres tables et elles ne fonctionnent pas non plus. Aucune des jointures que je peux écrire ne fonctionne.
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h23   #10
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Etrange, peut-être que c'est seulement le Preview qui ne fonctionne pas (mais c'est bizarre quand même). As-tu essayé une génération complète ?
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h33   #11
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
J'ai mis les résultats dans une table et à l'affichage la table est vide.
Ma création de tables est
Code SQL :
1
2
3
 
CREATE TABLE produitB (idproduit int, nom varchar(20), qte int, PRIMARY KEY(idproduit))
CREATE TABLE coutB (idcout int, annee int, prix int, PRIMARY KEY(idcout), FOREIGN KEY (produitB) REFERENCES (produitB))
mes insertions sont
Code SQL :
1
2
3
4
5
6
7
8
9
10
 
INSERT INTO produitB VALUES (1,'cd',2);
INSERT INTO produitB VALUES (2,'dvd',5);
INSERT INTO produitB VALUES (3,'bd',10);
INSERT INTO coutB VALUES(1,2003,1);
INSERT INTO coutB VALUES(2,2004,1);
INSERT INTO coutB VALUES(3,2003,2);
INSERT INTO coutB VALUES(4,2004,2);
INSERT INTO coutB VALUES(5,2003,3);
INSERT INTO coutB VALUES(6,2004,3);

Je vous ai réecrit mes requêtes parce que mon sgbd est sur un serveur distant.
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h46   #12
Membre actif
 
Avatar de helpmemorvan
 
Consultant en Business Intelligence
Inscription : juin 2007
Messages : 207
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : juin 2007
Messages : 207
Points : 165
Points : 165
euh c'est normale que tu insères que 3 valeurs dans ta table coutB alors que tu est censé en avoir 4 ? avec la clef étrangère ?
__________________
Morvan
La connaissance c'est ce qu'il manque à tout homme
helpmemorvan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h48   #13
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Hum...

Ta table coutB se crée ?? Ta requête m'a tout l'air d'être fausse...

D'ailleurs coutB n'a pas de colonne idproduit, alors je ne vois pas comment faire une jointure sur la colonne idproduit de chaque table (coutB et produitB) puisque l'une d'entre elles n'a pas de colonne idproduit.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h48   #14
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
désolé, j'ai mal recopié
mes requêtes sont plutôt:
Code SQL :
1
2
3
4
5
6
7
 
INSERT INTO coutB VALUES (1,2003,5,1);
INSERT INTO coutB VALUES (2,2004,6,1);
INSERT INTO coutB VALUES (3,2003,1,2);
INSERT INTO coutB VALUES (4,2004,2,2);
INSERT INTO coutB VALUES (5,2003,8,3);
INSERT INTO coutB VALUES (6,2004,7,3);
et
Code SQL :
1
2
 
CREATE TABLE coutB (idcout int, annee int, prix int, idproduit int, PRIMARY KEY(idcout), FOREIGN KEY (idproduit) REFERENCES produitB)
lunoella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 15h50   #15
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Je pense que tu voulais faire ça :
Code SQL :
1
2
 
CREATE TABLE coutB (idcout int, annee int, prix int, idproduit int, PRIMARY KEY(idcout), FOREIGN KEY (idproduit) REFERENCES produitB(idproduit))
... pour ta table coutB. Tu avais oublié une colonne tout simplement.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 16h05   #16
Invité de passage
 
Étudiant
Inscription : avril 2008
Messages : 8
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 8
Points : 1
Points : 1
Merci beaucoup.
L'erreur vient effectivement de la création de table coutB. Lors de la référence de la clef étrangère de idproduit de la table coutB, j'ai fait une référence à la table et non à la colonne de la table.
lunoella 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 23h59.


 
 
 
 
Partenaires

Hébergement Web