As per our requirement, user should be able to do Export to Excel on a Report Definition and the excel should contain all the records even if more than 10000. (Currently there is a cap on the Report Definition- only a max of 10000 records can appear on the Report UI and in Excel exported from the Report).
How can this be achieved? Business is okay with having the cap on Report UI, but, upon Export to Excel all records are needed.
This works but the issue would be 10000 records rendering on the UI would lead to performance issue.
So we have finalized on the below approach:
Provide a separate option to the user on RD to Export To Excel (other than the Pega default). On click of this button, an item is queued to an agent.
The agent activity retrieves Report Definition data in a loop (few records each time) onto a csv file and sends it to the user via email.
However, the challenge here again is the File Size.
If the number of records expected are around 1 lakh (14-15 columns), it would be difficult to send it via email.
We have a report definition displayed to the user that shall have several rows (100000+) in PROD.
Our assumption is that the report shall only show a max count of records on the UI- specified in the DSS.
We arent going to change the DSS (pyMaxRecords) as this might impact Report UI rendering and performance issue for a high number of records.
However, the business at least wants all the records to be downloaded in an Excel format.
Here the issue would be to generate this excel and the huge file size. (Default Export to Excel on Report would only give max 10,000 records-also downloading via this option would lead to thread slowness and performance issue)
Posted: 6 years ago
Posted: 30 Oct 2017 15:59 EDT
VICKY WAKHARE (Vicky Wakhare)
Your above approach looks correct as it would not take up load and memory for current node. We have a similar requirement but this is a one time process where we are exporting around 30k records into excel. In your case if the record count is more than 50k, its a good option to handle using a agent on different node.