OData Client Compatibility: Difference between revisions
No edit summary |
No edit summary |
||
| (7 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard. | The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard. | ||
By default, new models are set to '''(Auto Detect)''' as this ensures the OData Feed can be used with many different clients. There are situations where you may need to choose a specific client. | |||
= How to configure the OData Client Compatibility option == | |||
To configure the OData Client Compatibility option, follow these steps. | |||
# Go to '''app.odatalink.com'''. | |||
# Click on '''Models''' on the menu in the left-hand side. | |||
# Find the [[Models|model]] you want to work on and click '''View'''. | |||
# Select the '''Settings''' tab. | |||
# Click on the '''Edit Model''' button. | |||
# Find the '''Miscellaneous Options''' section. | |||
# Choose the [[OData Client Compatibility|OData Client Compatibility]] option required. | |||
# Click '''Save'''. | |||
= OData Client Compatibility Options = | |||
The following options are available. | |||
== (Auto Detect) == | == (Auto Detect) == | ||
The '''(Auto Detect)''' option allows OdataLink to detect the type of OData Client that is requesting data. It then uses this to adapt the OData Feed dynamically and work around limitations of specific client. This is the default behaviour in OdataLink and has been in place since the original design. | |||
OdataLink uses the User-Agent header of the request to identify the client as follows: | |||
* User-Agent of ''Microsoft.Data.Mashup'' indicate the request came from ''[[#Excel|Excel]]'', ''[[#Power BI|Power BI]]'', ''Power Query'' and ''[[#Fabric|Fabric]]'' (and related products). | |||
* User-Agent of ''azure-data-factory'' indicate the request came from ''[[#Azure Data Factory (ADF)|Azure Data Factory (ADF)]]''. | |||
* User-Agent of ''Microsoft.Data.DataFeedClient'' indicate the request came from ''[[#SQL Server Integration Services (SSIS)|SQL Server Integration Services (SSIS)]]''. | |||
* User-Agent of ''Tableau''' or ''Apache-Olingo'' indicate the request came from ''[[#Tableau|Tableau]]''. | |||
* There is no mechanism yet to detect ''[[#Solver|Solver]]'' or ''[[#Fabric Data Factory|Fabric Data Factory]]''. | |||
== Azure Data Factory (ADF) == | == Azure Data Factory (ADF) == | ||
| Line 9: | Line 40: | ||
'''Azure Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it: | '''Azure Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it: | ||
* Does not support functions | * Does not support functions. | ||
: ''Functions will | : ''Functions will be accessible as as entity sets instead.'' | ||
* Does not support complex types | * Does not support complex types. | ||
| Line 28: | Line 59: | ||
'''Fabric Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it: | '''Fabric Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it: | ||
* | * Does not support functions. | ||
: ''Functions will be accessible as as entity sets instead.'' | |||
* Does not support complex types | * Does not support complex types. | ||
| Line 52: | Line 83: | ||
'''Solver''' has some limitations in how it supports the OData standard. The main limitations are that it: | '''Solver''' has some limitations in how it supports the OData standard. The main limitations are that it: | ||
* | * Does not support functions. | ||
: ''Functions will be accessible as as entity sets instead.'' | |||
| Line 60: | Line 91: | ||
'''SQL Server Integration Services (SSIS)''' has some limitations in how it supports the OData standard. The main limitations are that it: | '''SQL Server Integration Services (SSIS)''' has some limitations in how it supports the OData standard. The main limitations are that it: | ||
* | * Does not support functions. | ||
: ''Functions will be accessible as as entity sets instead.'' | |||
* | * Does not the Date data type. | ||
: ''Instead, dates will be returned using the DateTimeZoneOffset data type.'' | |||
* Does not support complex types | * Does not support complex types. | ||
| Line 71: | Line 102: | ||
'''Tableau''' has some limitations in how it supports the OData standard. The main limitations are that it: | '''Tableau''' has some limitations in how it supports the OData standard. The main limitations are that it: | ||
* | * Does not support functions. | ||
: ''Functions will be accessible as as entity sets instead.'' | |||
* | * Does not support time zones. | ||
: ''The time zone component of the DateTimeZoneOffset data type will be omitted.'' | |||
* Does not support complex types | * Does not support complex types. | ||
Latest revision as of 01:38, 19 June 2025
The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard.
By default, new models are set to (Auto Detect) as this ensures the OData Feed can be used with many different clients. There are situations where you may need to choose a specific client.
How to configure the OData Client Compatibility option =
To configure the OData Client Compatibility option, follow these steps.
- Go to app.odatalink.com.
- Click on Models on the menu in the left-hand side.
- Find the model you want to work on and click View.
- Select the Settings tab.
- Click on the Edit Model button.
- Find the Miscellaneous Options section.
- Choose the OData Client Compatibility option required.
- Click Save.
OData Client Compatibility Options
The following options are available.
(Auto Detect)
The (Auto Detect) option allows OdataLink to detect the type of OData Client that is requesting data. It then uses this to adapt the OData Feed dynamically and work around limitations of specific client. This is the default behaviour in OdataLink and has been in place since the original design.
OdataLink uses the User-Agent header of the request to identify the client as follows:
- User-Agent of Microsoft.Data.Mashup indicate the request came from Excel, Power BI, Power Query and Fabric (and related products).
- User-Agent of azure-data-factory indicate the request came from Azure Data Factory (ADF).
- User-Agent of Microsoft.Data.DataFeedClient indicate the request came from SQL Server Integration Services (SSIS).
- User-Agent of Tableau' or Apache-Olingo indicate the request came from Tableau.
- There is no mechanism yet to detect Solver or Fabric Data Factory.
Azure Data Factory (ADF)
Azure Data Factory has some limitations in how it supports the OData standard. The main two limitations are that it:
- Does not support functions.
- Functions will be accessible as as entity sets instead.
- Does not support complex types.
Excel
Excel uses Power Query under the hood to extract the data. It has the most complete implementation of the OData Standard.
Fabric
Fabric uses Power Query under the hood to extract the data. It has the most complete implementation of the OData Standard.
Fabric Data Factory
Fabric Data Factory has some limitations in how it supports the OData standard. The main two limitations are that it:
- Does not support functions.
- Functions will be accessible as as entity sets instead.
- Does not support complex types.
Power BI
Power BI uses Power Query under the hood to extract the data. It has the most complete implementation of the OData Standard.
Power BI Dataflows
Power BI Dataflows uses Power Query under the hood to extract the data. It has the most complete implementation of the OData Standard.
Power BI Datamarts
Power BI Datamarts uses Power Query under the hood to extract the data. It has the most complete implementation of the OData Standard.
Solver
Solver has some limitations in how it supports the OData standard. The main limitations are that it:
- Does not support functions.
- Functions will be accessible as as entity sets instead.
SQL Server Integration Services (SSIS)
SQL Server Integration Services (SSIS) has some limitations in how it supports the OData standard. The main limitations are that it:
- Does not support functions.
- Functions will be accessible as as entity sets instead.
- Does not the Date data type.
- Instead, dates will be returned using the DateTimeZoneOffset data type.
- Does not support complex types.
Tableau
Tableau has some limitations in how it supports the OData standard. The main limitations are that it:
- Does not support functions.
- Functions will be accessible as as entity sets instead.
- Does not support time zones.
- The time zone component of the DateTimeZoneOffset data type will be omitted.
- Does not support complex types.
Other
When assigning the option of Other, OdataLink makes the assumption the client supports the complete standard and will work in the same way as Excel, Power BI and Fabric.