Skip to content

Commit 8e01a07

Browse files
agoerlerrenejeglinskyrjayasinghejohannes-vogel
authored
OData feature matrix (#1993)
Co-authored-by: René Jeglinsky <[email protected]> Co-authored-by: Robin <[email protected]> Co-authored-by: Johannes Vogel <[email protected]>
1 parent 86ac3dd commit 8e01a07

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

advanced/odata.md

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,21 +1091,25 @@ If the `groupby` transformation only includes a subset of the entity keys, the r
10911091

10921092
### Transformations
10931093

1094-
| Transformation | Description | Node.js | Java |
1095-
|------------------------------|---------------------------------------------|:------------------:|:-----:|
1096-
| `filter` | filter by filter expression | <X/> | <X/> |
1097-
| `search` | filter by search term or expression | <Na/> | <X/> |
1098-
| `groupby` | group by dimensions and aggregates values | <X/> | <X/> |
1099-
| `aggregate` | aggregate values | <X/> | <X/> |
1100-
| `compute` | add computed properties to the result set | <Na/> | <X/> |
1101-
| `expand` | expand navigation properties | <Na/> | <Na/> |
1102-
| `concat` | append additional aggregation to the result | <X/> | <X/> |
1103-
| `skip` / `top` | paginate | <X/> | <X/> |
1104-
| `orderby` | sort the input set | <X/> | <X/> |
1105-
| `topcount`/`bottomcount` | retain highest/lowest _n_ values | <Na/> | <Na/> |
1106-
| `toppercent`/`bottompercent` | retain highest/lowest _p_% values | <Na/> | <Na/> |
1107-
| `topsum`/`bottomsum` | retain _n_ values limited by sum | <Na/> | <Na/> |
1108-
1094+
| Transformation | Description | Node.js | Java |
1095+
|------------------------------|----------------------------------------------|:------------------:|:-----:|
1096+
| `filter` | filter by filter expression | <X/> | <X/> |
1097+
| `search` | filter by search term or expression | <Na/> | <X/> |
1098+
| `groupby` | group by dimensions and aggregates values | <X/> | <X/> |
1099+
| `aggregate` | aggregate values | <X/> | <X/> |
1100+
| `compute` | add computed properties to the result set | <Na/> | <X/> |
1101+
| `expand` | expand navigation properties | <Na/> | <Na/> |
1102+
| `concat` | append additional aggregation to the result | <X/> | <X/> |
1103+
| `skip` / `top` | paginate | <X/> | <X/> |
1104+
| `orderby` | sort the input set | <X/> | <X/> |
1105+
| `topcount`/`bottomcount` | retain highest/lowest _n_ values | <Na/> | <Na/> |
1106+
| `toppercent`/`bottompercent` | retain highest/lowest _p_% values | <Na/> | <Na/> |
1107+
| `topsum`/`bottomsum` | retain _n_ values limited by sum | <Na/> | <Na/> |
1108+
| `TopLevels` | retain only _n_ levels of a hierarchy | <X/><sup>2</sup> | <X/><sup>1,2</sup> |
1109+
| `ancestors/descendants` | retain ancestors/descendants of specific nodes | <X/> <sup>2</sup> | <X/><sup>1,2</sup> |
1110+
1111+
<sup>1</sup> - supported on SAP HANA, H2 ad PostgreSQL only
1112+
<sup>2</sup> - only to support requests from the UI5 Tree Table
11091113

11101114
#### `concat`
11111115

@@ -1137,7 +1141,6 @@ GET /Order(10)/books?
11371141

11381142
This query groups the 500 most expensive books by author name and determines the price of the most expensive book per author.
11391143

1140-
11411144
### Aggregation Methods
11421145

11431146
| Aggregation Method | Description | Node.js | Java |
@@ -1148,8 +1151,10 @@ This query groups the 500 most expensive books by author name and determines the
11481151
| `average` | average of values | <X/> | <X/> |
11491152
| `countdistinct` | count of distinct values | <X/> | <X/> |
11501153
| custom method | custom aggregation method | <Na/> | <Na/> |
1154+
| custom aggregate | predefined custom aggregate | <X/> | <X/> |
11511155
| `$count` | number of instances in input set | <X/> | <X/> |
11521156

1157+
11531158
### Custom Aggregates
11541159

11551160
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
12181223
| chain transformations | <X/> | <X/> |
12191224
| chain transformations within group by | <Na/> | <Na/> |
12201225
| `groupby` with `rollup`/`$all` | <Na/> | <Na/> |
1221-
| `$expand` result set of `$apply` | <Na/> | <Na/> |
1226+
| `$expand` result set of `$apply` | <Na/> | <X/> |
12221227
| `$filter`/`$search` result set | <X/> | <X/> |
12231228
| sort result set with `$orderby` | <X/> | <X/> |
12241229
| paginate result set with `$top`/`$skip` | <X/> | <X/> |

0 commit comments

Comments
 (0)