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)
Making the table render independantly in a single .rptdesign file
anir
Hi,
I have an old .rptdesign file which has about 15 tables in it (each associated to a different dataset and stored procedure). Now there are a couple of stored procs which take a lot of time to bring the data, and as such the entire report takes long to load.
My task is to make this rendering faster.
There are 2 approaches that I have thought of:
1.) Place each table in a seperate rptdesign file so that most of the tables can render fast. But this will change the look and feel of the dashboard (report) and the users are not ready for that.
2.) Second approach will be to make the table rendering independant of each other, although they are in the same .rptdesign file. Is this approach feasible? If yes, can you please provide me with the details (i hope this will involve scripting)
Thanks,
Find more posts tagged with
Comments
bappoo
Hi,
You mention that this is a dashboard report, so I imagine that it represents a high level summary of your data set.
Where is the summarisation taking place? Is it in BIRT or in the database?
If, for example you created views on your database which produced the summarised data for the 15 data sets, then drive the report directly from these, then you may find a performance improvement.
Do let us know how you eventually resolve the issue.
Warm regards
Paul
anir
The summarisation is taking place in the database, but 2 among the 15 datasets are taking a long time to fetch the records. This makes the enitre report slow.
Am I able to clarify myself now?
bappoo
Ok I see, thanks for the explanation. I guess you could look at ways to optimise the existing queries - but I suppose you have already done that.
As far as I am aware it is not possible to have individual table render independently of each other, but I was thinking about if it might be possible to include a frameset in the master report and load each of the individual reports into the frames. Even if you cant create frames in a standard BIRT report I guesss you could create a framed web page and load the individual reports into that.
This way they will all run as individual reports.
Hope that helps.
Paul
anir
I already have a frame -> a rptdesgin file in the frame -> 15 tables in that rptdesign file.
Any idea if we can break a rptdesgin file into frames internally and place each table in a seperate frame?
Michael, Vdson are you reading??
Thanks,
bappoo
Yes that would be nice, I dont know though, if that would be possible. I was thinking that you could simply have 15 seperate reports and put eachone in its own frame. Or maybe keep all the fast ones in one report and put the 2 slow ones into sepearate reports.
Regards
Paul
Virgil Dodson
Hi anir,
BIRT supports something called the Report Document (rptdocument) which allows you to generate the report at whatever frequency needed into this intermediate format, and then render the report to the final output of HTML whenever requested. Since the query seems to be taking the time and not the rendering of the tables, this approach will definately speed things up for the user.
This is standard scheduling functionality of the BIRT iServer, otherwise, you would need to write your own scheduling service using the RunTask of the BIRT Engine.
As for showing individual pieces of a BIRT report vs the whole thing, you can use the __bookmark=Something__isreportlet=true at the end of a BIRT Viewer URL to show only a certain named object within the BIRT report as long as you have named that object with the Bookmark property... but I am pretty sure that even this will wait for the whole report to be generated first.