SAP HANA Cloud, SAP HANA Database

Develop Calculation View in BAS and consume in SAC

SAP Business Application Studio could help us develop Calculation Views. SAC released connecting SAP HANA Cloud by live data mode. This article explains how to use SAC connect SAP HANA Cloud to illustrate Calculation Views.


  • Setup environment BAS
  • Setup SAP HANA Cloud
  • Access permission on SAP Analytics Cloud landscape

Step1: Create new dev space for CAP

Type a new space name, select Full Stack Cloud Application, check CDS Graphical Modeler, SAP HANA Calculation View Editor, SAP HANA Database Explorer and SAP HANA Tools.

Step2: New CAP project in SAP Application Studio

Select menu Create project from template on Welcome page.

Select CAP tile and then Next. Type your project name, and then select features hana, mta and samples.

Step3: Config CDS in workspace

  • Update value for @sap/hana-client
"@sap/hana-client": "^2.6.61"
  • Update scripts section
"start": "cds run",
"hana": "cds deploy --to hana:mycapdemo-db --auto-undeploy",
"build": "cds build/all --clean"
  • Add new section hana into cds chapter
"hana": {
      "deploy-format": "hdbtable"
  • update db kind to hana
"kind": "hana"

Entire package.json file for your reference, memorize the hana instance name mycapdemo-db, it will be invoked later.

NOTES: Keep the segment “name”: “mycapdemo” and hana instance name “mycapdemo-db” mapping. It will avoid much manual job in subsequent steps.

  "name": "mycapdemo",
  "version": "1.0.0",
  "description": "A simple CAP project.",
  "repository": "<Add your repository here>",
  "license": "UNLICENSED",
  "private": true,
  "dependencies": {
    "@sap/cds": "^5",
    "express": "^4",
    "@sap/hana-client": "^2.6.61"
  "devDependencies": {
    "@sap/hdi-deploy": "^4.2.0",
    "sqlite3": "^5.0.2"
  "scripts": {
    "start": "cds run",
    "hana": "cds deploy --to hana:mycapdemo-db --auto-undeploy",
    "build": "cds build/all --clean"
  "cds": {
    "hana": {
      "deploy-format": "hdbtable"
    "requires": {
      "db": {
        "kind": "hana"
  • Add new entity Authors

To perform data join query in subsequent calculation view development, add a new table Authors here

Navigate to mycapdemo/db/src/data-model.cds, add a new entity in the file and setup AUTHOR_ID as foreign key in books table.

namespace my.bookshop;

entity Books {
  key ID : Integer;
  title  : String;
  stock  : Integer;
  author : Association to Authors;

entity Authors {
  key ID : Integer;
  name  : String;
  Address  : String;
  books  : Association to many Books on = $self;
  • Add initial data for the tables

if you want to your table including data after table creation, navigate to file mycapdemo/db/data/my.bookshop-Authors.csv and my.bookshop-Books.csv to filling your demo data.

Note: Create the CSV file manually if related file not existing

  • Pick up node dependencies
    Open terminal from menu, and then execute command line:

npm install

  • Create hdi-container and initiate the tables
    Login your org/space
    Open menu View->Find Command->Login to Cloud Foundry, input your own credential to complete org/space targeting.
    This command line will create the hana instance mycapdemo-db here, the creation process will persist several minutes. Execute command line:

npm run hana

  • Check OData service availability Execute command:

npm start

After command line execute finished. Click “Open in new tab” to test my If you can see following page, that means your cds.service works fine.

Step4: Create Calculation View project in BAS

Open menu View -> Find Command, search item “artifact” in search box.
Open wizard Create SAP HANA Database Artifact
Select Calculation View in Artifact Type drop-down list, and then type a new artifact name

Step5: Develop calculation view

Click new created file event_calc_view.hdbcalculationview to open calculation view editor.

Click “Create Join” from left frame, and then add Data Source “MY_BOOKSHOP_AUTHORS” and “MY_BOOKSHOP_BOOKS”

Double click the join node, and then open the join_1 settings. Drag and drop the ID to BOOKs.AUTHOR_ID

Click Mapping tab in the join_1 setting, drag and drop the column from left Data Source to right Output Columns, and then drag the arrow connect to Aggregation node, click “X” to close the join_1 settings page

Click “Create Rank” to add a new rank node to Calculation View

Double click on the Rank_1 node to open rank settings, switch to Mapping tab. Make sure all related columns list out in the left Data Sources list

Switch to Definition tab, add new sort ID in Sort Column.

Click Aggregation node to navigate to aggregation settings, drag and drop all columns to the Output Columns list

Step6: Deploy Calculation View

Click the Rocket icon to deploy your calculation view to SAP HANA Cloud

Note: Make sure your dev space has already connected to CF correctly. If not, you can run command cf login to login CF

Step7: Check Calculation View in SAP HANA Database Explorer

Click cubic icon under the DB Connection node to open the HDI container in SAP HANA Database Explorer. Please bind HDI container manually if your DB connection is empty

Click Column Views under HDI container “mycapdemo-db”. Select the calculation view, and then click Open Data

Drag and drop measures to Value Axis, check the preview. If preview displays correctly, which means the calculation view deployed successfully.

Step8: Consume Calculation View in SAC

  • Create Connection Login BTP Cockpit, Open Instances and Subscriptions, click the instance mycapdemo-db from the list, and then open “mycapdemo-db-key”, copy these values for creating SAC connection
Required Parameters

Login SAC, create new connection to connecting SAP HANA Cloud, input the parameters into the connection wizard

  • Create Modeler

Open Create Modeler wizard, click Live Data Model to launch wizard Create Model From Live Data Connection.

  • Create new Story

Open Create Story wizard page, select Canvas, Click Chart icon, select new created modeler from the list.

Select Chart Orientation Vertical, Add Measures

The Calculation View will display on canvas.

Leave a Reply

Your email address will not be published. Required fields are marked *