IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

[2.2.2] Lier des DataSet


Sujet :

BIRT

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Points : 46
    Points
    46
    Par défaut [2.2.2] Lier des DataSet
    Bonjour,

    J'ai deux DataSets Personne et Adresse.
    Dans le DataSet Personne je récupére le Nom, Prénom, et un IdAdresse.
    Je souhaite pouvoir récupérer l'Adresse en passant au DataSet Adresse l'IdAdresse récupéré sur le DataSet Personne le tout dans le même report.
    D'avance merci de votre aide.

    @+

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    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 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Pour cela il faut faire de l'imbrication de DataSet mais c'est déconseillé en terme de performances. Il aurait mieux fallu un DataSet comprenant toutes les informations dans ce cas.

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Pour le moment, je ne sais pas faire ça, mais je vais étudier la question.

    Par contre, tu imbriques des data-set et surement par la suite des tables, sâches que les performances de BIRT en sont fortement réduites.

    Si tu peux, il faut tout faire dans un seul data-set.
    Et là, ça n'a pas l'air d'être très dur de faire une jointure simple.

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    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 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Le mot jointure m'a fait tilté. Fait un JointDataSet, ce sera plus efficace et plus propre.

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    Merci pour vos réponses. La réponse est malheureusement celle que j'attendais. J'ai essayé avec des join data set mais les temps de réponses sont vraiment ca-tas-tro-phiques !!
    Donc dommage, vais être obligé de tout faire dans un seul data set et du coup je perd en modularité. :aie :
    Dommage !

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Tu peux faire un dataset Personne, un dataset Adresse et un dataset AdressePersonne. Tu ne perds rien en modularité ainsi et de plus tu gagneras en terme de performances.

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par erwan.bodere Voir le message
    Tu peux faire un dataset Personne, un dataset Adresse et un dataset AdressePersonne. Tu ne perds rien en modularité ainsi et de plus tu gagneras en terme de performances.
    Bonne idée, sauf que tu perdras tout de même un peu en performance.
    Car tu vas ramener 2 fois plus d'enregistrements que si tu avais une seule requête.
    Et ce n'est pas si modulaire puisqu'en général, 1 édition = 1 rptdesign.
    Donc j'aurai tendance à dire 1 edition = 1 dataSet sauf cas particulier.

    Après, si tu veux de la performance, il faut absoluement que tu ne fasse qu'un seul data-set, par contre ça oblige à être assez malin en SQL.

    Si la requete SQL est simple a ecrire autant faire qu'une requete, t'auras tout à gagner.

    Et si elle est compliquée, tu t'en sortiras p-e pas à l'écrire.
    Mais si tu prends un peu de temps à chercher et que tu t'en sors, tu y gagneras enormément.

    Moi, dès fois je préfère faire une requête complexe qui ramène un peu trop d'enregistrements quitte à les masquer plutot que de faire plein de requetes assez simples qu'il faut combiner.
    On préfère la performance quitte à faire un peu complexe.


    Merci, Imotep j'ai testé les join data set.
    Pour le moment, je suivai juste les recommandations de la boite.
    Là au moins, j'ai vu le pourquoi de cette recommandation.

    Enfin vu ce que propose les JOIN data set, je pense qu'on peut facilement les oublier car ils ne proposent pas plus qu'une requete SQL.

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par birt1976 Voir le message
    Bonne idée, sauf que tu perdras tout de même un peu en performance.
    Car tu vas ramener 2 fois plus d'enregistrements que si tu avais une seule requête.
    Par forcément, tu peux stocker ces 3 requêtes dans une librairie et en utiliser que un dans un rapport et les 2 autres dans un autre rapport. Si on doit ramener les informations des personnes et des adresses, et surtout si il y a pour une personne une et seule adresse, il vaut nettement mieux utiliser un seul dataset.

    Citation Envoyé par birt1976 Voir le message
    Et ce n'est pas si modulaire puisqu'en général, 1 édition = 1 rptdesign.
    Donc j'aurai tendance à dire 1 edition = 1 dataSet sauf cas particulier.
    Faux. J'ai pas mal de rapports et j'ai aucun qui décrivent ce type de comportement. Mes rapports utilisent en moyenne une trentaine de datasets, plusieurs datacubes et une bonne cinquante de composants.

    Citation Envoyé par birt1976 Voir le message
    Après, si tu veux de la performance, il faut absolument que tu ne fasse qu'un seul data-set, par contre ça oblige à être assez malin en SQL.
    Complètement d'accord. Je ne pense pas que cela soit très difficile de faire une jointure entre la source (table, vue, ..) personne et la source adresse. Il ne s'agit ici que d'une simple jointure.

    Citation Envoyé par birt1976 Voir le message
    Merci, Imotep j'ai testé les join data set.
    Pour le moment, je suivai juste les recommandations de la boite.
    Là au moins, j'ai vu le pourquoi de cette recommandation.

    Enfin vu ce que propose les JOIN data set, je pense qu'on peut facilement les oublier car ils ne proposent pas plus qu'une requete SQL.
    Perso, je conseille uniquement d'utiliser les join datasets pour fusionner des données provenant de sources différentes (bdd, xml, csv, ...)

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Je suis tout à fait d'accord avec toi, Erwann.
    Et je t'applaudis, je suis bien content de voir qu'on a un EXPERT de BIRT.

    Par contre je suis un peu surpris de ta phrase
    J'ai pas mal de rapports et j'ai aucun qui décrivent ce type de comportement. Mes rapports utilisent en moyenne une trentaine de datasets, plusieurs datacubes et une bonne cinquante de composants.
    Car tout de même, tu devrais avoir des éditions basiques pour certaines tables de ton application.

    J'imagine la tête de tes éditions.
    Elles ne rament pas trop avec l'utilisation de tous ces outils ?

    NB: je suis vraiment un petit joueur à coté.

  10. #10
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    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 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Je n'ai également que des éditions avec plusieurs DataSet car elles sont très complexes ou offrent des présentations modulables. Je crois que tu penses comme ceci parce que tu n'as encore assez explorer les possibilités de BIRT

  11. #11
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par BiM Voir le message
    Je n'ai également que des éditions avec plusieurs DataSet car elles sont très complexes ou offrent des présentations modulables. Je crois que tu penses comme ceci parce que tu n'as encore assez explorer les possibilités de BIRT
    Bien possible.
    J'en suis qu'au début.

    Je suis de l'ancien temps où on faisait ses éditions UNIQUEMENT par programmation.
    Aussi, je ne connais pas forcement tout ce qu'y peut se faire avec un outil de génération d'édition, c'est le 1er que j'utilise.
    Mais le FORUM est là.


    Ma plus grosse requête possède une dizaine de liens en inner ou outer join avec des restrictions like, exist etc...


    Pour la modularité, on est en cour de recherche.
    Pour le moment, on préfère faire plus d'édition que de surcharger une édition de multitude de data-set.


    Et pour le moment, il y a certaines éditions que je n'arrive pas à faire.
    D'ailleurs, je n'ai eut aucune réponse à certaines de mes questions malgré que j'indiquais un début de possibilité.

    Pour ces éditions, pour le moment, aucun collègue n'a encore trouvé de solution.

Discussions similaires

  1. [Débutant] Lier des Button aux champs d'un DataSet
    Par pv1703 dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/02/2014, 12h41
  2. Réponses: 16
    Dernier message: 04/03/2008, 15h51
  3. Performance des Datasets
    Par Nafanga dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/10/2005, 00h49
  4. [CR8.5] Aide pour lier des etats
    Par Silvinho42 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 28/04/2005, 10h11
  5. [C#] Lier des boutons radio dans une application mobile
    Par Loïc56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/04/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo