Dynamic data and tables [message #997783] |
Tue, 08 January 2013 18:38 |
Antonio Davanzo Messages: 4 Registered: December 2012 |
Junior Member |
|
|
Helli,
I am a newbie to BIRT and I am trying to understand how to solve a potentially complex issue. We have a report we run through code that we want to replace with BIRT. Problem is that I need to be able to make a dynamic amount of tables based on parent data of the report and each table has data specific to it's parent data (though each "variable" would be the same). It basically iterates through a collection and retrieves that particular piece of data and outputs it, then cycles to the next, and repeats for the next table retrieving new information for the next parent part in the collection.
For example, let's say parent for the report is a specific bike. This bike could have 10 Part tables, it could have 5, etc (you get the idea). Each Part table has a blueprint associated it's parent, which would be the part, it's own quanity, etc. These variables would be the same throughout the report based on what I know of BIRT so far. My understanding is that if my dataset has part as a field, that will show the same data throughout the whole report, wherever that piece is present.
My question becomes, how can this issue be solved? I keep reading about scripted data sources but have no idea how to do them nor has anything I've seen been somewhat related to this issue. I could use the DEAPI as well, but can I tell row x of table x to show only this piece?
Any help to solve this issue would be greatly appreciated.
|
|
|
Re: Dynamic data and tables [message #997884 is a reply to message #997783] |
Tue, 08 January 2013 23:18 |
|
I'm not sure I'm totally understanding. You could embed a detail table within a parent table and each sub table could display the details for the outer table's group. Or you could bring in all of your data and use grouping within a single table to separate your data into "individual tables". There would also be the solution of creating a dynamic number of tables.
Michael
Developer Evangelist, Silanis
|
|
|
Re: Dynamic data and tables [message #998160 is a reply to message #997783] |
Wed, 09 January 2013 13:14 |
Antonio Davanzo Messages: 4 Registered: December 2012 |
Junior Member |
|
|
Thanks for the reply Michael. Let me see if I can better explain the problem.
The report that will be replaced is done all in code. It uses collection objects to store all the data and this has an iterator. Basically, what it does is it makes a loop based around the total elements in the collection and then it goes to make the report. It does a get on this iterator and asks for whatever the name of the data attribute is. This makes a table, and it gets all the pieces of data and when it's done here, it goes back to the loop which does it all over again, except it goes to the next element in the collection and retrieves the data for that one. That's my woe, I don't know how to replicate this data manipulation in BIRT. All I know for BIRT is that we use a custom plugin to make a datasource and when we have our data, where ever you drag that piece of data on the report, it will display the same, static information (so if the data member is "part", and it's data is 1, it will show 1 wherever you place that element).
I hope this makes it more clear and I don't know if it changes your answer.
|
|
|
Re: Dynamic data and tables [message #998520 is a reply to message #998160] |
Thu, 10 January 2013 06:53 |
|
Ok. The way I'm understanding, from your description above, is that you have a parent collection, the bike. This bike has a certain number of parts, each of which has its own details. Also, if I'm understanding correctly, you have the same fields for each iteration or part. If you have the same fields for each iteration of the loop, you could use a scripted dataSource to iterate through your parent loop and gather all of your detail information to create a single result set. From here, you'll be able to use a standard grouped table, within your BIRT layout, to display all of the different iterations of the loop. With the grouping of the table, they'll all appear to have their own table. Each group has a header, footer, and detail section. You can also aggregate over a group, if need be.
Hopefully I've got it right. Let me know.
Michael
Developer Evangelist, Silanis
|
|
|
Powered by
FUDForum. Page generated in 0.04065 seconds