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)
ExecuteTable using Chart Interactivity
Freddie_M
<p>Hello everyone</p>
<p>My Report contains a table and a chart. The table is hidden, only used to get the data from the chart, using bookmarks.</p>
<p>This is my issue :</p>
<p>I don't want the table to be executed at run time, only the chart (regarding performance issues). The execution of the table should be triggered trough an action on the chart. Is there any way to do that using Events ? </p>
<p>Thanks a lot for the Hints !</p>
<p>Fred. </p>
<p> </p>
<p> </p>
Find more posts tagged with
Comments
micajblock
<p>How can the chart be executed without the data in the table? Can you provide more details and what you are trying to accomplish?</p>
Freddie_M
<p>Thanks for your reply</p>
<p>The chart is generated based on the DataSet, regardless of the table. (X Series = Date / Y Series = Count Aggregation on Doc IDs)</p>
<p>The table is also based on the DataSet and contains two columns :</p>
<p>Column 1 = Date</p>
<p>Column 2 = Doc IDs </p>
<p> </p>
<p>I want to filter the table based on the Date choosed from the chart by the User . i got that working using an alert in the chart interactivity options.</p>
<p>I am now facing performance problems since the chart gets only displayed after the whole table has been loaded. </p>
<p>So i would like to drop the table at run time and get it launched using for instance a chart event handler ? Would anything like this be possible ? </p>
<p>thanks for your time !</p>
<p>Fred</p>
micajblock
<p>It is very easy with commercial BIRT as there are interactive viewing features such as filtering to make this happen. I do not know what is possible with OS BIRT, I will let others chine in. </p>
Freddie_M
<p> i have the OS Version :-) , all recommendations are welcome....</p>
JFreeman
<p>Do you have a sample you can provide with the alert in the chart interactivity options you added?</p>
Freddie_M
<p>Hi Jesse</p>
<p>Sure , here you have. The filter itself is not set in the report definition but in my application based on the "Date" provided by the alert. (The table would be hidden using a style property)</p>
<p>Thanks for your time</p>
<p>F. </p>
JFreeman
<p>Thank you for the sample.</p>
<p> </p>
<p>Could you also please send me a sample of the code you are using within your application to performing the filtering/visibility changes?</p>
Freddie_M
<p>Hi</p>
<p>Just using the Report result in an SWT app. to filter the column "Date" of the table using the Date value from the alert. </p>
<p>Problem 1 : This is no Birt feature (i would definitely prefer to set the filter in the report definition)</p>
<p>Problem 2 : Do you have any recommandation regarding the performance problem ? I dont want the table to be executed with the chart, this slows down the display of the chart dramatically up to 1000 rows... </p>
<p>Is there for instance a way to drop the table in a beforefactory event and call it back after the chart render ?</p>
<p>Thanks for your help </p>
JFreeman
<p>In order for the table to be rendered it is going to have to be rendered through the factory stages. Therefore, dropping and re-adding the chart may not save you any cycles as it will still need to be rendered if it is going to be displayed.</p>
<p> </p>
<p>What may be a better option is to have the custom code initiate a re-render of the chart/table with a parameter/filter at the data set level with both the chart and table based off of the data set. This way the chart is not dependent on the table and the filtering is pushed down to the database.</p>
Freddie_M
<p>Hi Jesse, thanks for the hint,</p>
<p>--> Is there a "standard" way to <span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">re-render a report item using a script ? could you maybe provide a small sample ? </span></p>
<p><span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">Tanks a lot ! </span></p>
JFreeman
<p>How are you currently calling the report to run?</p>
<p> </p>
<p>The simplest way is going to be through calling the report to run again and passing it values for the report parameters based on the values obtained from the on click interactivity.</p>
Freddie_M
<p>ah Ok, i see thanks , i will have a look at that.</p>
<p>Alternatively , an "Hyperlink" <span style="color:rgb(40,40,40);font-family:'Source Sans Pro', sans-serif;">interactivity event </span>with a drill trough to the table might be working as well ?</p>
JFreeman
<p>It may take a bit more configuration but I believe that should work as well.</p>