Telerik Forums
Reporting Forum
1 answer
229 views
Hi All,

I have a general question about report structure and performance with the web viewer in .NET webforms.

Backgound:
==============
We have a report which need to display >330 'parent' rows. This report contains 4 sub reports, and the sub reports can contain 20-30 fields. Each sub report will show 'a number' of 'child' records (anything from 0-50) as an example.

The parent data source has all the child data attached and the sub reports use the same data source, with a parameter applied to filter the data to the current 'parentid'.

The total number of parent plus child records is approximately 2000.

Problem:
=============
After the data has been retrieved from the db (<1 second) and the report has had its data sources bound (~1-2 seconds), the next step is the rending of the report. This at the moment takes ~17 minutes on our live server.
Our live server is a quad core with 4GB RAM.

Additionally, CPU usage on both processors sits at 100% and memory at 4GB. When the report finishes running, the IIS worker process on the server drops down to 150-200MB memory usage, but the server memory usage stays at 4GB. If I reboot the server or IIS, the memory sits at < 1GB until I run the report again.
It feels like a leak, but I'm not able to put my finger on it at the moment.

This rendering performance is obviously 'undesirable' to say the least!

Question(s):
=============

1. With this quantity of data should we be experiencing this render speed? Whilst I wouldn't expect lightning performance < 1-2 minutes would seem more realistic for this quantity.

2. Having read the performance guidelines, I have shortlisted some areas we'd have available to us, could you prioritise which we may expect to see the greater benefit from?

a) We could attempt to reduce the complexity of the report by lowering the number of fields in the sub reports. Some may be able to be combined, or we may be able to concatenate the data on the server to reduce the number of controls.
b) We could attempt to remove the sub reports, and display tables as part of the original report, as described by the performance tips section.
c) We could maybe try to subset the data of the child reports somehow rather than pulling the whole lot and using the parameter on the original data source
d) We could write our own paged report viewer (but this seems to negate the value of using telerik as a report viewer), Having a look, there doesn't seem an in built way to incorporate server side paging into the report viewer (is this still the case?)

Any advice in this area would be greatly appreciated,

Kind Regards



Hinata
Top achievements
Rank 1
 answered on 12 Sep 2014
6 answers
596 views
I have the x-axis as a date field.  No matter how I adjust the formatting, it shows Date and Time as the label.  I only want the DATE.  I have used the following format strings but it totally ignores any settings: {0:d} and {0:M/d/yyyy}
Nasko
Telerik team
 answered on 11 Sep 2014
1 answer
64 views
does the web chart support 2 axis on the chart with a percentage on left side and numeric on right side.
I want to have 3 series lines with percentage, numerator, denominator on same chart.
Hinata
Top achievements
Rank 1
 answered on 11 Sep 2014
2 answers
124 views
Hi there,

I'm looking for  a piece of advice- any help would be appreciated!

Our Customer would like to have possibility to edit generated reports before exporting and/or storing them to the DB. Actually they would like to give users possibility to edit reports' content (not the layout itself) in preview mode. After several meeting-sessions we have split the requirements:
1. Power User should have possibility to create report template (stand-alone Report Designer is ok, but is there any component that can be integrated to the Web Site?);
2. Normal User should have possibility to generate a report instance basing on the template;
3. The generated report instance should be available as a preview inside our web site- Normal User will be able to edit the content (some of the fields), but not the layout;
4. The generated report can be saved to the DB and be edited later (optional);
5. There must be a possibility to export the generated report as a Pdf file (actually, they need secured Pdf). 

I've started with "googling", watching demo-videos, etc. and have found several potentially useful components, but I'm not sure if it's possible to stick them together to reach the goal... There are several findings:
1. There is no possibility to protect PDFs using Telerik- we will have to use something else;
2. HTML5 Report Viewer can be used for previewing (probably Editor component can be used together with the Viewer?);
3. Editable Pdfs are not the solution.

