Клянусь, это должно быть проще. Я вижу различные @ переменные в документации, которые намекают на возможность сделать это легко, но я никогда не собирался заставить одну из них работать.
Если ваши данные структурированы таким образом, что ваш идентификатор то, что вы будете группировать, и данные, которые вы хотите, хранятся в поле значения с разделителями, и вы не хотите включать или исключать что-либо, вы можете использовать что-то вроде следующего.
В UniVerse, используя таблицу CUSTOMER в демо-счете HS.SALES, установленном во многих системах, вы можете сделать это. CUSTID - это запись @ID, а атрибут 13 - это место, где PRICE хранится в массиве с разделителями значений.
LIST CUSTOMER BREAK-ON CUSTID TOTAL EVAL "DCOUNT(@RECORD<13>,@VM)" TOTAL PRICE AS P.PRICE BY CUSTID DET.SUP
, который выводит это.
DCOUNT(@RECORD<13>,@
Customer ID VM)................. P.PRICE
1 1 $4,200
2 3 $19,500
3 1 $4,250
4 1 $16,500
5 2 $3,800
6 0 $0
7 2 $5,480
8 2 $12,900
9 0 $0
10 3 $10,390
11 0 $0
12 0 $0
==================== =======
15 $77,020
Это небольшой сок для большого сжатия, но я надеюсь, что вы найдете его полезным.
Удачи!