Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
BIRT chart dynamic x-axis grouping
rajani_interwove
<p>Hi,</p>
<p> </p>
<p>I am using a chart in my report and a cube as its datasource. when I tried to change the x-axis grouping with the following beforefactory code, grouping is not happening.I am trying to group x-axis(timeseries) by passing the grouping value (Example: MONTH, WEEK, HOUR etc.) as parameter.</p>
<p> </p>
<div> </div>
<div>importPackage(Packages.org.eclipse.birt.chart.model.data.impl);</div>
<div>importPackage(Packages.org.eclipse.birt.chart.model.component.impl);</div>
<div>importPackage(Packages.org.eclipse.birt.chart.model.type.impl);</div>
<div>importPackage(Packages.org.eclipse.birt.chart.model.attribute);</div>
<div> </div>
<div>//Chart must be named</div>
<div>cht = reportContext.getDesignHandle().findElement("Device Event Trend Chart");</div>
<div>mychart = cht.getReportItem().getProperty( "chart.instance" );</div>
<div> </div>
<div>myChartType = params["timePeriod"].value;</div>
<div> </div>
<div> </div>
<div>xAxis = mychart.getBaseAxes()[0]; </div>
<div>Packages.javax.swing.JOptionPane.showMessageDialog(null,xAxis.getType());</div>
<div>//if ( xAxis.getType() == AxisType.DATE_TIME_LITERAL)</div>
<div>//{</div>
<div>xGrouping = xAxis.getSeriesDefinitions().get(0).getGrouping();</div>
<div> </div>
<div>Packages.javax.swing.JOptionPane.showMessageDialog(null,xGrouping);</div>
<div> </div>
<div> </div>
<div>if( myChartType == 'LAST_7_DAYS_NEW'){</div>
<div>xGrouping.setGroupingUnit(GroupingUnitType.DAYS_LITERAL);</div>
<div>xGrouping.setGroupingInterval(1);</div>
<div>}</div>
<div>else if( myChartType == 'LAST_4_WEEKS'){</div>
<div>reportContext.setPersistentGlobalVariable("grpcol", "Time/Week Of Year");</div>
<div>Packages.javax.swing.JOptionPane.showMessageDialog(null,reportContext.getPersistentGlobalVariable("grpcol"));</div>
<div>xGrouping.setGroupingUnit(GroupingUnitType.WEEKS_LITERAL);</div>
<div>xGrouping.setGroupingInterval(1);</div>
<div>}</div>
<div>else if( myChartType == 'LAST_3_MONTHS'){</div>
<div> </div>
<div>//reportContext.setPersistentGlobalVariable(grpcol, "Group/Month" ); </div>
<div>xGrouping.setGroupingUnit(GroupingUnitType.MONTHS_LITERAL);</div>
<div>xGrouping.setGroupingInterval(1);</div>
<div>}</div>
<div>else if( myChartType == 'LAST_24_HRS_NEW' ){</div>
<div>xGrouping.setGroupingUnit(GroupingUnitType.HOURS_LITERAL);</div>
<div>xGrouping.setGroupingInterval(1);</div>
<div>//xAxis.setFormatSpecifier( JavaDateFormatSpecifierImpl.create("HH:mm:ss") );</div>
<div>}</div>
<div>//else</div>
<div>//group by Year - default</div>
<div>else if( myChartType == 'Year' ){</div>
<div>xGrouping.setGroupingUnit(GroupingUnitType.YEARS_LITERAL);</div>
<div>xGrouping.setGroupingInterval(1);</div>
<div>//xAxis.setFormatSpecifier( JavaDateFormatSpecifierImpl.create("HH:mm:ss") );</div>
<div>}</div>
<div>//}</div>
<div> </div>
<div> </div>
<div> </div>
<div>
<p>Any help is appreciated.</p>
<p>Thanks in advance.</p>
<p> </p>
</div>
<div>- rajanig</div>
<div> </div>
Find more posts tagged with
Comments
There are no comments yet