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 06/06/2007, 15h07   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
Par défaut [2.1.2] Chart - Valeurs dans l'axe X sans des décimales

Bonjour,
J'ai un petit problème avec le format du Axe X de mon chart.
L'axe X de mon chart sont des identifieurs et quand je fais le chart, l'axe X écris les valeurs comme des décimales (par example pour l'ID 6, le chart écrit 6.0) et je veux imprimer seulement la parte entier, pas des decimales.
J'ai essayé avec
Code java :
1
2
3
4
5
 
NumberFormatSpecifier nfs = NumberFormatSpecifierImpl.create( );
nfs.setFractionDigits( 0 );
...
 xAxisPrimary.setFormatSpecifier( nfs );
mais ça me sers à rien. J'ai aussi essayé avec
Code java :
1
2
 
xAxisPrimary.setType( AxisType.LINEAR_LITERAL);
et avec des autres AxisTypes mais j'ai l'erreur
Citation:
The following items have errors:

Chart (id = 25):
+ Bars may not be rendered on a value scale
Comment est-ce que je peux mettre dans l'axe X des valeurs entiers??

Merci
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 15h18   #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,

Dans la création/modification du Chart, tu vas dans l'onglet Format Data > Chart Area > Axis > X-Axis > Type : tu mets Text et tu cliques sur le bouton juste à gauche : 0.0#. Dans DataType, tu choisis Number, ensuite tu coches Standard et tu mets Fraction Digits à 0. Et normalement c'est bon.

Attention, ce n'est pas testé.
__________________
__~{@ 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 06/06/2007, 15h31   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
Oui, mais le problème c'est que je dois faire tout ça avec java. J'ai déjà fait des exemples avec l'interface pour chercher des paramètres à modifier, mais maintenant je voudrais le faire avec java et j'arrive pas.

Est-ce tu peux me dire comment je fais ça?

Merci
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 16h10   #4
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
Ah oui c'est vrai, tu n'aimes pas le designer

En fait j'allais mettre exactement la même chose que toi (avec AxisType.TEXT), je m'en suis aperçue avant de poster.

Par contre pourrait tu développer l'erreur en appuyant sur le "+" pour qu'on puisse voir d'où vient l'erreur ?
__________________
__~{@ 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 06/06/2007, 16h24   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
Voici l'erreur. Je crois qu'il y a quelque chose qui manque, parce apres avoir fait le dessin si je l'ouvre et je fais quelque petit modification (par example la coleur des lignes), le rapport marche...
J'éspère que tu puisses m'aider.

Citation:
The following items have errors:

Chart (id = 25):
- Bars may not be rendered on a value scale

exception.xvalue.scale.bars ( 1 time(s) )
detail : org.eclipse.birt.chart.exception.ChartException: Bars may not be rendered on a value scale
at org.eclipse.birt.chart.render.Bar.renderSeries(Bar.java:159)
at org.eclipse.birt.chart.render.AxesRenderer.renderPlot(AxesRenderer.java:2256)
at org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:303)
at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1231)
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationImpl.onRowSets(ChartReportItemPresentationImpl.java:471)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:653)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitForeign(LocalizedContentVisitor.java:359)
at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:58)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:111)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:38)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:63)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:94)
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutChildren(HTMLInlineStackingLM.java:138)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159)
at org.eclipse.birt.report.engine.layout.html.HTMLRowLM.layout(HTMLRowLM.java:30)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68)
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:74)
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:139)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:85)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:142)
at CreateReport.runDesign(CreateReport.java:78)
at ReportGenerator.doGet(ReportGenerator.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
Dans mon code j'ai " xAxisPrimary.setType(AxisType.LINEAR_LITERAL);"

Merci
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 16h42   #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
Tu mets ce code :
Code java :
1
2
3
4
5
NumberFormatSpecifier nfs = NumberFormatSpecifierImpl.create();
nfs.setFractionDigits(0);
...
xAxisPrimary.setFormatSpecifier(nfs);
xAxisPrimary.setType(AxisType.TEXT);

Et je ne crois pas que l'erreur vienne de là. Si tu enlèves cette ligne, ca fonctionne : xAxisPrimary.setFormatSpecifier(nfs); ?
__________________
__~{@ 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 06/06/2007, 17h01   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
Je configure l'axe X avec les lignes suivantes:

Code :
1
2
3
4
5
6
7
8
9
10
11
Axis xAxisPrimary = cwaBar.getPrimaryBaseAxes( )[0];             
xAxisPrimary.setType(AxisType.TEXT_LITERAL);
xAxisPrimary.getMajorGrid( ).setTickStyle( TickStyle.BELOW_LITERAL );
xAxisPrimary.getOrigin( ).setType( IntersectionType.VALUE_LITERAL );
xAxisPrimary.getTitle( ).getCaption( ).setValue( "Eje x" ); //$NON-NLS-1$   
xAxisPrimary.getTitle().setVisible(true);
xAxisPrimary.setLabelPosition ( Position.BELOW_LITERAL );
xAxisPrimary.setTitlePosition( Position.BELOW_LITERAL );
xAxisPrimary.getLabel().getCaption().getFont().setRotation(45);
xAxisPrimary.getLabel().getCaption().getFont().setBold(true);
Si j'éxecute le code, j'ai des décimals dans l'axe X.
A mon avis, je crois que je dois changer la linge en orange par d'autre ligne...
Qu'est-ce que tu crois que je dois ajouter ou changer?

Merci
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 17h09   #8
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
locuelas, j'aimerais bien au moins que tu testes les idées que je te donne pour que l'on vérifie au moins si l'erreur vient de là.

Procèdes comme suit :
  1. Tu enlèves la ligne suivante :
    Code java :
    xAxisPrimary.setType(AxisType.TEXT_LITERAL);
  2. Tu mets à la place les quatre lignes suivantes :
    Code java :
    1
    2
    3
    4
    NumberFormatSpecifier nfs = NumberFormatSpecifierImpl.create();
    nfs.setFractionDigits(0);
    xAxisPrimary.setFormatSpecifier(nfs);
    xAxisPrimary.setType(AxisType.TEXT);
  3. Tu essayes de générer et me dit si tu as toujours la même erreur.
  4. Si oui, tu enlèves la ligne suivante :
    Code java :
    xAxisPrimary.setFormatSpecifier(nfs);
  5. Tu réessayes de visualiser et si tu as toujours l'erreur tu enlève cette ligne ci :
    Code java :
    xAxisPrimary.setType(AxisType.TEXT);
  6. Tu me dis si tu as toujours ton erreur.

IMPORTANT : Tu ne fais rien d'autre que ce que je t'ai demandé et tu réponds à mes questions si tu veux que je puisse t'aider.

NB : Notifie l'erreur si elle change et recopie là.

PS : N'oublie pas d'attendre que la page se recharge.
__________________
__~{@ 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 06/06/2007, 17h19   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
J'ai fait le numéro 1 et j'ai un érreur de compilation dans la ligne
Code :
xAxisPrimary.setType(AxisType.TEXT);
L'érreur est:
Citation:
Le method setType(AxisType) in the type Axis is not applicable for the arguments (int)
Par contre si j'écris
Code :
xAxisPrimary.setType(AxisType.TEXT_LITERAL);
il n'ya pas d'érreur, mais je ne sais pas si comme ça c'est bon. De toutes façons avec cette ligne j'ai encore des décimals.

Je vais continuer avec tes indications. Merci
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2007, 17h37   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
Le résultat est le même que au début. Il y a pas d'érreur mais dans l'axe X il y a des décimals.
locuelas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 15h01   #11
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 37
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 37
Points : 10
Points : 10
J'ai trouvé moi même la solution.....
Il faut effacer la ligne
Code :
 xAxisPrimary.setType(AxisType.TEXT_LITERAL);
et ajouter le code suivante

Code :
1
2
3
4
5
6
7
xAxisPrimary.setType(AxisType.LINEAR_LITERAL);
xAxisPrimary.setCategoryAxis(true);
        
NumberFormatSpecifier nfs = NumberFormatSpecifierImpl.create();
nfs.setFractionDigits(0);
xAxisPrimary.setFormatSpecifier(nfs);
Il manquait la ligne en rouge

Maintenat ça marche!!
locuelas 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 20h01.


 
 
 
 
Partenaires

Hébergement Web