Executes a query on a given data store entity and returns the result.
You can use the Query Editor to quickly create and modify queries created with the a!queryEntity function.
a!queryEntity( entity, query, fetchTotalCount )
a!query()
.totalCount
parameter of the resulting datasubset. In cases where you don't need the total count, skipping this query can improve the performance of a!queryEntity()
. Default: false.DataSubset
The DataSubset returned by this function is used to generate report grids or graphs based on record data.
The entity value should be given as a constant of type Data Store Entity. The query value must be entered using the a!query()
system function.
The logicalExpression|filter|search field of the query object can only be set to a LogicalExpression or a QueryFilter type. Search types are not supported.
The expression will fail to evaluate and an error will occur if the entity reference is not provided, invalid, or null, the user does not have permission to view the entity, the query value is not provided, invalid, incomplete, or an inconsistent query object.
This function allows a Query
object with an array of SortInfo
data type.
If called multiple times in the same expression with the same parameters, only one query is made to the data store when the expression is evaluated and the result is reused for each identical call. This caching only applies within a single expression evaluation. Return values are not cached in separate expressions, or in separate evaluations of the same expression.
If fetchTotalCount is set to false
and the batchSize parameter in a!pagingInfo
is set to -1, the totalCount parameter is populated with the number of rows after the filters are applied. This is because all of the data is already being retrieved, so the value of totalCount is already known without an additional query. See the following table for more information.
Batch Size | Fetch Total Count | Scenario Description | Value of totalCount |
---|---|---|---|
-1 | Any value | The user wants to get all the rows. We know the total size and return it to the user. | Total number of rows after filters are applied |
0 or positive | true |
The user only wants a subset of rows, but also wants to know the total number of rows after filters are applied. We run an extra query to get the total size. | Total number of rows after filters are applied |
0 or positive | false |
The user only wants a subset of rows, and didn't ask for the total number of rows after filters are applied. We don't know the total size. | -1 |
See Query Recipes for examples of queries.
Data Store Entity: Data store entities are named, typed storage units within a data store.
Query Data Type: The query data type defines the grouping, aggregation, filtering, paging, and sorting configuration to be applied when querying data.
a!query(): A System Function that returns a Query object. Use this function to create your Query value for the query parameter.
Querying Data From an RDBMS: An explanation of the differences between a!queryEntity
and a!queryRecordType()
.
Using the Query Editor: Instructions on how to create a query using the query editor.
There are older versions of this function. You can identify older versions by looking at the name to see if there is a version suffix. If you are using an old version, be sure to refer to the corresponding documentation from the list below.
Old Versions | Reason for Update |
---|---|
a!queryEntity_18r3 | Added the fetchTotalCount parameter, which, by default, avoids running the query that retrieves the total number of rows in the |
To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page.