OData Client Compatibility: Difference between revisions

From OdataLink
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 4: Line 4:




== (Auto Detect) ==
= 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'''.
 


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 legacy behaviour in how OdataLink worked prior to adding the other options.
= OData Client Compatibility Options =


OdataLink uses the User-Agent header of the request to identify the client as follows.
The following options are available.


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)''.
== (Auto Detect) ==


User-Agent of ''Microsoft.Data.DataFeedClient'' indicate the request came from ''SQL Server Integration Services (SSIS)''.
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.


User-Agent of ''Tableau''' or ''Apache-Olingo'' indicate the request came from ''Tableau''.
OdataLink uses the User-Agent header of the request to identify the client as follows:


There is no mechanism yet to detect ''Solver'' or ''Fabric Data Factory''.
* 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]]''.




Line 25: 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 be accessible as as entity sets instead.''
: ''Functions will be accessible as as entity sets instead.''
* Does not support complex types
* Does not support complex types.




Line 44: 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
* Does not support functions.
: ''Functions will be accessible as as entity sets instead.''
: ''Functions will be accessible as as entity sets instead.''
* Does not support complex types
* Does not support complex types.




Line 68: 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
* Does not support functions.
: ''Functions will be accessible as as entity sets instead.''
: ''Functions will be accessible as as entity sets instead.''


Line 76: 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
* Does not support functions.
: ''Functions will be accessible as as entity sets instead.''
: ''Functions will be accessible as as entity sets instead.''
* Does not the Date data type
* Does not the Date data type.
: ''Instead, dates will be returned using the DateTimeZoneOffset data type.''
: ''Instead, dates will be returned using the DateTimeZoneOffset data type.''
* Does not support complex types
* Does not support complex types.




Line 87: 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
* Does not support functions.
: ''Functions will be accessible as as entity sets instead.''
: ''Functions will be accessible as as entity sets instead.''
* Does not support time zones
* Does not support time zones.
: ''The time zone component of the DateTimeZoneOffset data type will be omitted.''
: ''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.

  1. Go to app.odatalink.com.
  2. Click on Models on the menu in the left-hand side.
  3. Find the model you want to work on and click View.
  4. Select the Settings tab.
  5. Click on the Edit Model button.
  6. Find the Miscellaneous Options section.
  7. Choose the OData Client Compatibility option required.
  8. 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:


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.