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 14/05/2008, 10h19   #1
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Par défaut [2.2.2][script dataset] Affichage d'enregistrements concaténés

Bonjour à tous,

je souhaite afficher une liste d'auteurs dans le pied de page de mes rapports. Ces auteurs sont stockés en base de données de la manière suivante :
Code :
AUT_COD | AUT_NOM | AUT_PRENOM | ...
Je voudrais afficher les auteurs de la manière suivante :
Code :
Auteurs : P. NOM, P. NOM, P. NOM, ...
C'est à dire que je souhaite afficher la première lettre du prénom (en prenant en compte les prénoms composés : j-p pour Jean-Pierre) suivi du nom de famille de l'auteur.

J'ai crée une source de données me permettant de créer des jeux de données à partir des tables de ma base de données. Je souhaiterais utiliser cette source de données afin de créer le jeu de données suivant ...

Code :
SELECT * FROM AUTEURS WHERE [mes critères]
pour récupérer les auteurs du document. Comment puis-je à partir de ce jeu de données concaténer l'ensemble des auteurs sachant que je dois les afficher dans le pied de page d'un Master Page, ce qui signifie que je ne peux pas utiliser de composant "List" par exemple.

Avez-vous une quelconque idée sur la méthode à mettre en œuvre pour réaliser ceci ?

D'avance merci.

Erwan
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 11h46   #2
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut Calculated column

Dans ton dataset tu peux définir une colonne calculée. Il te suffit de définir une colonne disons CONCAT et d'y rajouter une formule. Note : ceci fait travailler BIRT.

Sinon tu peux faire la même chose dans le SQL ( Note ceci fait bosser la Base )

Screenshot joint.

Ensuite tu peux utiliser un composant Texte dans la Master Page. Tu choisis ensuite Dynamic Text dans la liste déroulante et tu mets les données de la colonne calculée de ton DataSet.

Voici un exemple de code : <VALUE-OF>row["CONCAT"]</VALUE-OF>
Images attachées
Type de fichier : jpg concat.JPG (57,7 Ko, 8 affichages)
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 11h51   #3
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,

cucubau > Je crois que la question correspond plutôt à ce sujet récemment ouvert : http://www.developpez.net/forums/sho...d.php?t=543982

Pour reprendre l'exemple d'erwan, tu as un document et tu veux lister les auteurs de ce document de cette manière : "Auteur 1, Auteur 2, etc."
__________________
__~{@ 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 14/05/2008, 11h56   #4
Membre Expert
 
Inscription : avril 2008
Messages : 1 053
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 1 053
Points : 1 156
Points : 1 156
Par défaut ?

Sur cet exemple là il s'agit d'un groupe et du souhait de rajouter un Table horizontal ( ce qui n'existe pas dans BIRT pour l'instant )

Sur celui-ci , il s'agit d'afficher des choses dans le Master Page si j'ai bien compris.

je ne vois pas trop le lien.? :-)

Ceci dit pour l'autre besoin , il suffit de reprendre les données et faire un cycle ( dans le SQL ou dans le Javascript sur le OnFetch du DataSet ) afin de stocker le tout dans un gros String :-)

Inclure le caractere de fin de ligne pour faire des lignes successives si ça vous chante , les composants Texte et Dynamic Texte de BIRT sont "flexibles"

En gros un truc du genre ( pseudocode ) :

string = string + " , " + row[nom] + " " + row[prenom]

Comme OnFetch est au niveau génération de chaque ligne , BIRT fera l'itération

Ca va donner la saucisse String requise :-)
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 13h59   #5
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Merci à cucubau123 et à BiM.

Voici comment j'ai procédé :

Dans le beforeOpen de mon dataset :
Code :
1
2
3
// Initialisation des variables
NB_AUTEURS = 0;
AUTEURS    = "";
Dans le onFetch de mon dataset :
Code :
1
2
3
if(NB_AUTEURS > 0) AUTEURS = AUTEURS + ", ";
AUTEURS = AUTEURS + row["PRENOM"] + " " + row["NOM"];
NB_AUTEURS++;
Puis dans le pied de page de mon Master Page, j'ai ajouté un composant Texte dont voici le contenu :
Code :
<B>Auteurs :</B> <VALUE-OF>AUTEURS</VALUE-OF>
erwan.bodere 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 01h12.


 
 
 
 
Partenaires

Hébergement Web