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)
Chart in group header - don't display on repeating pages
jtesdall
<p>I am trying to develop a method in our standard reporting methodology to display charts in group headers so the chart is shown for each group. These charts will only show say the top 10 or 20 rows of the group so the chart is readable but the group data may contain 1000 or more rows thus displaying over many pages.</p>
<p> </p>
<p>I have created two header rows for this group, one typical header row describing the group that is being displayed and another row for the chart below this header. I want the header row that describes the group to display on every page so I have set the repeat header flag to true. However I do not want the chart header row to display on every page, just the first page of each group. A chart takes up too much space if you need to list 1000's of rows thus creating more pages than needed. The repeat header flag seems to apply to all header rows for that group unfortunately.</p>
<p> </p>
<p>I have been playing with table aggregations and a global report variable that will hide the row with this.getStyle().display = "NONE". I am not having any success with this. I have been trying count, countdistict and running count on the group to compare with a global report variable to know when the group increments and thus display the chart header row again. My thought being on repeating group headers the group count doesn't increment so I hide the chart row again. This is not working yet because of the internal workings of BIRT and the timing of when things are incremented.</p>
<p> </p>
<p>I would appreciate some thoughts on how to accomplish this either in the variable comparison method I am using or another way I have not thought of. Thanks.</p>
Find more posts tagged with
Comments
JFreeman
<p>What version of BIRT are you using?</p>
<p>What specifically is contained within the group header you want displayed on every page?</p>
<p> </p>
<p>You could look at moving the contents of the first group header into the master page header to be displayed on every page. That should work around the issue and allow you to set the group header back to displaying on with each new group.</p>
jtesdall
<p>Thanks for the response!</p>
<p> </p>
<p>I am using 4.4.1.</p>
<p> </p>
<p>The group header I am displaying on every page shows a database column that describes that group. In this case it is the Companies Site that the data belongs. Since it is a database column I don't think I can use your suggested method of putting it in a MasterPage can I? </p>
JFreeman
<p>Could you please provide more details?</p>
<p>When you say it is a data column, are you meaning you are reading data from a row in the data set of the report?</p>
<p>Or are you reading the column name from the data set in the report?</p>
jtesdall
<p>Thanks Jesse</p>
<p> </p>
<p>I am displaying data from a row in the dataset.</p>
JFreeman
<p>That makes things a bit trickier.</p>
<p> </p>
<p>You can get the values from the onFetch of the data set and set them in the onRender of a label or text element in the master page. However, adjusting the value in onRender means there are situations where it will not be updated and anything sooner will run before the onFetch of the data set.</p>
<p> </p>
<p>Instead, you can use the Design Engine API (DEAPI) to query the data set manually earlier on the report generation, such as beforeFactory. With that you can get the value you need early enough to set it into the label on the master page.</p>
<p> </p>
<p>Take a look at the sample report in this post for an example of using DEAPI in a report to query a data set: <a data-ipb='nomediaparse' href='
http://developer.actuate.com/community/forum/index.php?/topic/35930-running-a-query-in-the-initalize/?p=133369'>http://developer.actuate.com/community/forum/index.php?/topic/35930-running-a-query-in-the-initalize/?p=133369</a></p>
;