Last Week in the Forums: BIRT and R Statistical Language, Specified Sort Order for a Table, and more...
Posted by
mwilliams
, 17 October 2011 - 05:17 AM
The first topic I'll cover for this week is an unanswered one. I did this last week as well, and I think I'll continue posting an unanswered post each week to see if we can't help find it an answer. :) The unanswered post for this week is about the R Statistical Language. The poster is wanting to know if anyone has had any success using the R project with BIRT. If anyone has used these two together and can supply an answer, that would be great!
The second topic for this week is sorting a table in a specified order. The poster wants to be able to specify an order for the rows by a parameter. The solution provided is to use your SQL query to create this order and then use that. A sample query can be found in the thread. Another alternative if not using SQL or even if you are would be to create a computed column that assigns a numerical value to the rows in the order that you want them to be. Say you have row values a, b, c, and d, but you want them to show up in the order, b, d, c, a. In your computed column, you'd assign 1 to b, 2 to d, etc. Then you could use this numerical sort column to order your data with standard BIRT sorting.
The last topic for this week is alternating row colors in crosstabs. Because of how a crosstab is created, simply adding a highlight rule to do alternating highlights doesn't work. The solution to alternate highlighting in rows in a crosstab is to use script. You'll have to keep variables and check dimension values to keep your alternating colors the correct color since a crosstab works by cell rather than row or column. An example showing how to highlight the crosstab, including grand totals can be found in the forum thread.
Again, this is just a small sample of what went through the forums this past week. For more questions and answers that have been posted, check out the forums. As always, if you have a question, feel free to ask it, and if you see a question you know the answer to or have a similar experience to, feel free to post an answer or comment.
Last Week in the Forums: Sending a Report to a Different than Default Printer, Adding Hierarchy Numbers to Groups, and more...
Posted by
mwilliams
, 10 October 2011 - 07:21 AM
The first topic I'll bring up from last week is sending a report to a specific printer. The question being asked is if a different printer can be set up for a specific report that creates labels and print all other reports normally on the default printer. There is not yet a solution for this question, so if you have a good answer, please post it! :)
The second topic for this week is about adding hierarchy numbers to your titles. The poster wanted to be able to add numbers for the groupings and paragraphs in the report. For example, they have a main group title and then sub titles underneath this main title. They'd like to add numbers like:
1 Main Group 1
1 1 MG1 Sub Group 1
1 2 MG1 Sub Group 2
2 Main Group 2
2 1 MG2 Sub Group 1
etc...
The suggested answer is to use script. Some small example scripts showing this can be found in the thread.
The last topic for this week is setting a dynamic column width within a grid. The poster had a grid that they wanted to be able to size the columns of, dynamically. There is an example linked in the forum thread that shows how you can dynamically size the columns of the grid in script.
Again, this is just a small sample of what went through the forums this past week. For more questions and answers that have been posted, check out the forums. As always, if you have a question, feel free to ask it, and if you see a question you know the answer to or have a similar experience to, feel free to post an answer or comment.
Last Week in the Forums: Using the Same Masterpage for All Reports, Stopping SQL Execution when You Don't Want to Display Your Sub Report, and more...
Posted by
mwilliams
, 03 October 2011 - 06:42 AM
The first topic I'll cover from the past week's posts is how to use the same masterpage across multiple reports. In many instances, your reports you make will all have the same page size and page header and footer information. Rather than making the same masterpage over and over again, BIRT allows you to store a masterpage in a report library. You can then attach this library to all of your reports and use the masterpage. If you need to make changes in the masterpage for all of your reports, you don't need to change each individually. A change to the masterpage in your library will be inherited by all reports that use this library masterpage. Another option suggested in the thread would be to create a template that has this masterpage linked in it so that the report developer has this masterpage from the start.
The second topic we'll cover this week is preventing your SQL from running when you don't display your subreport. If you have a parameter that decides whether you want to show detail information that is in a subreport, you don't have to just hide the table. If you know you want to hide a table by a parameter, you can simply drop the table from the design in your beforeFactory method and the database will not be accessed. The code to do this is shown in the forum thread.
The last topic for this week is changing the title of the report viewer. If you're looking to change the title of the BIRT viewer, you can simply use the url parameter __title to set whatever value you'd like. If you'd like another option, you can go into the viewer's FramesetFragment.jsp page and change the title value there.
Again, this is just a small sample of what went through the forums this past week. For more questions and answers that have been posted, check out the forums. As always, if you have a question, feel free to ask it, and if you see a question you know the answer to or have a similar experience to, feel free to post an answer or comment.
Last Week in the Forums: Getting Today's String Day in a Chart's Title, Passing Data Between Queries in a Report, and more...
Posted by
mwilliams
, 26 September 2011 - 06:45 AM
The first topic for this week is how to get today's string day (Monday, Tuesday, etc.) into your chart title. The poster wanted to grab the day of week from today's date and create their chart title with this value. This can be done by creating a date format that only shows the string day of week and then using the value in your chart script to set the title of the chart. An example is shown in the forum thread that shows how to do this. If you're not interested in setting the day of week in the title, but just want to dynamically set your chart title, this example will also be helpful.
The second topic for this week is about passing data between queries in a report. Sometimes you need to use data from one dataSet to get the appropriate data from another for your report. One way to do this is to create a joint dataSet to join all of the data, but if you have large amounts of data, this can cause processing to be very slow. The ideal way to do this is to take the data from the first dataSet and pass it as a parameter in the second query. There are at least a couple ways to do this in BIRT. One is to use a dataSet parameter in the second dataSet, embed a table for this dataSet into a table for the first dataSet, and use the dataSet parameter binding feature to pass the value from the outer table to the inner table's query to grab only the appropriate data. Another way, that is described in the forum thread is to embed the second dataSet's table into the first dataSet's table and in the onCreate script of the outer table, you'd set a global variable to have the value you want to limit your inner query by, and then in the beforeOpen of the inner dataSet, you can use this variable to set your where clause in your queryText.
The last topic for this week is how to create a rolling sum in your dataSet. There are standard aggregations to create a sum for an entire column or to keep the running sum, but a rolling sum for a specified period is not a standard aggregation. The poster wanted to be able to keep a sum of their data fro the last 12 months. When they reached the 13th month, they wanted to disclude the first month from the total. To do this, you can create a computed column in your dataSet that uses an array to keep track of the previous values so you can create your rolling sum. An example is included in the forum thread.
Again, this is just a small sample of what went through the forums this past week. For more questions and answers that have been posted, check out the forums. As always, if you have a question, feel free to ask it, and if you see a question you know the answer to or have a similar experience to, feel free to post an answer or comment.
Last Week in the Forums: Exploding the Largest Slice of a Pie Chart, Script Tag Issue with Firefox 5, and more...
Posted by
mwilliams
, 12 September 2011 - 06:57 AM
The first topic for this week is exploding the largest slice of a pie chart. When you create a pie chart, there are options to explode the slices of a pie chart, but there is not an option to explode only the largest slice. To do this, you'll need to use script to grab the largest slice value and then use the expression builder in the chart editor, for what value to explode, to grab the variable you set so that the largest slice is the only one that separates from the pie. An example is included in the forum thread.
The second topic I'll discuss is the script tag issue with BIRT and Firefox 5+. It seems that there is a bug with HTML script tags and Firefox when using BIRT. When using client side scripting in an HTML text box in your BIRT report, the script tag seems to be ignored in Firefox 5 and 6. I have checked this up to BIRT 3.7.1 with the same issue. They do still work with IE, so I'm not sure if this is a BIRT change issue or a change in how FF looks at script tags that hasn't been addressed in BIRT yet. A bug has been raised on this. You can view it in the forum thread.
The last topic for this week is how to grab data from your dataSet and store it in a variable for use elsewhere in your report. The poster wanted to be able to grab the value from all lines of their dataSet and store them all in their own individual variables to manipulate within their report. The solution given was to store the values in persistent global variables in the dataSet's onFetch method. With this approach, you can name each variable uniquely according to another value in the row or with a standard base name and an incrementing value concatenated to the end of this base value to make the name. Another possible way would be to create an array and store the values in it. Then, you'd have an array of values you could step through anywhere in your report to manipulate and do what you want.
Again, this is just a small sample of what went through the forums this past week. For more questions and answers that have been posted, check out the forums. As always, if you have a question, feel free to ask it, and if you see a question you know the answer to or have a similar experience to, feel free to post an answer or comment.
Recent Entries
Creating Derived Cube Measures and More with BIRT and ActuateOne
Drop Elements Depending on Output Format
Solving a TOC Bookmark Issue by Using Multiple Fields in a Single Group Expression
Visualizing the Impact of Database Changes with BIRT and ActuateOne
Actuate's 11SP4 Release Provides Many Powerful New Capabilities, Including HTML5 Charts and more!
Getting a Marker in the Middle of a Gantt Chart Bar, Multi-Level HTML List Numbering, and more...
Switch to a Default Table if no Values Returned in Query, Parameterize the From Portion of an SQL Query, and more...
Adding Text to an Image, Using Table Data for a Crosstab's Data, and more...
Only Highlight Bars of a Certain Series in a Chart, Reordering a Table's Columns, and more...
My Blog Links
Recent Comments
- mwilliams on Drop Elements Depending on Output Format
- donino on Drop Elements Depending on Output Format
- mwilliams on Creating a BIRT report as a calendar view
- lnallamalli on Creating a BIRT report as a calendar view
- For Birt on Last Week in the Forums: BIRT and R Statistical Language, Specified Sort Order for a Table, and more...
- Bhanwar on Last Week in the Forums: Filtering Blank Spaces from Distinct Count Aggregation, Adding a Line at 0 in a Chart with Negative Values, and more...
- Srividya Sharma on Sorting a Crosstab by a Field Not Displayed in the Crosstab
- mwilliams on Last Week in the Forums: Using the Concatenate Aggregate, Hiding a Column When There is No Data, and more...
- java032 on Last Week in the Forums: Using the Concatenate Aggregate, Hiding a Column When There is No Data, and more...
- java032 on Last Week in the Forums: Using the Concatenate Aggregate, Hiding a Column When There is No Data, and more...
0 user(s) viewing
0 member(s)
0 anonymous member(s)
Categories
- .rptdocument
- 11 SP4
- Actuate
- ActuateJavaComponent
- ActuateOne
- aggregating data
- aggregation
- alignment issues
- Alternating Highlight
- archived BIRT versions
- area chart
- axis label
- barcodes
- batch file
- BDPro
- BIRT
- BIRT Exchange
- BIRT functions
- BIRT Studio
- BIRT-Exchange
- bookmarks
- border
- border color
- bursting
- calendar
- cascading parameter
- CEAPI
- cell border
- chart
- charting
- charts
- color
- color codes
- command line
- computed column
- connection profile
- contest
- crosstab
- CSS
- CSV
- CSV export
- custom group
- custom sort
- Data Analyzer
- data cube
- Data Object
- data point label spacing
- data row security
- data set filter
- data set parameters
- dataset parameters
- Date Format
- deapi
- deploy
- devShare
- display name
- drop
- drop series
- dynamic chart
- dynamic chart labels
- dynamic chart marker
- dynamic chart scale
- dynamic chart title
- dynamic column sort
- Dynamic Column Visibility
- dynamic data set
- dynamic grid content
- dynamic grouping
- dynamic labels
- dynamic min/max
- dynamic scale
- Dynamic Text
- Dynamic Width
- Eclipse
- elapsed time format
- embedded grid
- empty csv error
- Event Handlers
- exception handling
- export data
- expression builder
- filter
- Firefox
- flash map
- Forum
- Forums
- fragmented schema
- gantt
- gantt chart
- global function
- GMT date
- grids
- group numbering
- grouping
- hide label
- hide measure detail
- hide series
- Hierarchy
- hierarchy report
- highlight
- highlight negative numbers
- HTML
- HTML listbox
- html lists
- HTML select form
- HTML Table
- HTML5
- https
- hyperlink
- image
- Impact Analysis
- Import Elements
- Ineractive Viewer
- Information Objects
- Interactive Viewer
- invalid dates
- iServer
- JAX-WS
- joint data set
- jquery
- jsapi
- JSF
- JSP
- legend
- legend color
- Library
- line height
- locale
- localization
- marker range color
- master page
- masterpage
- Maximo
- merge data
- multi-line text
- multi-select parameter
- multi-select parameters
- multi-value parameter
- multiple series
- NetWeaver
- newspaper
- newspaper layout
- optional y-series grouping
- osgi
- overlaying elements
- page break
- parameter
- parameters
- parameters in query
- PDF Complete
- Perl
- Pie Chart
- plug-in
- postgresql encoding issue
- progress bar
- property file
- R Statistical Language
- refresh report
- relative path
- reorder table
- report engine
- report viewer title
- reporting
- Reports
- Rolling Sum
- rotated text
- rptdesign
- rptlibrary
- runtime
- scatter plot
- script
- scripted dataset
- scroll bars
- Seam
- secure connection
- series color
- series name
- session variable
- sort
- Sort Order
- SP4
- special characters
- SQL
- SQL injection
- stacked bar
- stored procedure
- Styles
- Sub Report
- summing values from two different elements
- SVG
- table
- table footer
- Themes
- TOC
- TOC with page numbers
- tomcat
- Tooltip
- transient report cache
- truncated text
- user parameters
- Vaadin
- value-of format
- version features
- Viewer
- viewer title
- visibility
- Web Service
- web viewer
- Webshpere
- Word
- xls
- XML data source


