Clicking on the last page/record returns an error attached.

Hello All,

I have created a Portal All task report, and then created a tempo report of that Portal report using a!queryProcessAnalytics. All the filters and pagination is working fine, but when I click on to get the last page/record then it returns an error attached.

Let me know what could be the error, is it something to do with Engine, which is not able to fetch the last page.

Note: The task report has nearly 20000 rows.

Regards,
Vinit.

Portal Report Error.docx

OriginalPostID-155336

OriginalPostID-155336

  Discussion posts and replies are publicly visible

  • You can check the SAIL recipe and it says to reset the paging info otherwise grid errors out.

    /* We need to reset the paging info so that it goes back */
    /* to the first page of the grid when the user changes */
    /* the filter. Otherwise, the grid errors out */
    a!save(local!pagingInfo.startIndex, 1)




  • Amit, this is already implemented, My issue is when i try to Click on the pagination for the last page, then it gives an error, as all the tasks are returned from engine, and it timesout.......Not sure if anyone have seen this error earlier.
  • @vinitl It's true that engine limits comes into picture when we are trying to query more than 10000 rows by default as per the standard configurations(or when the value of resources.appian.analytics.application.maxreportrows/ divided by the number of analytics engines is exceeded), but at this point of time I guess we couldn't exactly say that the engine limits has been exceeded without taking a look at the approach you opted for querying the records using a!queryProcessAnalytics(). It would be probably worth uploading your code snippet at a high level specifying the approach you opted for querying the records.
  • Hello , Attached is the code snippet, The reason I am saying it because, I see the engine limit error even in Portal report, How can we overcome this error, while we want to route to last 20000 record. Any hints can be much appreciated.

    All task Report.txt

  • @vinitl Great, the code snippet uploaded by you suggests that you aren't using any special approach to query (more than 10000 or resources.appian.analytics.application.maxreportrows/number of analytics engines records), which is infact needed. To the best of my knowledge, this could be a cause of the error, because the moment the expression evaluation see the 10001st record, it starts throwing an error.

    The approach we adapted for trespassing this limit is, we created a separate report(which is same as the original report we should query using a!queryProcessAnalytics()) and grouped the records by year, month and day. By this we obtain a unique combination of year, month and day and a count of rows against each combination. On the each combination obtained, you can apply the a!queryProcessAnalytics() iteratively (where the year, month and day will act as filters) on the report which is actually intended for querying and merging the datasubsets of all combinations will lead to a resultant datasubset. In this approach, in the worst case scenario you will be able to handle even 10000 records a day. I wouldn't say that this is the best approach, but I think that even the alternative approach will be more or less the same.

    I agree that the iterative approach calls a!queryProcessAnalytics() multiple times creates burden on the system, but it is inevitable because of the limitation that expression evaluation results in an error after seeing (10000 or resources.appian.analytics.application.maxreportrows/number of analytics engines records)+1st record.

    Also if possible, please do take a look at /search?q=OriginalPostID-144871 which elaborates the approach further. And let's see if any other Appian practitioners comes up with a better approach.

    Please do let me know if you have any follow-up questions.
  • So, In my case, I need to make use of two reports, one original one, where I need to add Date, year, Month,Day, and another replica of that original one where i apply group by operation on Year, Month and day, I hope the other chanin logic should be same for me.
  • @vinitl Yes, 1) A original report and 2) A report which consists of data same as in the original report but additionally grouped by year, month and day. Apply a!queryProcessAnalytics() iteratively with source as report (1) and filter as each record in report(2). This is the approach to devised by us to trespass the limit and we have been successful. FYI, we are able to extract 100000+ records of analytics data using a!queryProcessAnalytics() in 1 minute.
  • Hello,

    I have tried using your below logic, But I am getting an error, I am attaching two code rule, let me know if I am missing anything.

    mainrule.txt

    second rule.txt

  • Hello Sikhivahans, Let me know your thoughts.