You can use the Query Editor to quickly create and modify queries created with the a!queryEntity function.
a!queryEntity( entity, query, fetchTotalCount )
Executes a query on a given data store entity and returns the result.
Data Store Entity
The Data Store Entity to query.
The query definition of the report including grouping, aggregation, filtering, paging, and sorting configurations, created with
If set to false, avoids running the query that retrieves the total number of rows in the
The DataSubset returned by this function is used to generate report grids or graphs based on the data in a data store entity. If you have a record type that reference a database, consider using a!queryRecordType() instead to easily reference the record type, or using a records-powered chart or a records-powered grid.
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.
This function allows a
Query object with an array of
SortInfo data type.
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.
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||
||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||
||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.
Can be used with Appian Portals if it is connected using an integration and web API.
|Offline Mobile||Partially compatible||
Can be used with offline mobile if it is loaded at the top of the form.
|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.
Cannot be used to configure a process report.
Cannot be used to configure a process event node, such as a start event or timer event.
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|
Added the fetchTotalCount parameter, which, by default, avoids running the query that retrieves the total number of rows in the
Fixed an incorrect sorting behavior so that a sort is now automatically applied on the primary key field when there is no other sort applied. In previous versions of this function, a sort was applied on the last field in the query when there was no sort or selection specified, or when there was no sort and at least one
To use the latest version of the function, replace the function with a version suffix with a new function reference.
To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page.