The recent announcements about SAP partnering with Microsoft to build enterprise-ready innovative solutions excited us about the future of SAP solutions. And the integration with Microsoft Azure Open AI to access language models securely got us to think about productive use cases that might fit SAP HANA Cloud/SAP Datasphere scenarios. Again, the use case we are discussing is....

We already covered SHAP-explained models for classification and regression scenarios in a previous APL blog post, and at the time we talked briefly about the main effect of a predictor and its interaction effect with the other predictors of the model. Now with HANA ML 2.17, you have the ability to visualize the interaction between variables....

In this blogpost I will walk through the steps which are now possible due to the recent enhancements in SAP HANA Cloud Machine Learning Python Client API and demonstrate how a Data Scientist working in Python can generate SAP HANA Machine Learning artifacts for a CAP project consumed by a developer. This helps building a....

Learn how a SAC Planning model can be populated with data coming from custom calculations or Machine Learning. We describe this concept in a series of three blogs: Accessing planning data with SAP Datasphere Create a simple planning model in SAC Make the planning data available in SAP Datasphere, so that it can be used....

Welcome to this technical blog post where we’ll delve into generating SAP Datasphere SQL views from SAP Datasphere remote tables, and subsequently deploying them into SAP Datasphere using the SAP Datasphere Command-Line Client (CLI). Most of the text in this blog consists of the actual Python code that accomplishes this task. Use case Let’s set....

In this blog post, I will share the details on how you can set up a digital badge for yourself using the Pimoroni Badger 2040 – a cool little e-ink device powered by a Raspberry Pi RP2040. I’m very fond of e-ink devices. I like how reading on an e-ink device allows me to focus on the content.....

My name is Novak and in this blog I will share with you the progress that I have made in the field of Linear Programming in SAP Profitability and Performance Management Cloud. Optimization problems can be easily solved on SAP Profitability and Performance Management Cloud using Python Remote Function Adapter which offers huge possibilities to....

The Transmission Control Protocol (TCP) is a widely used protocol that provides a reliable and ordered delivery of data between applications running on different hosts. It serves as the foundation for many technologies and plays a crucial role in modern IT infrastructure. SAP Data Intelligence is a powerful platform that allows you to integrate various....

The (Secure) File Transfer Protocol is still a very common way to integrate files from different sources. SAP Data Intelligence supports many source systems for file operations out of the box. To allow for even more flexibility in the connection to SFTP servers, this blog post shows how to use the Python library Paramiko to....

SAP Data Intelligence offers a powerful feature that allows users to create custom operators using Python. This blog post demonstrates how to access cloud connector resources directly from within the custom Python operator. By combining the Cloud Connector with SAP Data Intelligence Python Operators, users can effortlessly connect to an even wider range of on-premise....

Refer Previous blog : Introducing SAP CPQ Script Plugin in VS Code Step 1 – Follow the steps below to register into the SAP CPQ Script Plugin. Open the browser and log into SAP CPQ. Navigate to Setup — Trusted Applications. Click Add New  Add  SAP CPQ Script Plugin Click Save. Step 2 –  Configure SAP CPQ Environment in VS Code To configure....

On a recent blog post, I discussed creating dynamic tables with Generation 2 graphs.  There was a question on how one can use Structure Table operators like Data Transform or Table Producer with a Kafka operator and Python operator using Generation 1 graphs.   This combination would require the graph to construct a table and use a....

Do you want to externally perform DML operations on your DWC objects, but unable to decide which method to choose? Well this blog is for you to check on the pros and cons of each use case and methods that can help a little on deciding the methods to use for DML operations on DWC.....

You are interested in Natural Language Processing and want to see an example of how to utilize large multi language models for text classification? You are interested in deploying Machine Learning models to the cloud and want to learn about an option to directly run model inference in the SAP BTP, Cloud Foundry Environment? Well,....

In this short blog post, I will share how you can set up your SAP Business Application Studio dev space to run Jupyter notebooks 📓. I personally enjoy working on Jupyter notebooks. It is a quick and simple tool that comes in very handy when exploring data or as a playground to test some python code.....