Did anybody implemented anything similar and/or does anybody have ideas how to make a trick?

Thanks in advance!

Cheers,
Kostya.
bk
Top achievements
Rank 1
 answered on 10 Sep 2014
11 answers
729 views
Hi,

   Sorting not working in the crosstab. I've given order by in the query. Even i set the Sorting property in crosstab. Sorting is not working. Is it a bug or i need to specify somewhere else? Pls help.

Thanks in advance.
Rich
Top achievements
Rank 1
 answered on 10 Sep 2014
1 answer
74 views
We have a large number of reports with dynamically generated columns. We cannot create static reports since the columns to be displayed varies from user to user (and no, column groups are not an option since this reduces the performances too much).

The current solution is to design the report in VS with all the static info and grouping. We clear the data source in the report constructor. Then in the "NeedDataSource" event for the report (or table) we open the SQL query, examine the fields returned and create additional columns for the existing table based on the variable columns.

This works fine.

However, if we drill through to another report and navigate back, the table is recreated as it was at design time (without the extra columns). Furthermore there is no way to access the data source instance any more. The report and table data source reflect as NULL in the itemdatabound/binding events. It also seems as if a new instance of the report is created since all the other user added properties are gone / reset to NULL.

This effectively means we cannot use drill through and this is one feature we really need in our application.
Hinata
Top achievements
Rank 1
 answered on 09 Sep 2014
5 answers
1.0K+ views
<Cache provider="File">
      <Providers>
        <Provider name="File">
          <Parameters>
            <Parameter name="BasePath" value="C:\Temp\ReportingCache" />
          </Parameters>
        </Provider>
      </Providers>
    </Cache>

With the FileCache and FileCacheProvider how can you purge the file cache when the browser closes.

I'm attempting to purge reports from the cache when the browser is closed from a window.onbeforeunload event that triggers the purge with a fallback periodic trigger that delete any orphaned cache folders older then twice the SESSION TIMEOUT.

The {InstanceID}RenderingContext and {InstanceID}ProcessingReport exist in the System.Web.Caching.Cache and the WebForm.WebCacheManager adds an OnCacheItemRemovedCallback that calls Dispose which invokes a deletion of the rendering cache folder but does not pass the recursive as its secondary parameter.

When I manually remove the {InstanceId}RenderingContext and {InstanceId}ProcessingReport from Cache, the folders do not get automatically deleted.

I can manually delete the folders within my Purge trigger, but there is no correlation between the RenderID and the InstanceID and verifying the Folder CreationTimeUtc some times throws and Access Violation Error when from the ReportViewer under load when it attempts to Read {RenderId}/Page1.


Any suggestions would be greatly appreciated.




Steve
Top achievements
Rank 1
 answered on 08 Sep 2014
1 answer
41 views
I have a report with a Cross tab which has check Boxes for individual employees for each date. I would like to insert a single row which holds employee information beneath the columns which have the check Boxes, but which ignores those columns for each record.

For Example:

Employee   9/1/2014  9/2/2014 9/3/2014

john doe         X             O                X
                           EMPLOYEE ID 1

jane doe        O              X               X
                           EMPLOYEE ID 2

Is this possible?
Hinata
Top achievements
Rank 1
 answered on 08 Sep 2014
1 answer
300 views
Hi,
I have created Telerik report as Report1.vb, I want to call this report in my webform. Is there any code to call report in webform on button click. If any idea please help me to resolve this issue.

Thanks
Syam Anil.
Stef
Telerik team
 answered on 05 Sep 2014
5 answers
237 views
Hello everyone,

I want to export report object to database. 

The idea is to convert the object to byte array and then write to database.

But the problem is that the Telerik.Reporting.Report object cannot be converted to byte array because [Serializeable] attribute is not defined in the class.

My question is that, is there any solution to this. Can anyone give other solutions to export object to database or any workaround?

Thank you.
Stef
Telerik team
 answered on 05 Sep 2014
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?