Skip to main content
Solved

New aggregate function in Generic Inquiries released in 25R2

  • January 12, 2026
  • 13 replies
  • 86 views

Forum|alt.badge.img+1

This seems to be an interesting function but we dont know what business case it would be helpful in.

As it provides a string of all values it has limited value but there must be some reason why it was added.

I would be interested to know if anyone has found a use for this.

Thanks

James

 

Best answer by gbrazelton14

I have not used the new StringAgg function yet, but I can see it would be really helpful when reporting Serial numbers as a list - for example you don’t want to see a record for every unique serial number but a GI could show a single line for the item with Qty of 8, and sounds like StringAgg would allow you to concatenate all 8 serial numbers in one column, which has been asked for by multiple customers.

13 replies

npetrosov31
Jr Varsity I
Forum|alt.badge.img+1
  • Jr Varsity I
  • January 12, 2026

Hello ​@jmorgan,

Could you please share the exact function you are asking about?


Forum|alt.badge.img+1
  • Author
  • Varsity I
  • January 12, 2026

Yes sure.

Pg 180 of the release notes.

 

Platform: New Aggregate Function for Flexible Data
Presentation in Generic Inquiries
Acumatica ERP 2025 R2 introduces a new function for generic inquiries that outputs the aggregated records as a
single string. The new StringAgg function retrieves the values of individual records that comprise aggregated
data field and concatenates them into a single string. Thus, you can enhance the readability of your data inquiries.


npetrosov31
Jr Varsity I
Forum|alt.badge.img+1
  • Jr Varsity I
  • January 12, 2026

@jmorgan,

You can check this post, I think it is about the aggregate function you are asking.

Here we found a solution only by that line, there was no other way to get what was expected.


Forum|alt.badge.img+1
  • Author
  • Varsity I
  • January 12, 2026

Thanks but that seems to be about grouping and using the count function.   I am referring to the specific aggregate function that is new in 25R2.

 

I dont have a query about using the function.  I just want to know why I would use it.

 

James

 


npetrosov31
Jr Varsity I
Forum|alt.badge.img+1
  • Jr Varsity I
  • January 12, 2026

you are totally right, it is fully about having a line with aggregated values. It is like the Total row in Inventory summary, just have other available functions besides Sum.

 


npetrosov31
Jr Varsity I
Forum|alt.badge.img+1
  • Jr Varsity I
  • January 12, 2026

Why to use? To get some totals in the gi itself without exporting to a report or excel. Thats just one purpose


npetrosov31
Jr Varsity I
Forum|alt.badge.img+1
  • Jr Varsity I
  • January 12, 2026

Oh, I am a little sorry, I was talking about total aggregate function, the aggregate function just shows aggregated values in one column. The reason to use this is if you don’t have some total field on the record header like Sales order, and you need to calculate total from lines you just put it.it also allows to get Max, min and some other values. At the end it is just an aggregation, and as an example if you want to get total discounted discounted amount from the order you just sum it and show on the gi


DipakNilkanth
Pro III
Forum|alt.badge.img+14

Hi ​@jmorgan,
 

In Acumatica 2025 R2, the STRINGAGG aggregate function in Generic Inquiries allows multiple aggregated row values to be concatenated into a single string for display purposes.

This is useful when grouping data (for example, by OrderNbr or RefNbr) and you need visibility into underlying detail values—such as item IDs, descriptions, or amounts—without drilling into line-level records.

Typical business use cases include:

  • Displaying multiple line-level values (such as item IDs, descriptions, or amounts) in a single row per document (Sales Order, Invoice, PO, etc.).

  • Providing better summary views for users who want context without drilling into detail screens.

  • Reducing the need for custom SQL views or code that were previously required to achieve similar output.


Forum|alt.badge.img+1
  • Author
  • Varsity I
  • January 13, 2026

Hi Dipak,

Thanks for the explanation.

In your example I would have a GI that has one line per invoice and in the aggregated field it will show the item descriptions (for example) of every item on that invoice.

I can’t think of a place where this would be useful but this does confirm my understanding.

Perhaps it would be useful if you wanted to pick up notes that are made against an invoice when calling to collect payment and a number of calls are made.

 

James

 


Forum|alt.badge.img
  • Varsity I
  • Answer
  • January 13, 2026

I have not used the new StringAgg function yet, but I can see it would be really helpful when reporting Serial numbers as a list - for example you don’t want to see a record for every unique serial number but a GI could show a single line for the item with Qty of 8, and sounds like StringAgg would allow you to concatenate all 8 serial numbers in one column, which has been asked for by multiple customers.


Forum|alt.badge.img+1
  • Author
  • Varsity I
  • January 13, 2026

That is a valid reason.  Thanks


Forum|alt.badge.img
  • Varsity I
  • January 13, 2026

@jmorgan  - You made me curious so I went ahead and built one out in my local 2026 R1 beta site.

 

Old style, no StringAgg:

 

Using StringAgg to help accumulate to one line but see all serial numbers:

 

GI design - 

Group by INTran.InventoryID:

On Results tab, SUM the Qty and add a calculated expression =StringAgg([INTran.LotSerialNbr], ‘,’) in the format of  StringAgg( expr, delimiter ). I put ‘,’ in for the delimiter to put a comma in between values.

 

 


Forum|alt.badge.img+1
  • Author
  • Varsity I
  • January 13, 2026

Looks good.

Would it make your client happy ?

It works well with values that are unique like serial numbers.

Thanks