When we think about a prime number we do it in terms of divisibility properties. Wikipedia. A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. I....

This is part of the Easy way to write algorithms in ABAP: Series 01. For more algorithms, please check the main blog-post. Problem A permutation of an array of integers is an arrangement of its members into a sequence or linear order. For example, for arr = [1,2,3], the following are all the permutations of arr: [1,2,3], [1,3,2], [2, 1, 3],....

I am Jana Milivojević and through this blog I would like to show you the possibilities of SAP Profitability and Performance Management connections with other technologies. Connection between Snowflake and SAP Profitability and Performance Management can be established using both Cloud and On-Premise version. However, in the following example we will be focusing on the....

Hope you are doing great! My name is Novak and I am very pleased to have the opportunity to share with you the progress made in the field of integration of SAP Profitability and Performance Management with other technologies. This blog is a continuation of the story that my colleague Jana Milivojevic described in the previous part of this....

If Google Vertex AI is part of your landscape, you might enjoy the option to use your familiar Google Cloud environment to trigger data processing in your SAP Data Warehouse Cloud / SAP HANA Cloud systems. Connect from Vertex AI (or other Google components) to the data in SAP Data Warehouse Cloud / SAP HANA Cloud and carry out data explorations,....

In my previous blog posts, I wrote about GDAL with SAP HANA driver in OSGeo4W and how it enables GDAL utilities in the command line. During my SAP TechEd community session, we discussed as well the possibility of coding this in Python. “The GDAL project maintains generated Python bindings for GDAL and OGR. Generally speaking, the classes and....

While data is a critical asset for modern businesses, the ability of technology to scale has resulted in a flood of big data. Data management and storage has evolved into a necessary component for modern operational processes. Snowflake, a cloud data warehouse that is lauded for its ability to support multi-cloud infrastructure environments, is one....

In this blog post, I will share details on how to create custom responses and debug python 🐍 functions locally using Visual Studio Code. As the requirements of a function increase in complexity… it is likely that you will need to handle errors, return different status codes, and return different types of payloads. This is to better....

  To best follow this post and try things out yourself, you should: Have some basic knowledge of the Python programming language (PySpark) Have a Data Lake instance provisioned and configured. configure the HANA Data Lake File Container. Have the Instance ID for your Data Lake Instance. Have access to a Jupyter notebook (io).   Overview:....

Dataflow – Python Script Item This blog-post will introduce a helper that facilitates the development and debugging of python script items of SAP Data Warehouse Cloud’s Data Flow. Introduction Assuming the following simple data flow, where the script item should process the Customers data: Upon creation, the follow sample code snipped is added to the script item.....

The blog aims to explore the topic of updating Open Source Library dependencies. Goals are to speed up fixing dependencies with vulnerabilities. And secondary to keep dependencies up to date. By that we can improve productivity, reduce toil and improve security. Open Source got a lot of traction in the last years and many system....

Between April and June 2022 my colleague Stephan and I taught a Python MOOC on the openSAP platform. The course was named Python for Beginners. It was very popular with over 40.000 participants and very well received. Many participants asked the following questions in the forum: Why is SAP teaching Python How can Python be used in the SAP ecosystem What is a possible next step....

SAP BTP capabilities can be used to expose the data as an API or connect it to a database via python application deployed on the platform. The complete process includes to offer easy app deployment and ETL via known connection details through python codes, allowing the data to be refined as per the usage for....

Get creative using SAP Business Technology Platform, Kyma Runtime! Part 3 If you read Part 1 of this blog series, you’ll have seen how I’ve built a simple frontend user interface giving the user the option to select a file and trigger an upload using the Flask Python package and store it in a container in an SAP BTP, Kyma runtime pod....

Marketing campaigns need to be relevant for the recipient, and worthwhile for the sender. It is not worth sending a promotional offer about a product or service if you know that your customer will buy it anyway. It is not worth calling a subscriber to persuade him to maintain his subscription if you know he....

