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 15/07/2008, 15h51   #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] Propriété "visibility" - composant exécuté ou non ?

Bonjour à tous,

Savez-vous si, lorsque l'on attribue la propriété "visibility" d'un composant à 'vrai', le composant est exécuté puis caché ou si ce composant est caché sans jamais être exécuté ?

D'avance merci.

Erwan
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 15h52   #2
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 me semble que c'est executé si nécéssaire. Par exemple, si on réappelle l'objet à un autre endroit du rapport.
__________________
__~{@ 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 15/07/2008, 16h08   #3
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 Executé

A ma connaissance , il est executé ( 2.2.2 ). Ce type de composant est surtout destiné pour la personnalisation du rapport par un end - user via un front AJAX ( de type Actuate Interactive Viewer par exemple ) . L'utilisateur , via un treeview des composants , fait son "shoppping" afin de customiser son rapport.

Il faut faire une distinction entre RunAndRender ( création du rptdocument à partir de rptdesign et optionnellement rptlibrary , fichiers resources/config etc. ET render = affichage )

C'est un simple constat , le Run , ensuite le Render c'est plus performant , le RunAndRender existe ( du point de vue Actuate ) principalement pour le preview ( le Viewer dans le Designer ) .

Le Render n'exécute pas les parties "Visibility" false. Si l'utilisateur modifie cette propriété , alors il peut les exécuter.

A vérifier dans la 2.3 , j'ai pas fait le tour dans toutes les améliorations.

A votre dispo si c'est pas assez clair
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 16h27   #4
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
C'est un peu embêtant :

J'ai un rapport (quasi)générique me permettant de restituer l'activité d'un ensemble d'individus mais selon la localité géographique j'affiche telle ou telle carte (image PNG), tel ou tel tableau. Par conséquent, mes rapports sont hyper longs à être générés.

J'utilise également des composants "temporaires" que je cache et dont j'ai besoin qu'il soient exécutés.

Ne faudrait-il pas ajouter une propriété "executable" dans l'onglet "visibility" pour permettre ou non l'exécution de certains blocs ?

Erwan
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 09h17   #5
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Qu'en pensez-vous ?

Faut-il que je fasse un telle demande d'évolution auprès de bugzilla ?
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 09h25   #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
As-tu essayé de voir s'ils s'éxecutaient ?
__________________
__~{@ 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 16/07/2008, 11h19   #7
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Oui, ils s'exécutent.

Un exemple simple :

- ajouter un dynamic text ayant pour valeur "maVar = 15;" et rendre ce composant invisible
- ajouter un second dynamic text ayant pour valeur "maVar + 1".

Le résultat affiché sera 16.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15" id="1">
    <page-setup>
        <simple-master-page name="Simple MasterPage" id="2"/>
    </page-setup>
    <body>
        <text-data id="6">
            <list-property name="visibility">
                <structure>
                    <property name="format">all</property>
                    <expression name="valueExpr">true</expression>
                </structure>
            </list-property>
            <expression name="valueExpr">maVar = 15;</expression>
            <property name="contentType">html</property>
        </text-data>
        <text-data id="7">
            <expression name="valueExpr">maVar + 1</expression>
            <property name="contentType">html</property>
        </text-data>
    </body>
</report>
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 10h18   #8
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Pas d'avis ?
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h14   #9
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 Rapports liés

Pourquoi ne pas utiliser des Rapport liés?

Le rapport no1 fera les calculs et détérminera le contexte ensuite "appelera" un 2e rapport en lui passant les paramètres.

le 2e étant contextuel résout un peu le problème de génération de TOUT.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h53   #10
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
cucubau123, pourquoi multiplier les rapports quand on peut en faire qu'un. Il est plus facile de maintenir un seul rapport. Tant que BIRT ne gérera pas correctement les sous-rapports (avoir un composant subreport) c'est le seul moyen possible.

Ceci dit, ta réponse ne répond pas à mon problème. Je vais reformuler ma question :

J'ai un "gros" rapport quasi-générique. Il est quasi-générique car il persiste certaines spécificités selon les valeurs des paramètres de rapports. En effet, comme je l'ai expliqué, suivant la zone géographique traitée au sein du rapport je dois restituer des composants (tableaux, images, ...) voir des pages en plus ou en moins.

Mon problème est que la propriété "visbility" masque l'affichage des composants pour lesquels on a fixé la valeur a "true", ce qui est parfaitement logique, mais cela n'empêche pas l'exécution des composants (on l'a bien vu avec l'exemple fourni précédemment). Par conséquent, BIRT va charger/exécuter l'intégralité des composants qu'ils soient invisble ou visible, ce qui a pour effet de ralentir la génération des rapports.

Ne serait-il pas judicieux de proposer une propriété "executable" permettant d'éviter de charger/exécuter les composants rendus invisible ?
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h08   #11
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 Mieux expliqué

Mieux expliqué , mieux compris. Judicieux , ça dépend.

Cas 1 : ton cas : c'est judicieux.

Cas 2 : Utilisation de Interactive Viewing : c'est plus rapide si c'est prégénéré. donc pas judicieux.

L'idée d'un paramètre de "bascule" : TRES judicieux.

Je vais donc poser la question aux labs.

RAJOUT : Question envoyée à BIRT Experts Actuate. A priori les subreports ne font pas partie des priorités , justement à cause du drill down particulièrement développé.
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h11   #12
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Merci

Sais-tu si un composant "subreport" est prévu dans des futures versions de BIRT ?
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 11h59   #13
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 méthode

Sur le subreport , un peu calme plat en ce moment.

Sinon , j'ai trouvé une approche pour ton problème , mais un peu compliquée.

Les labs m'indiquent que tu peux vérifier la propriété "visibility" par un script dans le Rapport , ensuite appeler BIRT Design Engine API pour virer le composant du design avant exécution.

Tu trouveras ça sous le nom de DE API. Voici un lien vers la Doc. Tu trouveras toutes les doc open-source , API , et Actuate à ce lien.

http://www.birt-exchange.com/modules...-designers.php
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 14h42   #14
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Merci cucubau123 mais ta solution ne fonctionnera pas car j'ai hélas parfois besoin de rendre invisible certains composants pour initialiser des variables javascript par exemple.

Je vais faire une demande auprès de bugzilla.
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 14h54   #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
Bonjour,

C'est justement ce qu'il est en train de te dire.

Tu mets tout mais avant l'exécution tu supprimes carrément les éléments qui ne doivent pas être exécutés.

Les autres que tu veux exécuté mais ne pas rendre visible restent dans le rapport avec la propriété hidden à vrai.
__________________
__~{@ 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 22/07/2008, 15h10   #16
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Et pour les utilisateurs utilisant le BIRT viewer ?

Il n'y a actuellement aucune propriété native permettant de ne pas exécuter des composants invisibles. Il faut donc passer par une bidouille. Pour le moment, je peux m'en satisfaire mais je pense qu'il faudrait peut-être ajouter une propriété supplémentaire dans les prochaines versions de BIRT afin de faciliter la création de rapports, surtout pour les non-développeurs.
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2008, 10h22   #17
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
J'ai posté une demande d'évolution sous Bugzilla dont voici le lien : https://bugs.eclipse.org/bugs/show_bug.cgi?id=243035
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2008, 04h06   #18
Candidat au titre de Membre du Club
 
Homme
Inscription : juin 2006
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2006
Messages : 22
Points : 11
Points : 11
Citation:
Envoyé par cucubau123 Voir le message
Pourquoi ne pas utiliser des Rapport liés?

Le rapport no1 fera les calculs et détérminera le contexte ensuite "appelera" un 2e rapport en lui passant les paramètres.

le 2e étant contextuel résout un peu le problème de génération de TOUT.
Bonjour,
cette méthode permettrait-elle de simuler le comportement d'un sous-rapport ?
Par exemple, avec du code javascript dans un rapport, peut-on appeler un rapport contextuel et ensuite l'inclure dans le rapport principal à l'endroit voulu ? Ou bien il s'agit simplement de créer un rapport qui collecte et calcule des paramètres et qui appelle un autre rapport complet totalement distinct en lui passant ces paramètres ?

Ayant moi aussi ce problème avec la visibilité, j'ai essayé de parcourir la documentation DE API pour justement avoir accès à la "bidouille" en question pour supprimer ou ajouter un composant. Mais étant débutant dans le domaine j'ai un peu de mal à comprendre le fonctionnement. Peut-on trouver des exemples sur lesquels s'inspirer ?

Merci.
Fendal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2008, 10h26   #19
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 drill et sous-rapports

Bonjour,

L'approche drill n'est pas un sous rapport. ça permet d'obtenir le même comportement mais SANS inclure le 2e rapport dans le 1er.

BIRT voit les sous rapports comme des composants. Vous pouvez développer des sous-rapports comme des composants Grid dans une rptlibrary. Ensuite les inclure dans le rapport et jouer sur les paramètres afin de séléctionner dynamiquement les Grids à inclure. Comme BIRT c'est du XML , vous pouvez faire un peu d'AJAX afin de modifier les tags XML correspondants , ensuite passer le rptdesign à l'engine pour avoir les résultats.

Le DE API , c'est vraiment si vous voulez inclure le tout dans une appli J2EE. Voici un lien vers la documentation :

http://www.birt-exchange.com/documen...api/index.html

En gros , vérifier la propriété Visibility de chaque objet dans la liste de vos composants selon vos règles métier, et supprimer ou non le composant du rptdesign.

Si je ne suis pas assez clair , merci d'insister sur les points "flous"
__________________
BIRT / Actuate

Nouveau ! : Actuate v11 LIVE avec cubes en mémoire, dashboard analythique, accès mobile et exports Office intélligents! Télécharger Evaluation ici : http://www.birt-exchange.com/be/downloads/

Nouveau ! : Tutoriel/Formation sur comment installer et utiliser la version d'évaluation Actuate v11 Vous former ici : http://www.birt-exchange.org/org/wik...h_BIRT_iServer
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2008, 15h30   #20
Candidat au titre de Membre du Club
 
Homme
Inscription : juin 2006
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2006
Messages : 22
Points : 11
Points : 11
Merci pour toutes ces explications, la situation est beaucoup plus claire pour moi maintenant ! Par contre aucune des deux solutions n'est envisageable dans mon cas, que ce soit le drill ou la DE API, cela ne me convient pas pour palier à ce problème de visibilité ...
Par contre la solution de l'inclusion dynamique des grids à partir des librairies en fonction des paramètres pourrait peut être me permettre de résoudre mon problème en attendant l'option exécutable. Serait-t il possible d'avoir quelques détails ou de la documentation sur cette fonctionnalité et sur la marche à suivre pour la réaliser ?

Merci.
Fendal 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 21h21.


 
 
 
 
Partenaires

Hébergement Web