Skip to Content
Technical Articles
Author's profile photo Stephanie Butler

Direct Spatial Shape Consumption in SAP Analytics Cloud based on Business Application Studio Calculation Views


In this blog post, I will share how to transform and store spatial data in SAP HANA Cloud and directly expose into SAP Analytics Cloud using Calculation Views created within SAP Business Application Studio.

Implementation Scenarios

This implementation was based on a scenario where spatial data was collected from 3rd party APIs from IoT devices and sent through SAP Cloud Platform Integration and Node js applications into SAP HANA Cloud.

Once the spatial data was stored in SAP HANA Cloud, it was transformed into meaningful insights.


Refer to blog  Creating an SAC Geo Map from WebIDE (HDI) based Calculation Views by Ian Henry for setting up a SAP Business Application Studio project with the correct namespace and making sure the system has spatial reference system ID 3857. This is required for SAP Analytics Cloud reporting.

Required Steps

  1. Transform Location Data
  2. Create Geo Cube/Dimensional Calculation Views with Shapes
  3. Create a Live Connection Data model in SAP Analytics Cloud based on Calculation Views
  4. Create a Geo Map Story

1. Transform Location Data

The spatial data in the SAP HANA Cloud table exists as two separate columns: longitude and latitude.


Figure:1 SAP HANA Cloud Table

The table contains data about truck trips. A truck trip forms a route. In this scenario, we are going to make polygons out of the route. In order to create a polygon the first and last point on the trip have to be identical.

We will be creating a new table to hold the polygon shape data for each truck trip using the datatype ST_GEOMETRY(3857).


We will use a SELECT statement to get the trip data from the table and using the ST_GeomFromTxt spatial function to string together the longitude and latitude columns to form the polygon shape. The shape will then be inserted into the new table.

Key Points:

  • Longitude and latitude points are in SRID 4326. The ST_Transform function converts the points to SRID 3857.
  • We added a new column NEWID to the table based off of the original ID column. This column is used in determining the order of points.
select TRIP_ID, ST_GeomFromText('Polygon((' || STRING_AGG(LONGITUDE || ' ' || LATITUDE, ',' ORDER BY NEWID) || '))', 4326).ST_TRANSFORM(3857) 


Figure 2: Example Polygon Shapes

2. Create Geo Cube/Dimensional Calculation Views with Shapes

In the SAP Business Application Studio, create two new calculation views using the new polygon table. One will be a cube and one will be a dimensional view.

2a. Create a Cube Calculation View

This calculation view can be created under the src/Models folder within the database module. A cube view is needed for SAP Analytics Cloud reporting.


Figure 3: Database Module Structure


Figure 4: Polygon Table Added to Calculation View

Since it is a cube, I have added a count measure and used the spatial function ST_AREA() to determine the area of each polygon as well as ST_BUFFER() to add additional area onto the polygon within a calculated column. These spatial functions do not need to be included.


Figure 5: Calculation View with Measures

2b. Create a Dimensional Calculation View

This calculation view needs to be created under the src/SAP_BOC_SPATIAL folder for SAP Analytics Cloud reporting (check pre-requisites).


Figure 6: Polygon Table Added to Calculation View

It is important to change the names and labels of the columns so that they do not match the previous calculation view. This is a limitation when creating a location dimension in SAP Analytics Cloud. No additional columns were added here.


Figure 7: Dimensional Calculation View Output Columns

3. Create a Live Connection Data model in SAP Analytics Cloud based on Calculation Views

Make sure a role has been created in the HDI container for calculation view consumption and assign it to the SAP Analytics Cloud user which is used to create the connection from SAP HANA Cloud to SAP Analytics Cloud.

In SAP Analytics Cloud data modeler, create a live data model and select the cube calculation view.


Figure 8: Live Data Model Connection

In the modeler, you can see the measures from the view and all the dimensions.


Figure 9: Measures from Cube Calculation View


Figure 10: Dimensions from Cube Calculation View

Add a location dimension by selecting the trip id from the cube view and choosing the dimensional calculation view. You will notice the Location Dimension Name is the polygon shape. The Location Identifier and the Identifier for Mapping need to be the same column from both calculation views which is used for joining in the model.


Figure 11: Create a Location Dimension in the Model

4. Create a Geo Map Story

In SAP Analytics Cloud, create a responsive story based on the presentation template. Click the + sign on the map.


Figure 12: SAP Analytics Cloud Responsive Story Template

In Edit and Designer mode, add a layer and choose the live data model we just created.

Choose the Choropleth/Drill layer with Bubbles (remove the hierarchies of the layer).


Figure 13: Remove Default Hierarchies

Under the Location Dimension, add the polygon shape.


Figure 14: Select Polygon Shape for Location Dimension

You can add measures like POLYGON_AREA to change the colors of the polygons.


Figure 15: Add a Measure to Change Bubble Color


Using the Spatial engine and functions, you now have transformed spatial data into shapes and stored the shapes directly in SAP HANA Cloud. With SAP Business Application Studio you created calculation views that are used in SAP Analytics Cloud for reporting.

Try it out yourself!

If you would like to set up the same in your own environment, refer to the mission “Visualize Truck Routes & Hazards Using Geo Spatial Processing” in the SAP Discovery Center. Instead of direct shape consuming in SAP Analytics Cloud, the mission shows how to create linestrings for truck routes that are not complete polygons. Also, see more about the mission in the blog post Discovery Mission: Visualize Hazards & Truck Routes using SAP HANA Cloud – The Engine for Spatial Analytics by Vivek RR which highlights another spatial transformation scenario.


Please feel free to reach out to me or Vivek RR for any questions related to SAP HANA Spatial topics. You can see additional topics and post questions in the community page, SAP HANA Spatial.


Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Tom Turchioe
      Tom Turchioe

      Well done!  Very clear and I like that you can try it out yourself.   If the customer has ArcGIS, the calc views created for SAC can also be consumed by ArcGIS Enterprise where you can add additional layers (like traffic from the Living Atlas as well as other demographic and organizational spatial data).  For a customer that has both SAC and ArcGIS consumers, a set of calc views can be created to provide a schema on read model that serves as a source for both SAC and ArcGIS.  This also provides a way to create a common data model for transactional data (from S4 for instance) that serves as a foundational spatial data source for the enterprise regardless of whether consumption is via SAC, ArcGIS or both.