Skip to Content
Technical Articles
Author's profile photo Merza Klaghstan

Datasphere: Consume a Generic OData Source to Create a Fact (Analytical Dataset)

0. Introduction

In today’s data-driven business landscape, the ability to seamlessly integrate and analyze vast amounts of data has become paramount for organizations seeking to unlock valuable insights. SAP Datasphere (DSP) emerges as a powerful solution, providing a unified and scalable platform for data warehousing and analytics. To fully leverage the potential of DSP, establishing an efficient connections to external data sources is crucial. One such method is utilizing the OData protocol, a widely adopted standard for data exchange and integration.

This technical article aims to demystify the process of creating and consuming OData connections within SAP Datasphere. By following our step-by-step guide, you will gain the knowledge and confidence to create and deploy a consumable a Fact (aka Analytical Dataset) in DSP based on a generic OData connection.

1. Select the Datasource

From you desired datasource, you need the following details:

  1. Host URL of the remote OData Service
  2. OData version: V2, V3 or V4
  3. Authentication type and details

For our test-case scenario, we’ll use the well known Northwind OData test service.

2. Create the Connection

In DSP, go to Connections -> Create -> search for “odata”

Then enter the details as the following

Hint: note that the default Northwind service URL is of version 3. We needed to change this manually in the URL to V2, since V3 is not supported in Datashpere. Otherwise, the entities would be recognized inside the connection, but no data could be fetched:

3. Consume the Connection in Data Builder

If we try to create a Graphical View using the created OData connection, no entities can be read from the connection. To get more details, we validate the connection in the Connections tile, and we get the following warning:

So the reason is that the Graphical View tried to access the data remotely, which faces an SSL issue because the requested service will be accessed through HTTPS (https://services.OData.com), as described in this help page.

Solution-1: Security Certificate

Download the certificate of the OData service and upload it in DSP as given in the previous given help page. However, you will need for this the DW Administrator role. So if don’t have it, move to the 2nd solution.

Solution-2: Create a Data Flow First

The Data Flow has an ETL behaviour in replicating data. So the connection’s entities and their data can be accessed and consumed successfully.

After applying the operators that you need (join, project, ..) as part of the Data Flow, you need to add a target table, Create & Deploy it, and finally Run the flow.

4. Now, you can create your Fact (Analytical Dataset)

The created and deployed table NW_Orders (visible on the previous Figure) can now be found while creating a Graphical View, and it be can consumed with its data to create a Fact.

 

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nikolai Sandved
      Nikolai Sandved

      Where can I download the Certificate mentioned above? "Download the certificate of the OData service"? The other way worked although. Thanks for a nice article Merza Klaghstan  

      Author's profile photo Merza Klaghstan
      Merza Klaghstan
      Blog Post Author

      Thank you, Nikolai ..

      To download the certificate, simply navigate to the corresponding OData service, and follow these steps:

      Author's profile photo Nikolai Sandved
      Nikolai Sandved

      Thanks a lot Merza. This worked perfect following your description above and then the doc you mentioned in the article: https://help.sap.com/docs/SAP_DATASPHERE/9f804b8efa8043539289f42f372c4862/46f5467adc5242deb1f6b68083e72994.html?locale=en-US

      Validates now without any issues:

      Author's profile photo Nikolai Sandved
      Nikolai Sandved

      Merza Klaghstan , did you test other Odata Data services than https://services.odata.org/V2/Northwind/Northwind.svc/ ?

       

      I have now tested some 6-8 others and did only manage to connect to only one other (https://www.who.int/data/gho/info/gho-odata-api). Even the other open Microsoft test odata sets did not work for me, most of the others give the error message highlighted below:

      • https://services.odata.org/V4/TripPinServiceRW/, using the cerificate _.odata.org.cer, Version: V2 & V4 , did not work:Error message: « Connection "trippinservicerw" is valid, but not all features are available. - Data flows are enabled. - Replication flows are not supported. - Remote tables can't be used because of errors in the connection.

      Remote Tables: Unable to connect remote source: connection to services.odata.org:443 returned status 302, Code: 5921, SQL State: HY000»

      • Description of the source: TripPin OData Service: The TripPin service is a sample OData service provided by Microsoft. It represents a fictional airline's travel booking system, and it contains data related to people, airlines, airports, trips, and more. You can access it using the URL: https://services.odata.org/V4/TripPinServiceRW/