FunctionCopy link to clipboard
a!aggregationFields( groupings, measures )
Used to define a query against record data that performs an aggregation in a!queryRecordType()
. Uses a!grouping()
and a!measure()
to define aggregate fields.
See also: a!queryRecordType, Measure Component, Grouping Component
ParametersCopy link to clipboard
Keyword | Type | Description |
---|---|---|
|
Any Type |
Fields to group by using a list of |
|
Any Type |
Calculations to perform using a list of |
ReturnsCopy link to clipboard
Aggregation Fields
Usage considerationsCopy link to clipboard
Supported use caseCopy link to clipboard
- This configuration should always be used within the fields parameter of
a!queryRecordType()
to define the fields returned when aggregating data.
Using the grouping and measure parametersCopy link to clipboard
- a!grouping() and a!measure() must be used to define the groupings and calculations.
- You can provide both groupings and measures, or you can choose to include only measures or groupings.
- For each grouping or measure provided, the alias is required.
ExamplesCopy link to clipboard
This expression uses the record type Cases for the purpose of illustration only. If you copy and paste the expression below into an expression, it will not evaluate in your interface. Use it as a reference only. This is an example of using one grouping and one measure to return the total number of cases for each month.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
a!queryRecordType(
recordType: recordType!Case,
fields: a!aggregationFields(
groupings: {
a!grouping(
field: recordType!Case.fields.dateSubmitted,
interval: "MONTH",
alias: "month_submitted"
)
},
measures: {
a!measure(
field: recordType!Case.fields.id,
function: "COUNT",
alias: "count_id"
)
}
),
pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5000)
Copy
This expression uses the record type Cases for the purpose of illustration only. If you copy and paste the expression below into an expression, it will not evaluate in your interface. Use it as a reference only. This is an example of using no groupings and one measure to return the total number of cases.
1
2
3
4
5
6
7
8
9
10
11
12
a!queryRecordType(
recordType: recordType!Case,
fields: a!aggregationFields(
measures: {
a!measure(
field: recordType!Case.fields.id,
function: "COUNT",
alias: "count_id"
)
}
),
pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5000)
Copy
This expression uses the record type Cases for the purpose of illustration only. If you copy and paste the expression below into an expression, it will not evaluate in your interface. Use it as a reference only. This is an example of using one grouping and no measures to return the distinct status values for each case.
1
2
3
4
5
6
7
8
9
10
11
a!queryRecordType(
recordType: recordType!Case,
fields: a!aggregationFields(
groupings: {
a!grouping(
field: recordType!Case.fields.status,
alias: "case_status"
)
}
),
pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5000)
Copy
Feature compatibilityCopy link to clipboard
The table below lists this function's compatibility with various features in Appian.
Feature | Compatibility | Note |
---|---|---|
Portals | Compatible | |
Offline Mobile | Compatible | |
Sync-Time Custom Record Fields | Incompatible | |
Real-Time Custom Record Fields | Incompatible | Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. |
Process Reports | Incompatible | Cannot be used to configure a process report. |
Process Events | Incompatible | Cannot be used to configure a process event node, such as a start event or timer event. |
Process Autoscaling | Compatible |