Skip to content

Latest commit

 

History

History
147 lines (101 loc) · 12.7 KB

Org.OData.Aggregation.V1.md

File metadata and controls

147 lines (101 loc) · 12.7 KB

Aggregation Vocabulary

Namespace: Org.OData.Aggregation.V1

Terms to describe which data in a given entity model can be aggregated, and how.

Terms

Term Type Description
ApplySupported ApplySupportedType This entity set or collection supports the $apply system query option
ApplySupportedDefaults ApplySupportedBase Default support of the $apply system query option for all collection-valued resources in the container. Annotating term ApplySupported for a specific collection-valued resource overrides the default setting
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 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 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

Functions

Returns true, if and only if the value of the node property of the specified hierarchy is the root of the hierarchy

Parameter Type Description
Entity EntityType Binding parameter
Hierarchy String
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

Parameter Type Description
Entity EntityType Binding parameter
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

Parameter Type Description
Entity EntityType Binding parameter
Hierarchy String
Node PrimitiveType
MaxDistance Int16?
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

Parameter Type Description
Entity EntityType Binding parameter
Hierarchy String
Node PrimitiveType
Boolean

Returns true, if and only if the value of the node property of the specified hierarchy has no descendants

Parameter Type Description
Entity EntityType Binding parameter
Hierarchy String
Boolean

Derived Types:

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
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] A non-empty collection indicates that only the listed properties of the annotated target are supported by the groupby transformation
AggregatableProperties [AggregatablePropertyType] A non-empty collection indicates that only the listed properties of the annotated target can be used in the aggregate transformation, optionally restricted to the specified aggregation methods
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

Capabilities.NavigationRestrictions that make use of the additional properties in this subtype are deprecated in favor of ApplySupported and CustomAggregate

CustomAggregateType (Deprecated)

Deprecated since NavigationPropertyAggregationCapabilities is also deprecated