Namespace: Org.OData.Aggregation.V1
Terms to describe which data in a given entity model can be aggregated, and how.
Term | Type | Description |
---|---|---|
ApplySupported | ApplySupportedType | This structured type, entity set or entity container supports the $apply system query option |
Groupable (Deprecated) | Tag | Deprecated in favor of ApplySupported/GroupableProperties |
Aggregatable (Deprecated) | Tag | Deprecated in favor of ApplySupported/AggregatableProperties |
CustomAggregate | String | Dynamic property that can be used in the aggregate transformationThis term MUST be applied with a Qualifier, the Qualifier value is the name of the dynamic property. The value of the annotation MUST be the qualified name of a primitive type. The aggregated value will be of that type. |
ContextDefiningProperties | [PropertyPath] | The annotated property or custom aggregate is only well-defined in the context of these properties The context-defining properties need either be part of the result entities, or be restricted to a single value by a pre-filter operation. Examples are postal codes within a country, or monetary amounts whose context is the unit of currency. |
LeveledHierarchy | [PropertyPath] | Defines a leveled hierarchy by defining an ordered list of properties in the hierarchy |
RecursiveHierarchy | RecursiveHierarchyType | Defines a recursive hierarchy. |
AvailableOnAggregates | AvailableOnAggregatesType | This action or function is available on aggregated entities if the RequiredProperties are still defined |
Function | Signature | Description |
---|---|---|
isroot | Entity: EntityType, Hierarchy: String → Boolean | Returns true, if and only if the value of the node property of the specified hierarchy is the root of the hierarchy |
isdescendant | Entity: EntityType, Hierarchy: String, Node: PrimitiveType, MaxDistance: Int16? → Boolean | Returns true, if and only if the value of the node property of the specified hierarchy is a descendant of the given parent node with a distance of less than or equal to the optionally specified maximum distance |
isancestor | Entity: EntityType, Hierarchy: String, Node: PrimitiveType, MaxDistance: Int16? → Boolean | Returns true, if and only if the value of the node property of the specified hierarchy is an ancestor of the given child node with a distance of less than or equal to the optionally specified maximum distance |
issibling | Entity: EntityType, Hierarchy: String, Node: PrimitiveType → Boolean | Returns true, if and only if the value of the node property of the specified hierarchy has the same parent node as the specified node |
isleaf | Entity: EntityType, Hierarchy: String → Boolean | Returns true, if and only if the value of the node property of the specified hierarchy has no descendants |
Property | Type | Description |
---|---|---|
Transformations | [String] | Transformations that can be used in $apply |
CustomAggregationMethods | [String] | Qualified names of custom aggregation methods that can be used in aggregate(...with...) |
Rollup | RollupType | The service supports rollup hierarchies in a groupby transformation |
PropertyRestrictions (Deprecated) | Boolean | Deprecated since Groupable and Aggregatable are deprecated |
GroupableProperties | [PropertyPath] | Properties supported by the groupby transformation. Setting this collection implies that PropertyRestrictions is true |
AggregatableProperties | [AggregatablePropertyType] | Properties supported by the aggregate transformation. Setting this collection implies that PropertyRestrictions is true |
Property | Type | Description |
---|---|---|
Property | PropertyPath | Aggregatable property |
SupportedAggregationMethods | [String] | Standard and custom aggregation methods than can be applied to the property. If omitted, all aggregation methods can be applied |
RecommendedAggregationMethod | String? | Recommended method for aggregating values of the property |
The number of rollup
operators allowed in a groupby
transformation
Member | Value | Description |
---|---|---|
None | 0 | No rollup support |
SingleHierarchy | 1 | Only one rollup operator per groupby |
MultipleHierarchies | 2 | Full rollup support |
Property | Type | Description |
---|---|---|
NodeProperty | PropertyPath | Property holding the hierarchy node value |
ParentNavigationProperty | NavigationPropertyPath | Property for navigating to the parent node |
DistanceFromRootProperty | PropertyPath? | Property holding the number of edges between the node and the root node |
IsLeafProperty | PropertyPath? | Property indicating whether the node is a leaf of the hierarchy |
Property | Type | Description |
---|---|---|
RequiredProperties | [PropertyPath] | Properties required to apply this action or function |
Aggregation capabilities on a navigation path
Property | Type | Description |
---|---|---|
NavigationProperty | NavigationPropertyPath? | Navigation properties can be navigated |
Navigability | NavigationType? | Supported navigability of this navigation property |
FilterFunctions | [String] | List of functions and operators supported in filter expressions If not specified, null, or empty, all functions and operators may be attempted. |
FilterRestrictions | FilterRestrictionsType? | Restrictions on filter expressions |
SearchRestrictions | SearchRestrictionsType? | Restrictions on search expressions |
SortRestrictions | SortRestrictionsType? | Restrictions on orderby expressions |
TopSupported | Boolean | Supports $top |
SkipSupported | Boolean | Supports $skip |
SelectSupport | SelectSupportType? | Support for $select |
IndexableByKey | Boolean | Supports key values according to OData URL conventions |
InsertRestrictions | InsertRestrictionsType? | Restrictions on insert operations |
DeepInsertSupport | DeepInsertSupportType? | Deep Insert Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
UpdateRestrictions | UpdateRestrictionsType? | Restrictions on update operations |
DeepUpdateSupport | DeepUpdateSupportType? | Deep Update Support of the annotated resource (the whole service, an entity set, or a collection-valued resource) |
DeleteRestrictions | DeleteRestrictionsType? | Restrictions on delete operations |
OptimisticConcurrencyControl | Boolean | Data modification (including insert) along this navigation property requires the use of ETags |
ReadRestrictions | ReadRestrictionsType? | Restrictions for retrieving entities |
ApplySupported | ApplySupportedType? | Support for $apply |
CustomAggregates | [CustomAggregateType] | Supported custom aggregates |
Property | Type | Description |
---|---|---|
Name | String | Name of the dynamic property that can be used in the aggregate transformation |
Type | String | Qualified name of a primitive type. The aggregated value will be of that type |