OData support
Connect for Analytics supports specific OData types and a subset of the OData protocol.
OData Types
Connect for Analytics supports both XML and JSON formats and uses the following OData types:
| When using tools such as PowerBI, we recommend to use JSON format (default for PowerBI). |
• Edm.Int32
• Edm.String
• Edm.Decimal
• Edm.Boolean
• Edm.DateTimeOffset
• Edm.Date
• Edm.TimeOfDay
• Edm.GeographyPoint (only supported for JSON format.)
OData Protocol
In addition, Connect for Analytics supports a subset of the OData protocol:
• Only reading data is possible, Not creating or updating.
• $filter queries of the form
/BaseOrder?$filter=PropertyRef eq 4
• Filtering on navigation properties is Not supported. For example a query of the form will throw an error:
/BaseOrder?$filter=PropertyRef_Property/Name eq 'Columbus Square'
• When using $select queries such as:
/BaseOrder?$select=OrderNumber,OrderGroupRef,PropertyRef
Or
/BaseOrder?$select=*
The second query will select all fields of BaseOrder. If no $select option is specified, all fields will be returned.
• $expand queries with or without $select. Nested expands are supported, but performance might suffer with increasing number of nested expands. For example a query of the form:
/BaseOrder?$expand=PropertyRef_Property($select=Name)
is supported, as well as:
/BaseOrder?$expand=PropertyRef_Property($select=Name;$expand=ParentRef_Property($select=Name))
| Within $expand, we support the system options $select and $expand. |
• $count which can also be used in combination with $filter. For example, a query of the form
/BaseOrder?$filter=PropertyRef eq 4&$count=true
will return the number of orders where the PropertyRef field has the value 4.
• $orderby- by default, results are sorted by Syscode (primary key field) ascendingly. The sorting can be changed by specifying a field name in the $orderby option. When no asc or desc option is specified, ordering is done ascendingly.
/BaseOrder?$orderby=OrderNumber desc
• $skip,$skiptoken and $top. For example, queries of the form:
/BaseOrder?$top=1000
/BaseOrder?$skiptoken=1*2000
/BaseOrder?$skip=1000
are all supported. Note that every OData response will contain at most 2000 entries (prior to L54, this was 1000), and, if necessary, a link to the next page of results which will contain a $skiptoken option.
• Supported String and Date filter functions are as follows:
String filter functions | DateTimeOffset / Date / TimeOfDay filter functions |
---|
contains | year |
endswith | month |
startswith | hour |
length | second |
concat | |
More Information