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 26/05/2008, 10h51   #1
Membre régulier
 
The Meurwinn Concept
Inscription : mars 2008
Messages : 157
Détails du profil
Informations personnelles :
Nom : The Meurwinn Concept
Âge : 29
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : mars 2008
Messages : 157
Points : 83
Points : 83
Par défaut Afficher un graphique vide

Salut, j'ai un problème avec mes graph.

Si le result set est vide, le graph ne s'affiche pas.

je n'ai pas trouvé d'option ou de truc à cocher pour le forcer à s'afficher.

Une idée svp ???
meurwinn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 16h25   #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 Graph vide

Rajouter qqch du style si dataset vide alors affiche le texte "Ce graphique n'a pas de données".

Comme la génération d'un graph est très consommatrice en CPU , cette solution me semble plus performante.
Stefan C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 16h33   #3
Membre régulier
 
The Meurwinn Concept
Inscription : mars 2008
Messages : 157
Détails du profil
Informations personnelles :
Nom : The Meurwinn Concept
Âge : 29
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : mars 2008
Messages : 157
Points : 83
Points : 83
Mouai, j'avous ne pas encore m'être trop creusé la tête la dessus.


C'est bien vu, vé faire ça Merci.
meurwinn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 14h14   #4
Membre régulier
 
Inscription : novembre 2006
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 226
Points : 94
Points : 94
Citation:
Envoyé par cucubau123 Voir le message
Rajouter qqch du style si dataset vide alors affiche le texte "Ce graphique n'a pas de données".

Comme la génération d'un graph est très consommatrice en CPU , cette solution me semble plus performante.
Bonjour,

De quelle maniere envisages-tu de mettre en place cette solution ?
Sur les proprietes du graphique ou en ajoutant un bloc de texte et en conditionnant sont affichage ?
scariou29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 14h57   #5
Membre régulier
 
The Meurwinn Concept
Inscription : mars 2008
Messages : 157
Détails du profil
Informations personnelles :
Nom : The Meurwinn Concept
Âge : 29
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : mars 2008
Messages : 157
Points : 83
Points : 83
Pas encore fait, mais surement en conditionnant l'affichage du graph et d'un autre champ
meurwinn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2009, 09h45   #6
Membre du Club
 
Inscription : décembre 2008
Messages : 145
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 145
Points : 48
Points : 48
Par défaut Ne pas afficher un graphique vide

Citation:
Si le result set est vide, le graph ne s'affiche pas.
Moi il s'affiche quand même en marquant "nul" en plein milieu du graphique!
J'ai mis une expression au niveau de la visibilité du graphe:
Code :
1
2
3
if(data["mesure"]==null){
true
}else false
cela fonctionne bien, c'est-à-dire que mon graphique ne s'affiche pas lorsque le result set est vide, et il s'affiche bien quand il ne l'est pas, à une exception près qui est levée dans ce cas:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Les éléments suivants comportent des erreurs : 
 
 
ReportDesign (id = 1): 
- Des erreurs sont survenues lors de lévaluation du script "{0}":
{1}. 
birt.core.JavascriptCommonError ( 1 fois )
détails : org.eclipse.birt.report.engine.api.EngineException: Des erreurs sont survenues lors de lévaluation du script "{0}":{1}. 
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1121) 
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1073) 
at org.eclipse.birt.report.engine.executor.ReportItemExecutor.processVisibility(ReportItemExecutor.java:520) 
at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.execute(ExtendedGenerateExecutor.java:79) 
at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:61) 
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42) 
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45) 
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:33) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:104) 
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:153) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:76) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:104) 
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:153) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68) 
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:27) 
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:76) 
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:133) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:68) 
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90) 
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101) 
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151) 
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72) 
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:877) 
at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:938) 
at org.eclipse.birt.report.service.actionhandler.BirtGetPageAllActionHandler.__execute(BirtGetPageAllActionHandler.java:131) 
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143) 
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPageAll(BirtDocumentProcessor.java:183) 
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112) 
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66) 
at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:616) 
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) 
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) 
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) 
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) 
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) 
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) 
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) 
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) 
at org.mortbay.http.HttpServer.service(HttpServer.java:909) 
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) 
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) 
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) 
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) 
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) 
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.eclipse.birt.core.exception.CoreException: Des erreurs sont survenues lors de lévaluation du script "{0}":{1}. 
at org.eclipse.birt.core.script.ScriptContext.eval(ScriptContext.java:307) 
at org.eclipse.birt.core.script.ScriptContext.eval(ScriptContext.java:335) 
at org.eclipse.birt.core.script.ScriptContext.eval(ScriptContext.java:244) 
at org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:672) 
at org.eclipse.birt.report.engine.executor.ReportItemExecutor.evaluate(ReportItemExecutor.java:276) 
at org.eclipse.birt.report.engine.executor.ReportItemExecutor.processVisibility(ReportItemExecutor.java:501) ... 79 more
Caused by: org.mozilla.javascript.EvaluatorException: data.engine.ResultSetNotStart (<inline>#1) 
at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109) 
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1030) 
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1086) 
at org.eclipse.birt.data.engine.olap.script.JSCubeBindingObject.get(JSCubeBindingObject.java:54) 
at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1544) 
at org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1344) 
at org.mozilla.javascript.ScriptRuntime.getObjectElem(ScriptRuntime.java:1326) at org.mozilla.javascript.gen.c1497._c0(<inline>:1) 
at org.mozilla.javascript.gen.c1497.call(<inline>) 
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) 
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) at org.mozilla.javascript.gen.c1497.call(<inline>) 
at org.mozilla.javascript.gen.c1497.exec(<inline>) 
at org.eclipse.birt.core.script.ScriptContext.eval(ScriptContext.java:302) ... 84 more
Je ne vois pas trop ce que m'indique cette exception...
dodane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2009, 10h59   #7
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
L'erreur vient du fait qu'il ne comprend pas le script.

