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 :

paramètre de rapport


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut paramètre de rapport
    Bonjour,

    Cela fait deux jours que j'essaye de créer des paramètres de rapport, j'ai suivi la plupart des discussions à ce sujet, et suivi toutes les indications, mais il y a surement quelque chose qui m'échappe puisque je n'obtiens pas ce que je veux.

    En fait, je veux donner la possibilité aux utilisateurs finaux de pouvoir "paramétrer les résultats" en fonction de certains critères. Par exemple, si le rapport présente une liste de toutes les commandes depuis le début de l'année, l'utilisateur va vouloir avoir une liste en fonction de ses besoins tel que les commandes en cours de paiement pour ce mois ci, ...

    J'ai donc créer les paramètres, puis quand je fais "aperçu" et "affiche les paramètres du rapport" pour modifier mon choix, la liste reste la même.

    Si ce n'est pas très claire, je vous ai mis des captures d'écran en fichier joint.

    Aussi j'aimerai savoir si c'est possible de faire la même chose pour des .rpttemplate et si ça ce fait de la même manière ou pas.
    Je suis prenant pour toutes remarques

    merci
    Images attachées Images attachées   

  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,

    Avec les captures d'écran, je n'ai pas mieux compris. Explique nous ce que tu veux précisément (sans mettre de terme technique ni expliquer la façon dont tu veux le faire, seulement ce que l'utilisateur doit voir, faire et avoir comme rendu).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    En fait je suis en stage et comme je suis encore en train de découvrir cet outil (plugin Birt dans IBM Rational ClearQuest) je peux comprendre que je n'ai pas été assez clair. Désolé

    Le but de mon stage est de générer des modèles de rapports.
    Pour cela, les utilisateurs finaux, qui vont se servir des modèles que je fait pour créer leurs rapports, devront avoir la possibilité de faire des tris sur les données.

    Donc si le rapport est fait à partir du modèle 'liste des factures', l'utilisateur va avoir la liste de toutes les factures présentent dans la base de données.
    Imaginons maintenant que l'utilisateur souhaite avoir la 'liste des factures non payées du mois de juin' (ou autre) ... comment va t-il faire ?
    J'ai alors pensé que la solution serait d'inclure des paramètres de rapport pour qu'il ai la liberté de manipuler ces données. C'est ce que j'ai fait.
    Cependant, avec ou sans paramètres, le resultat reste le même, c'est à dire qu'au lieu d'avoir la 'liste des factures non payées du mois de juin', j'ai toujours la 'liste des factures' (c'est à dire toutes les factures en cours, payées, non payées, ....)

    j'espère avoir été plus clair

  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
    Ok, tu as rajouté tes paramètres au rapport mais pas au DataSet. Il faut prévenir le DataSet que tu veux filtrer tes données OU la table au pire.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    Ah oui, ça fonctionne mieux maintenant
    J'en profite également pour poser une autre question au sujet des paramètres.
    Est ce possible de remplir un seul champ du rapport (ex : ID de la facture) et que tous les autres champs correspondant à cet ID se remplissent automatiquement? et comment faire exactement svp (je pense qu'il s'agit des paramètres dynamiques mais je n'ai pas compris comment les utiliser)
    Merci

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Si tu as besoin que de l'ID, pourquoi ne pas demander que l'ID ^^

    Une fois l'ID récupéré, tu peux demander les autres info dans ton dataset avec une requête SQL!

    Tu peux toujours garder tes autres paramètres mais du coup, ne les met pas en obligatoire!

    Sinon, tu veux faire un effet cascade?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    D'accord mais n'y a t-il pas un moyen de le faire sans requête SQL ?
    j'ai joint une capture d'écran de mon template. Quand un utilisateur va faire un rapport en choisissant ce template, je veux simplement qu'il renseigne le champ [RP_id] (en haut à droite) et que tous les autres champs (entre crochets) se remplissent automatiquement.

    Remarque : Les utilisateurs finaux ne doivent pas toucher au dataset, ni faire des requêtes supplémentaires,...

    Par ailleurs pouvez vous m'expliquer les paramètres en cascades svp, je pense ne pas avoir compris le principe. (Désolé mais je suis encore novice dans le domaine)
    Images attachées Images attachées  

  8. #8
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Perso j'ai un peu de mal à comprendre la cinétique de l'appli: la plupart du temps dans ce type de fonctionnements listes/détails tu as 2 rapports:
    - le premier rapport qui liste les factures, décrits dans ton premier post
    - le deuxième rapport facture détaillée, décrit dans ton dernier post, accessible entre autre par "drill to template" en cliquant sur un élement de la liste du premier rapport.

    Le rapport facture détaillée doit donc être un .rptdesign, avoir son propre dataset et en paramètre requis l'ID qui viendra filtrer le SQL sur la facture souhaitée. Ce parametre ID sera renseigné soit par le Drill to template, soit par une saisie utilisateur si le rapport a été lancé directement.

    Il y a sans doute un truc que j'ai mal compris car je ne vois pas ce que vient faire le rpttemplate dans l'archi de ton appli? Tu veux que chaque utilisateur puisse créer des rapports personnalisés ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    la plupart du temps dans ce type de fonctionnements listes/détails tu as 2 rapports:
    - le premier rapport qui liste les factures, décrits dans ton premier post
    - le deuxième rapport facture détaillée, décrit dans ton dernier post, accessible entre autre par "drill to template" en cliquant sur un élément de la liste du premier rapport.
    Non, je ne travaille que sur le rapport "facture détaillée" qui est en fait un .rpttemplate. Il n'y a pas de liste. (la liste concernait une autre question)

    Le rapport facture détaillée doit donc être un .rptdesign, avoir son propre dataset et en paramètre requis l'ID qui viendra filtrer le SQL sur la facture souhaitée. Ce paramètre ID sera renseigné soit par le Drill to template, soit par une saisie utilisateur si le rapport a été lancé directement.
    Oui, le rapport facture détaillée sera bien un .rptdesign (créer par l'utilisateur final).
    Cependant, le dataset et le paramètre ID sont définit dans le .rpttemplate. (en effet, un .rpttemplate peut contenir les sources de données, les datasets,…).
    Donc quand l’utilisateur sélectionne un template pour son rapport, la trame du rapport est déjà faite … Il appui sur aperçu, rempli le paramètre ID pour que toutes les données correspondantes (nom, prénom, adresse, montant,…) se remplissent automatiquement.
    Oui, je veux que chaque utilisateur puisse créer des rapports personnalisés, par là j'entend que selon l'id entré par l'utilisateur, une nouvelle facture est de nouveau créée.
    Le problème c’est que quand on rempli le paramètre ID, les champs nom, prénom… de la facture ne correspondent pas à l’ID entré, mais à l’ID de la première ligne de ma base de donnée.

    Merci pour votre patience... j'ai vraiment besoin d'aide

  10. #10
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Citation Envoyé par soumay Voir le message
    Oui, je veux que chaque utilisateur puisse créer des rapports personnalisés, par là j'entend que selon l'id entré par l'utilisateur, une nouvelle facture est de nouveau créée.
    J'ai peut être mal compris mais je crois qu'il y a une petite confusion avec l'utilisation des rptdesign/rpttemplate. D'aprés ce que j'ai vu tu souhaites qu'un fichier .rptdesign soit créé pour chaque nouvelle facture, mais ce n'est pas le but de ces fichiers: un rptdesign est déjà un template parametré en soi, ce n'est pas un fichier ou on stocke une instance de rapport comme on le ferait avec un fichier excel ou pdf par exemple.

    Si les données retournées sont la premiere ligne de la base c'est que tu as oublié de les filtrer avec le paramètre ID.

    Donc voici un récap de ce qu'il faut faire dans les grandes lignes pour que ce rapport fonctionne:

    Créer un paramètre ID requis dans le rapport
    Il est conseillé de mettre une valeur par défaut réelle pour que les prévisualisations SQL fonctionnent dans le designer

    Créer 2 datasets dans le rapport
    -Entete de facture, avec une requête du type:

    select name, firstame, country, dest_name, dest_firstame, etc...
    from facture_Entete
    where ID = ?


    -Ligne détails, avec une requête du type:

    Select designation, quantite, puHT, MontantTTC
    from facture_Details
    where ID = ?


    A l'interieur des 2 datasets Il faut affecter le parametre ID pour que le "?" soit remplacé par l'ID choisi par les utilisateurs à l'exécution.

    Tu lies le tout avec les champs à afficher (ou tu fais directement un drag & drop des datasets vers le rapport puis un peu de cosmétique), et hop tout fonctionnera, une belle facture générique paramétrée par ID sans avoir besoin de rpttemplate! Maintenant si tu en veux absolument un, libre à toi , mais à moins que je sois très fatigué et que je n'ai rien compris tu n'en as pas du tout besoin au stade actuel du projet.

  11. #11
    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
    Effectivement il y a une énorme confusion.

    Tu devrais peut être reprendre les bases.
    Qu'est ce que BIRT ?
    Quels sont les différents types de fichiers existants dans BIRT ?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    En effet, la distinction entre le rpttemplate et rptdesign n'est pas très clair.
    Mais merci beaucoup pour vos conseils, je vais à présent essayer de résoudre mon problème avec une nouvelle approche. J'espère y arriver.
    Thanks again !!

  13. #13
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bonjour tout le monde !

    Pour revenir sur le conseil de Donino à propos de :

    Créer 2 datasets dans le rapport
    -Entete de facture, avec une requête du type:

    select name, firstame, country, dest_name, dest_firstame, etc...
    from facture_Entete
    where ID = ?
    Je voulais savoir s'il était possible d'avoir la même chose mais plutôt sous forme de script car sur mon outil, je ne peux pas modifier les requêtes comme ça. Je suis obligé de passer par des scripts.

  14. #14
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    C'est quoi l'outil que tu utilises ?
    Par script tu entends les sections script birt beforeOpen etc du DataSet ?

  15. #15
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Oui c'est ça je parles des sections script birt beforeOpen etc du DataSet. Peut-tu m'en dire un peu plus sur son utilisation?
    J'utilise IBM Rational ClearQuest. (Soumay tu utilises aussi cet outil ?)

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    Oui mais je suis encore novice en la matière.
    Je serai également interressé par une éventuelle solution

  17. #17
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    Je ne sais pas si j'ai bien compris mais si tu veux modifier la requête par script alors c'est possible. Dans le beforeOpen tu peux accéder à

    et la modifier.

    Si ta requête de base est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select name, firstame, country, dest_name, dest_firstame, etc...
    from facture_Entete
    tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.queryText += "where ID = ?"
    Est-ce que c'est ça que tu cherches ?

    --
    Marie

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 30
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé la solution à mon problème.
    Je la fait partager au cas où ça pourrait aider quelqu'un d'autre :
    J'ai rajouté un filtre dans mon dataset :
    Expression : params["RP_Id"] (mon paramètre de rapport),
    Opérateur : Egal à
    Valeur 1 : row["id"]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/05/2008, 16h35
  2. Réponses: 4
    Dernier message: 23/04/2008, 22h46
  3. [2.2.1] Paramètres de rapport
    Par erwan.bodere dans le forum BIRT
    Réponses: 8
    Dernier message: 22/01/2008, 22h01
  4. Réponses: 3
    Dernier message: 06/08/2007, 15h25
  5. Réponses: 2
    Dernier message: 11/09/2006, 14h53

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