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 25/11/2010, 10h48   #1
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 32
Points : 10
Points : 10
Par défaut Ajouter un parametre année dans BIRT

Bonjour
Je veux créer un rapport qui contient un tableau dépendant d'un paramètre année sachant que j'ai une colonne date de naissance
donc j'ai essayé d'ajouter un nouveau paramètre à partir de cette colonne date de naissance mais je n'ai pas pu en extraire juste l'année
Merci d'avance
hakrimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 11h18   #2
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Bonjour,

Il y a deux sujets dans cette question :
  • Extraire l'année d'une date ;
  • Renseigner un paramètre (au sens BIRT, c'est à dire un "report parameter") à partir de données d'un dataset.

D'abord, pour l'extraction de l'année depuis une date, voici comment faire : dans le dataset, créer un champ calculé ("computed column") de type entier, et mettre cette formule :
Code :
BirtDateTime.year(dataSetRow["ma_date"])
BirtDateTime.year() est une fonction de l'expression builder (la fenetre qui permet d'écrire les formules des données), "ma_date" est un exemple de nom pour le champ de date source.

Ensuite, pour valoriser un paramètre (valeur unique pour l'état) à partir d'un dataset (colonne date avec multiples valeurs), il faut :
  • Faire un tableau utilisant le dataset, le placer en haut de l'état ;
  • Définir une agrégation sur le tableau, calculant la valeur de l'année à choisir (la plus petite, la plus grande...) ;
  • Appliquer un script à ce tableau permettant de valoriser le paramètre à partir de la valeur de l'agrégation. La ça devient un peu compliqué, j'attendrai d'être sûr que c'est bien ce dont tu as besoin pour entrer dans le détail du code.

Vois déjà ce dont tu as besoin.
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/11/2010, 12h40   #3
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 32
Points : 10
Points : 10
Bonjour
je vous remercie pour votre réponse
pour la première partie merci beaucoup c'est ce que je cherchais et pour la deuxième partie en fait je n'ai pas encore commencé à voir comment ça se fait puisque j'étais bloquée au niveau de la première partie
je vais essayé d'appliquer ce que vous m'avez dit et je vous tiendrai au courant
merci beaucoup encore une fois
hakrimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h03   #4
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 32
Points : 10
Points : 10
Effectivement c un peu plus compliqué, j'aurai besoin de votre aide
en fait je ne sais pas si c'est pareil pour une table et pour un graphe parce que je vais avoir besoin du paramètre pour les deux cas
pour le graphe je veux faire un "pie chart" qui affiche pour chaque année le nombre d'entrée avec une date de naissance dans cette année
pour la table c'est pareil afficher les entrées qui ont une date de naissance dans cette année
hakrimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h27   #5
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Ce n'est pas clair du tout.
Tu as dit "j'ai essayé d'ajouter un nouveau paramètre à partir de cette colonne date de naissance", donc j'ai compris que tu calculais la valeur du paramètre à partir de tes données. Mais maintenant j'ai l'impression que tu as besoin d'un paramètre classique, c'est à dire que tu valorises au lancement de ton état (par exemple, tu affiches ton paramètre et écris "2009" au lancement de l'état), et qu'à partir de là tu filtres les données de ton tableau. Ce n'est pas du tout la même chose et surtout c'est beaucoup plus simple.

Donc j'aimerais que tu clarifies le fonctionnement de ton état, et ce dont tu as besoin. Je suis sûr qu'en fait c'est très simple. Mais si tu pouvais me faire un cas d'utilisation avec un exemple valué (tu écris un dataset avec des valeurs, tu dessines le tableau final), ça serait beaucoup plus facile à comprendre.

Note : tu peux utiliser les balises "code" (l'icône en forme de dièse au dessous du champ de texte) pour afficher tes tableaux de manière claire.
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 14h43   #6
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 32
Points : 10
Points : 10
Je vais essayer de clarifier un peu plus les choses:
j'ai un DataSet avec des noms de personnes, leurs prénoms, leurs adresses et leurs dates de naissances
Je veux afficher une table avec les noms, les prénoms et les adresse des personnes nés en 2000 par exemple

ensuite je veux un graphe pie chart qui m'afficher le nombre de personnes née en chaque année pour une ville donnée (le nom de la ville je le fais entrer en paramètre aussi )
hakrimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 15h19   #7
Membre confirmé
 
Nicolas Vives
Inscription : avril 2010
Messages : 178
Détails du profil
Informations personnelles :
Nom : Nicolas Vives

Informations forums :
Inscription : avril 2010
Messages : 178
Points : 212
Points : 212
Ok, donc c'est bien ça, c'est classique et c'est simple.
Tu dois définir dans ton état, deux paramètres, "année" et "ville". Ces "report parameters" sont définis dans le "data explorer", à côté des data source, data set... Tu les définis (nom et type), par défaut ils seront demandés au lancement de l'état.

Ensuite pour t'en servir : que ce soit pour ton tableau ou ton graphique, le principe est le même, tu définis un "filtre" (propriété "filtre" pour le tableau, bouton "filtres" dans la partie "select data" pour le graphique. Tu choisiras un filtre de type "valeur de telle colonne égale à", et dans la valeur à rechercher, tu ouvres l'expression builder, tu disposes en bas à gauche de plusieurs rubriques (fonctions javascript, fonctions BIRT, data binding, et enfin "Report Parameters"), et tu ajoutes le paramètre voulu.

Je ne mets pas de screenshots ni rien car c'est de l'utilisation normal du BIRT Designer, en cherchant un peu tu y arriveras.

Bon courage.
nicolas.1.vives est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 16h09   #8
Candidat au titre de Membre du Club
 
Inscription : août 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 32
Points : 10
Points : 10
Merci beaucoup c'est bon j'ai résolu mon problème
hakrimi 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 17h57.


 
 
 
 
Partenaires

Hébergement Web