In this article, you will come to know the coolest language for well developing your extension apps and also talk about every BTP buildpacks (programming languages) on how CPU spikes, memory, Disk space usage based on simple web app deployment.. Once your app is deployed and its currently been consumed by every users in your....

Introduction In this new world of BTP, I was wondering whether I can run python applications in the cloud foundry & perform several things like the followings: accessing the data of different systems(S4H On-Premise, ECC, BTP CAP OData services, etc.) via destinations. running python flask applications having multiple functionalities/pages. I have checked a few places....

This article provides the basics of docker and learn how to build an image that runs a Python application in a container. I will show you how to build a custom application for Sales reps – SAP Commissions. Customers/Developers in your org can build your own custom Application to help Sales reps to see what they....

A glimpse of what I’ve learnt about REST API design, and how I think these learning points can be applied to Machine Learning (ML) Engineering   Motivation When I started my first ML engineering project in my current team in SAP, I had no idea that this thing called API design existed. Sure, I went....

I am writing this blog to define HANA tables and upload data to the table using python package hana_ml. Environment Environment is as below. Python: 3.7.13(Google Colaboratory) HANA: Cloud Edition 2022.16 Python packages and their versions. hana_ml: 2.13.22072200 pandas: 1.3.5 scikit-learn: 1.0.2 As for HANA Cloud, I activated scriptserver and created my users.  Though I....

If Dataiku is part of your landscape, you might enjoy the option to use your familiar Dataiku environment to trigger data processing in your SAP Data Warehouse Cloud / SAP HANA Cloud systems. Connect from Dataiku to the data in SAP Data Warehouse Cloud / SAP HANA Cloud and carry out data explorations, preparations, calculations, and Machine Learning. The data remains....

