diff --git a/advanced/odata.md b/advanced/odata.md index e68b570f6e..2e5e50f7bf 100644 --- a/advanced/odata.md +++ b/advanced/odata.md @@ -1091,21 +1091,25 @@ If the `groupby` transformation only includes a subset of the entity keys, the r ### Transformations -| Transformation | Description | Node.js | Java | -|------------------------------|---------------------------------------------|:------------------:|:-----:| -| `filter` | filter by filter expression | | | -| `search` | filter by search term or expression | | | -| `groupby` | group by dimensions and aggregates values | | | -| `aggregate` | aggregate values | | | -| `compute` | add computed properties to the result set | | | -| `expand` | expand navigation properties | | | -| `concat` | append additional aggregation to the result | | | -| `skip` / `top` | paginate | | | -| `orderby` | sort the input set | | | -| `topcount`/`bottomcount` | retain highest/lowest _n_ values | | | -| `toppercent`/`bottompercent` | retain highest/lowest _p_% values | | | -| `topsum`/`bottomsum` | retain _n_ values limited by sum | | | - +| Transformation | Description | Node.js | Java | +|------------------------------|----------------------------------------------|:------------------:|:-----:| +| `filter` | filter by filter expression | | | +| `search` | filter by search term or expression | | | +| `groupby` | group by dimensions and aggregates values | | | +| `aggregate` | aggregate values | | | +| `compute` | add computed properties to the result set | | | +| `expand` | expand navigation properties | | | +| `concat` | append additional aggregation to the result | | | +| `skip` / `top` | paginate | | | +| `orderby` | sort the input set | | | +| `topcount`/`bottomcount` | retain highest/lowest _n_ values | | | +| `toppercent`/`bottompercent` | retain highest/lowest _p_% values | | | +| `topsum`/`bottomsum` | retain _n_ values limited by sum | | | +| `TopLevels` | retain only _n_ levels of a hierarchy | 2 | 1,2 | +| `ancestors/descendants` | retain ancestors/descendants of specific nodes | 2 | 1,2 | + +1 - supported on SAP HANA, H2 ad PostgreSQL only +2 - only to support requests from the UI5 Tree Table #### `concat` @@ -1137,7 +1141,6 @@ GET /Order(10)/books? This query groups the 500 most expensive books by author name and determines the price of the most expensive book per author. - ### Aggregation Methods | Aggregation Method | Description | Node.js | Java | @@ -1148,8 +1151,10 @@ This query groups the 500 most expensive books by author name and determines the | `average` | average of values | | | | `countdistinct` | count of distinct values | | | | custom method | custom aggregation method | | | +| custom aggregate | predefined custom aggregate | | | | `$count` | number of instances in input set | | | + ### Custom Aggregates Instead of explicitly using an expression with an aggregation method in the `aggregate` transformation, the client can use a _custom aggregate_. A custom aggregate can be considered as a virtual property that aggregates the input set. It's calculated on the server side. The client doesn't know _How_ the custom aggregate is calculated. @@ -1218,7 +1223,7 @@ A custom aggregate for a currency code or unit of measure should also be exposed | chain transformations | | | | chain transformations within group by | | | | `groupby` with `rollup`/`$all` | | | -| `$expand` result set of `$apply` | | | +| `$expand` result set of `$apply` | | | | `$filter`/`$search` result set | | | | sort result set with `$orderby` | | | | paginate result set with `$top`/`$skip` | | |