Skip to main content
Inspiring
August 13, 2026
Question

Memory Threshold Issue in Production Dashboard with Large data

  • August 13, 2026
  • 10 replies
  • 63 views

Hi,

 

We are facing a production issue in an application with a large volume of data. We display case counts using Expression Rules (ERs) and category-wise metrics using a Record Type-based Bar Chart. Although we apply filters on a few columns, when users select a 1-year date range, the queries process a significant amount of data and the ERs fail with:

"Memory threshold reached during output conversion"

The bar chart performance is also impacted due to the large dataset. We are looking for best practices to handle large-scale reporting and dashboard aggregation in Appian. Has anyone implemented an effective approach for such scenarios in production? Any suggestions or recommendations would be greatly appreciated.

    10 replies

    stefanhelzle0001
    Brainy
    August 13, 2026

    You will have to reduce the volume of data queried. You might have to rebuild the record based Bar Chart by querying the data yourself and manually feed it into a bar chart.

    Inspiring
    August 13, 2026

    Hi ​@stefanhelzle0001 ,thanks for response.

    Yes, we are already trying to limit the data being fetched and are querying only the required columns (around 3 columns). However, due to the large volume of production data and the 1-year date range selected by users, we are still encountering the "Memory threshold reached during output conversion" error.

    mathieud0001
    Brainy
    August 14, 2026

    My suggestions in order of effort:

    1. Upgrade your Appian instance to something with more cpu/ram. Perhaps this could solve the issue although it is not guaranteed.
    2. Crunching the data before hand in a materialized view so that the chart doesn’t have to do the counts/groupings at runtime.
    3. Is Appian the best area to run this kind of reporting - perhaps an external reporting tool would be better suited for this?
    umeshkumars0001
    Participating Frequently
    August 14, 2026

    You can reduce the use of a!forEach() and nested loops when processing large datasets. Instead, try to use built-in Appian functions to manipulate large datasets more efficiently. I faced the same issue, and it was resolved after reducing the use of a!forEach() loops.

    mathieud0001
    Brainy
    August 14, 2026

    Which functions would that be?

    harshas2775
    Brainy
    August 14, 2026

    Few suggestions you can try one by one and see which one suits best to improve performance:

    1. Check and apply indexes on database tables on fields that are used for filters, querying etc in the bar chart field.
    2. Limit data query so that only what is needed is queried. E.g. selection columns to get only relevant data columns, paging query with 0 batch size and fetchTotalCount as true if only data count is needed and not data rows etc
      a!queryRecordType(
      recordType: 'recordType!HS',
      pagingInfo: a!pagingInfo(1, 0),
      fetchTotalCount: true()
      )

       

    3. As dataset is large consider creating a store procedure to filter and aggregate data based on date filters and return data to render bar chart instead of filtering and aggregating in Appian expression.

       
    mathieud0001
    Brainy
    August 14, 2026

    Not sure if indexes would help here since its the volume of data and not the speed that is the issue.

    shubhama926776
    Brainy
    August 14, 2026

    Aggregate in the DB using a!queryRecordType() with aggregation and grouping, don't pull raw rows into the ER or chart. For 1-year date ranges, don't query live transactional data, instead create a new summary record type backed by a scheduled rollup process and query that.

    शुभम्
    Inspiring
    August 18, 2026

    Hi ,

    we noticed that the error occurs even when querying data for just a 1-month date range. We are retrieving only two fields (an ID and a Boolean field), yet we still encounter the "Memory threshold reached during output conversion" error. There are no forEach loops, no iterations, and no complex logic in the Expression Rule. The rule simply executes a queryEntity(). We are not sure what could be causing the memory issue in this scenario.

     

     

    mathieud0001
    Brainy
    August 18, 2026

    How many rows does that represent?