I am writing this blog to show data visualization using python package hana_ml.  DatasetReportBuilder is a EDA function and show report as below.  I used famous titanic dataset, which is easy to understand.   Environment Environment is as below. Python: 3.7.13(Google Colaboratory) HANA: Cloud Edition 2022.16 Python packages and their versions. hana_ml: 2.13.22072200 pandas: 1.3.5 seaborn: 0.11.2(just....

I am writing this blog to show basic classification training procedures using python package hana_ml.  Wtih class UnifiedClassification, you can use several classification algorithms.  Besides, training result can be exported as HTML report easily. Environment Environment is as below. Python: 3.7.13(Google Colaboratory) HANA: Cloud Edition 2022.16 Python packages and their versions. hana_ml: 2.13.22072200 pandas: 1.3.5 scikit-learn:....

I am writing this blog to show basic model management using python package hana_ml.  Wtih class ModelStorage, you can save and load models.  Besides, I show State Enabled Real-Time Scoring Functions for faster prediction process. Environment Environment is as below. Python: 3.7.13(Google Colaboratory) HANA: Cloud Edition 2022.16 Python packages and their versions. hana_ml: 2.13.22072200 pandas: 1.3.5 scikit-learn: 1.0.2....

My last update on the continuing saga of a former ABAP Detective now in private practice hinted at a case. A statement case, as it were. This isn’t the usual evidence chain of some performance or security issue, this is a grammar beat. Background I’m using Python in several recent projects and have observed the....

In this article, you will learn easily to develop a Python flask framework with designing your own SAP UI5 application template which can be tested locally and finally deploy it SAP BTP for users to access. Prerequisites Python Github Repo to clone Cloud Foundry (CLI v7) Let’s Get Started To test locally templates/index.html <!DOCTYPE html>....

In a previous blog post we examined how to add external Python packages that are not included in the default Python operator by using a custom dockerfile. In this blog we will detail how to load functions from a local Python file to be used in Data Intelligence (DI). Prerequisites: Basic Python knowledge Basic knowledge of the Data Intelligence....

Get creative using SAP BTP, Kyma Runtime! Part 1 I’ve recently spent some time working on business applications that leverage a mix of Python and SAP Business Technology Platform. Having picked up some new technical skills I thought it would be great to share these with the community so others can leverage within their own work!....

Hello World! Recently I worked on data-science challenges of my engineering team. During this work, I needed a way to persist a Pandas DataFrame (often known from Jupyter Notebook) in SAP HANA. In this blogpost, I want so share with you how this can be accomplished. The goal is to persist a Pandas DataFrame in....

In this short blog post, I will share how you can use the Python Faker library to generate Business Partner data that you can use on your mock server. A mock server is available as part of the Extending SAP S/4HANA book. The GitHub repository that’s part of the book contains the source code and instructions on....

Docker allows you to use Python and R in containerized environments. You get access to several Pyton3 and R operators out of the box. You will, of course, have to import a few things, such as the base libraries for Python and R. Luckily, the Modeler gives you a predefined runtime environment to download relevant....

I would like to share with you a project I’m starting. The aim of this project is to generate easily a documentation for HANA database module. Motivation One of the projects I was working on has a lot of calculated columns in its calculation views.  Therefore I needed to deliver a proper documentation about these.....

I am writing this blog to show training with APL using python package hana_ml.  With APL, you can automate preprocessing to some extent. Environment Environment is as below. Python: 3.7.14(Google Colaboratory) HANA: Cloud Edition 2022.16 APL: 2209 Python packages and their versions. hana_ml: 2.14.22091801 pandas: 1.3.5 scikit-learn: 1.0.2 As for HANA Cloud, I activated scriptserver....

This is part 2 of the blog on automation of the yard process. In part one, we have seen how the different architectures tie together. In this part, it will be a more in-depth look at the Machine Learning model specifically the digit recognition that is deployed in the microcontroller.  Machine Learning Model One key aspect of....

Qualtrics allows users to create surveys and generate reports without much programming effort. we have faced many requests where customers want to connect Qualtrics in their BTP setup and get real-time feedback/surveys built in their application along with a reporting tool to understand the feedback surveys and take informed decisions in their projects. We implemented....

If you are comfortable with Azure Machine Learning, you might enjoy the option to use your familiar Azure front ends to trigger data processing in your SAP Data Warehouse Cloud / SAP HANA Cloud systems. Connect from Azure to the data in SAP Data Warehouse Cloud / SAP HANA Cloud and carry out data explorations, preparations, calculations, and Machine Learning.....

Hi Everyone, Hope everyone is doing great. In this blog we will learn how to create small Python REST API and deploy the same to SAP BTP, Kyma Environment using Kubernetes, and Docker containerized. There are 2 different options so far I have learned. Using GitHub Package Registry Using Docker Pre-requisites Create SAP BTP Trial/Tier Account....

This is part 2 of my previous post about a tool that can query and bulk-provision various SAP Data Warehouse Cloud artifacts.  The previous post can be found here: link. Since the last post, the Python tool has been published as a repository on the SAP-samples GitHub organization and is available for download.  Please keep in....

How can we leverage Python programming language in SAP infrastructure? – in multiple ways I must say. In this blog we will try to understand how we can establish connection with the database/s and how can we execute some basic queries.   But why Python? Python is easy to learn, flexible, supports connectivity for almost....

This blog demonstrates a simple use of SAP Client for Python with SAP HANA HDI SQL APIs (stored procedures) in an on-premise SAP HANA Database. TL;DR: A simple example of a Python wrapper on top of the SAP HANA Client for Python (https://pypi.org/project/hdbcli/) is provided in the Git repository https://github.com/nklinked/hana-task-runner with one predefined example for containers deletion.....

If Databricks is part of your landscape, you might enjoy the option to use your familiar Databricks front ends to trigger data processing in your SAP Data Warehouse Cloud / SAP HANA Cloud systems. Connect from Databricks to the data in SAP Data Warehouse Cloud / SAP HANA Cloud and carry out data explorations, preparations, calculations, and Machine Learning. The data....

わけあって、パラメータありCDS Viewが HANA上でどう生成されるかを確認しました。 パラメータありCDS Viewを定義します。DDICが生成される少し古いやり方です。 @AbapCatalog.sqlViewName: 'YSAPTEST00' @AbapCatalog.compiler.compareFilter: true @AbapCatalog.preserveKey: true @AccessControl.authorizationCheck: #NOT_REQUIRED @EndUserText.label: 'Test CDS View with parameter' define view YSAP_Test00 with parameters aaa:abap.dats as select from t000 { $parameters.aaa as TEST }   HANAのレイヤではこんなTable Functionが作られています。t-cd:SE11 からDDIC View詳細画面でユーティリティ -> データベースオブジェクト -> 照会で 確認。 CREATE FUNCTION "YSAPTEST00" ( "AAA" NVARCHAR(000008) ) RETURNS TABLE ( "TEST"....

The SOMIX suite is designed to give developers an overview of complex software landscapes. The suite contains extractors that create a model of the software in the SOMIX metamodel format. The SOMIX model is then used by special tools to create visualizations. Software diagrams can become outdated very quickly if they are maintained manually. In....

In continuation to my previous blog: Here. Let us now see if we can utilize Python for some of our real case scenarios. Data is an integral part of business growth and so is the availability of database and validity of backups. Monitoring Database backups and its validation is a part of routine job of SAP Basis....

As our customers adopt SAP Data Warehouse Cloud, we often need to help them set up new users for both training and productive use.  This can be a significant administrative task when there are many users, spaces, connections, and shares needed for each user.  NOTE: SAP provides the SAP Data Warehouse Cloud command line interface (CLI) for....

Motivation This is going to be a short blog. I mean: short. My motivation to write it is because I searched for examples and couldn’t find any. So I hope it will help others. What are Serverless Functions Kyma and the managed offering SAP BTP Kyma runtime offers so-called serverless functions. These are services you can....

This blog demonstrates an approach of collecting information about applications, service instances and other entities from SAP HANA Extended Application Services, Advanced Model (XSA) using XS Controller APIs. TL;DR: The blog provided an overview of a command-line tool that utilizes XS Controller APIs to simplify some of maintenance operations. The tool is based on a....

This article is intended for developers who are working on python development in SAP Business Application Studio can test your code for memory profile. What is are Python memory profilers? Profiling applications always involve issues such as CPU, memory, etc. However, Python applications are prone to memory management issues. This is primarily because Python is applied to....

According to Gartner, “more than 75% of midsize and large organizations use two or more public cloud providers today and have plans to expand.”  Multi cloud strategy helps companies solve issues around cost, security, and regulatory environments, while still providing consumption flexibility and ensuring that enterprises avoid vendor lock-in.  The Multi Cloud Challenge   One of the side-effects of....

Some time ago I wrote about a way to quickly load data from CSV files into SAP HANA table using hana_ml Python package. It became quite a popular post. But it does require running some code to get a file loaded. Recently I was asked if that hana_ml functionality can be wrapped into some kind of UI and made available as an....

SAP Federated-ML or FedML is a library that enables businesses and data scientists to build, train and deploy machine learning models on hyperscalers, thereby eliminating the need for replicating or migrating data out from its original source. If you would like to know more about the FedML library and the data federation architecture of SAP....

In this blog post, I will share how you can leverage an open source project called Diagrams to create architecture diagrams with code. Code to architecture diagram When explaining to others how a system works or communicates with its different parts, it is generally easier to do it visually, e.g. using an architecture diagram. I’ve....

In this article, you can make interactive maps with folium and pandas library using SAP Commission API’s to find out heatmap of Payments been generated in different location Sample Code def index(): start_coords = [48.218871184761596, 11.624819877497147] folium_map = folium.Map(location=start_coords,tiles = "Stamen Terrain", zoom_start=15) #tiles='OpenStreetMap' , tiles='Stamen Toner' , tiles='Cartodb dark_matter' tooltip = "Click Here For....

A comparison between different dependency management tools for Python projects   Introduction Dependency management is an important aspect of any programming project that requires us to use functionalities in external libraries and packages (libraries and packages that do not come with our programming environment by default). Developing complex applications with the Python programming language is....

Last week I switch from using Intel-based MacBook laptop (x86 architecture) to the one with Apple M1 (ARM64 architecture). Recently Mathias Kemeter shared one approach of running hdbcli on an Apple M1 Chip: creating a copy of a terminal app that starts using Rosetta. A look at arch command I tried an alternative approach, that I would like to share here. It does....

The latest release of the Automated Predictive Library (APL) introduces the capability to build several time series models at once from a segmented measure like Sales by Store for example or Profit by Product. No need any more to define a loop in your SQL code or Python code. Just tell APL what column represents....

Common machine learning scenarios such as fraud detection, customer churn, employee flight risk, aim to predict Yes/No outcomes using binary classification models. But sometimes the target to predict has more than just two classes. This is the case of Delivery Timeliness that can have three categories: Early/On-time/Late. From this article you will learn how to....

In my recent project we come across a requirement where we need to connect Node.js with Python. So, I thought of writing a blog on it. In below example we will create a simple service where we run Python script and  show “Hello world from python”. First we need to install python for node modules....

I am excited to share about  our new mission published this week in the SAP Discovery Center,  “Access, Share and Monetize Data with SAP Data Warehouse Cloud”. SAP BTP Startup program “Data-to-Value Track”, an initiative from SAP.iO is supporting startups to become a data provider by leveraging the Data Marketplace for SAP Data Warehouse Cloud. And this mission....

SAP Data Intelligence have some capabilities of extract data from many sources, like SAP ABAP based systems, traditional and nosql databases, streaming tools, API’s and even SAAS 3rd Party solutions, but if you need to extract data from Salesforce, there are no standard operator to achieve these requirement. Because of this, we will see in....

Photo by Geio Tischler on Unsplash   The SAP HANA Client for Python as of now is only available for x86 Macs. While the client team is planning to release universal binaries, you can continue your work in Python also on the M1 by using Apple’s Rosetta technology. There are many descriptions out there, which explain how to run x86 Python....

Quite a number of blogs have been written about how to use SAP Data Intelligence for Machine Learning scenarios. Have a look for example to excellent and very instructive blogs of Andreas Forster. With the 2nd generation operators of SAP Data Intelligence we have got some additional facilitations to create productive training and predication pipelines. In....

Starting with version 2203 of the Automated Predictive Library (APL) intermittent time series are given a special treatment. When the target value has many zeros, typically when the demand for a product or a service is sporadic, APL will no longer put in competition various forecasting models, but it will systematically use the Single Exponential....

Introduction With SAP Data Intelligence release 2110  a new set of operators have been introduced: The generation 2 operators. It is more a leap than a next step that includes not only new features but the fundamental design has also changed. This is a first release of these new type of operators therefore not all properties of....

As Solution Advisors, we often need to create custom datasets to support customer opportunities. We can create more engaging customer experiences if we had more realistic datasets that more closely resembled their own data. Ideally, we would be able to create a dataset of any size easily and able to specify constraints on the data,....

For Solution Advisors who occasionally receive customer datasets to analyze, running descriptive statistics to summarize, describe, and visualize the data is often the first step. In this blog, I will highlight two ways the hana_ml Python library can automatically generate visualizations your SAP HANA Dataset to help you quickly understand your data.  These can serve as handy....

TL;DR – An enterprise ready data science environment in 20 mins! With SAP Business Technology Platform (SAP BTP), data scientists and developers have numerous options to run their data science experiments in the cloud. The best option is SAP Data Intelligence as it enables them to use their Jupyter notebooks and turn these into pipelines. However, for various reasons, organisations may....

As Solution Advisors, we occasionally participate in POCs which require us to receive and analyze real customer data.  Often, the first step to developing an analysis plan is to perform some exploratory data analysis on the data to determine the distribution of values and uniqueness of each column.  Since we are dealing with real customer....