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 or entity container supports the $apply system query option |
Groupable |
Tag |
This property can be used in the groupby transformation |
Aggregatable |
Tag |
This property can be used in the aggregate transformation |
CustomAggregate |
String |
Dynamic property that can be used in the aggregate transformation This 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 values 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 |
Boolean |
Only properties tagged as Groupable can be used in the groupby transformation, and only those tagged as Aggregatable can be used in the aggregate transformation |
The number of rollup operators allowed in a groupby transformation
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 |