Par conséquent celui-ci ne s'affiche ni sans les données ni avec des données...

Lorsqu'il n'y a aucune donnée, le graphique est automatiquement invisible.

Pour ajouter un texte à la place du graphe, la solution que je préconiserai est :
  • Créer un grille (Grid) de une case sur une case.
  • Binder la grille (ce n'est pas une table !!) sur le DataSet nécessaire au graphe.
  • Y ajouter une agrégation de comptage (Name : NbLignes, Function : COUNT)
  • On met un graphe et un label dans la grille
  • Lors de la création du graphe, on coche Inherit Data from Container.
  • Le graphique n'apparait que s'il y a des données dans celui-ci par défaut.
  • Dans le label, on met le texte : "Il n'y a aucune donnée.".
  • Et dans sa propriété Visibility :
    Code JavaScript :
    row["NbLignes"] != 0
__________________
__~{@ 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 29/04/2009, 11h38   #8
Membre du Club
 
Inscription : décembre 2008
Messages : 145
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 145
Points : 48
Points : 48
Heu je pense que je n'ai pas été clair alors.

Car mon graphique s'affiche même lorsque mon data set est vide.
Vu qu'il n'y a aucune donnée à afficher , en fait, il affiche les deux axes, le fond du graphique, le titre, et au milieu il y a écrit: "nul". C'est tout.

Or moi, justement, ce que je veux, c'est qu'il ne s'affiche pas si mon data set est nul... ce qu'il devrait faire automatiquement d'après ce que vous dites

Pourquoi cela ne fonctionne pas? mon graphique s'appuie sur un cube de données, qui lui même s'appuie sur un dataset. Or selon les paramètres le dataset peut être vide. Donc le cube est vide, et le graphique aussi.

J'ai vérifié que mon dataset était vide selon les paramètres passé, c'est ok.

Voilà où j'en suis actuellement.
dodane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 10h27   #9
Membre éclairé
 
Inscription : novembre 2005
Messages : 385
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 385
Points : 362
Points : 362
Pour information, la version 2.5 de Birt permet facilement de faire cela : http://www.eclipse.org/birt/phoenix/...table2.5M6.php
erwan.bodere est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2009, 10h58   #10
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 Confirmation

En effet , nous avons mis la "patate" sur les charts dans la 2.5

D'autres exemples :

Multiple drill s/ chart : Abilité de définir plusieurs rapport de drill sur click sur un chart. L'utilisateur se vera proposer un petit pop-up HTML avec la liste.
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h31.


 
 
 
 
Partenaires

Hébergement Web