Skip to Content
Technical Articles

Build geospatial data type in Data Warehouse Cloud for a geo map in SAP Analytics Cloud

A big thank you to my colleague Sathyathayan Rajendram for his technical wizardry on building this functionality and unlocking some hidden power within Data Warehouse Cloud!

Introduction

SAP Data Warehouse Cloud (DWC) currently includes an embedded SAP Analytics Cloud (SAC) instance and in general allows you to leverage the capabilities of SAP Analytics Cloud whether it is while using the embedded SAC version or by using the live connection capability to an external SAC instance.

There are a couple of features however that DWC does not yet support but SAC is already capable of, for example planning functionality or support for geospatial visualization using GeoMaps. SAP hast collected currently unavailable functionalities in Note 2832606 

For GeoMaps, it is by currently not possible by default to create geospatial data in DWC that can be consumed by SAC to build a Geomap. The DWC Roadmap is also currently unclear on when support is coming. But even though there is no official support from SAP for geospatial visualization in DWC yet, in this article we want to share a possible workaround on how to do it anyway and create geospatial data in DWC and use it in SAC.

Step 1:

Create a relational database containing the latitude (important: Data Type=DecimalFloat) and longitude (Data Type=DecimalFloat) of the location and a unique ID. In the example, only one key figure EBIT) is added, but of course all required dimensions and key figures can be added here.   

Latitude%20Longitude%20database

Latitude Longitude database (Source: Own screenshot)

Step 2:

Define a dimension using a table function. The dimension must contain the unique identifier and the conversion of the latitude and longitude  into the Mercator projection (3857) which is suitable with SAC. The latitude and longitude cannot be converted directly into the Mercator Projection. To be able to create the Mercator projection, the latitude and longitude must first be converted to the World Geodetic System 1984 (4326). This is all done in the following SQL script.

return SELECT "ADDRESSID", NEW ST_POINT( "LONGITUDE", "LATITUDE").ST_SRID(4326).ST_TRANSFORM(3857) LOC  FROM "CT_GEO_TEST_V002";

Please make sure that the two columns outputs in the table function are defined as shown in the following screenshot.

Table%20function%20column%20output

Table function column output (Source: Own screenshot)

Step 3:

Create a graphical or SQL view from the table function and save it as a dimension. 

Table%20function%20graphical%20SQL%20view

Table function graphical SQL view (Source: Own screenshot)

Step 4:

In the last step, the relational data created in step 1 must be connected to the dimension view created in step 3. To do this, a new view must be created with the relational data and then the dimension view defined in step 3 must be added as an association.

Connect%20relational%20data%20to%20dimension%20view

Connect relational data to dimension view (Source: Own screenshot)

Now the view can be used in SAC and Geomap can be created, for example looking like this:

 

SAC%20GeoMap%20using%20DWC%20data

SAC GeoMap using DWC data (Source: Own screenshot)

 

Using GeoMaps in SAC with a DWC data source might not be officially supported yet, but in this article we show you how to still make geospatial data in DWC work in SAC GeoMaps. Official support will surely come later from SAP but our article can give you a way to start building something right now without needing to wait for the functionality to officially arrive. Have fun trying it out and let us know in the comments how it worked for your of if you have any questions!

2 Comments
You must be Logged on to comment or reply to a post.
  • Thanks for sharing! I have been meaning to try this with the new geo st_points functionality in DWC. I have implemented this based on your blog in about 1 hours with 2 layers in SAC (need to add the multiple layers in the Analytics View) - but it works well. Now to extend... The example dataset is Fires in QLD / NSW since Jan 2020 in Australia.

    Sample%20Screenshot%20of%20DWC/SAC%20with%20Geospatial

    Sample Screenshot of DWC/SAC with Geospatial

    /
    Sample%20Screenshot%20of%20DWC/SAC%20with%20Geospatial
  • Hello Boman Hwang

    the related  SAP Note/KBA 2832606 is being updated.

    also, could you please add a bit of context about the table "CT_GEO_TEST_V002" (not available by default)

    Could you provide an SQL script and dataset maybe ?

    Thank you

    Amaury