Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 4.31 KB

Org.OData.Aggregation.V1.md

File metadata and controls

51 lines (38 loc) · 4.31 KB

Aggregation Vocabulary

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
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

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