In this blog article, I'd like to take a closer look at the different connection types within SAP Analytics Cloud (SAC).
SAP hosts SAC in its own data centers and the customer has the option to determine from which data center the cloud is to be obtained. Essentially, there are two use cases: live connections to an SAP system and import connections (from SAP or third-party systems) where the data is stored in the cloud. Since there are three different connection options when creating the model, they are equally subdivided in this article.
Connection options for importing data
Within SAC, there are three different ways to import data into the system:
- Local file
- Import connection
- Live Data connection
Before I introduce the connection types, the component Model should first be examined more closely. In the context of SAP Analytics Cloud, this component represents the data basis. The three connection types presented here are saved as models. Basically, a model can be seen as a data source for a dashboard in SAP Analytics Cloud because it summarizes and provides the data. A model created once can also be used multiple times in different dashboards.
Connection type 1 - local file
A local file is an Excel or CSV file that can be imported into SAC. This connection can be useful if data is to be visualized at short notice and integration (for example into your own SAP BW) takes too much time. Planning data or data from third party (/non SAP) systems to which no connection is possible represent another possibility. Furthermore, this application case is interesting for users from the specialist area who are less technically experienced. An update function is possible and can therefore integrate new data at the push of a button.
Another interesting use case is for power users who want to link or dazzle models created by IT with a live data connection and a local Excel file. As mentioned at the beginning, this data is stored in the cloud.
Connection type 2 - data import connections
A data import connection is an imported connection from a system. This can be, for example, a BEx query or a HANA calculation view from an SAP system that is limited to selected filters/variables, key figures, and dimensions. Thus, the connection refers to a section of a query and the data is stored from the system in the cloud. You are probably wondering how current data can be loaded into the model? There is a data management in the models in which you can schedule regular updates (import jobs). In addition, an update is possible at the push of a button.
Note on the two import connections: The data is stored in the cloud. For sensitive data, coordination within the company is usually necessary.
Connection type 3 - Live data connection
As the name suggests, this connection refers to a real-time connection to a system. At this point, data is obtained directly from the system. Variables can be filtered at the beginning, reducing the amount of data to be transmitted. Performance depends heavily on query performance. With an SAP BEx query, the performance can be influenced by calling the query, adjusting key figures and dimensions, and filtering. This results in long loading times. Changes within the data basis have an immediate effect on the data displayed in the dashboard due to these connection types.
Note about this connection type: With a live connection, no data leaves your corporate network. Only metadata is exchanged with the cloud.
There are different authorization concepts for the connection types, which I will introduce you to below.
There are two different types of authorizations: Storage of data in the cloud and live connections.
Import connection (acquired data)
As already mentioned, local files, imported data from an SAP system, or data from supported third-party systems can all be loaded into the cloud. SAP Analytics Cloud uses its own authorization concept for this purpose. In this way, authorizations for:
- Dashboards (Stories, Analytical Applications)
- data connections
can be assigned. If a user has access to a dashboard, this does not mean that he can see the embedded data (models). Data can only be displayed by activating the corresponding model. Ideally, the dashboard and the models used are located in one folder and are thus bundled and released. If you upload data, you are primarily the owner of these files and assign the permissions. If you import files (for example, from a BEx query), an authorization check is performed against your SAP authorizations in SAP BW during creation. However, as soon as the data is in the cloud, the SAC concept takes effect and the system check is no longer necessary. In addition to simple write and read authorizations for models and dashboards, SAC provides extensive authorization options (such as using filters, adjusting data connections, and so on).
For a live connection to the SAP system, the authorization check of the system from which data is to be read for real-time takes effect in addition to the story authorizations in SAC. As soon as a connection is established, the user is asked for his logon data in a popup. The system check then runs in the background.
No general recommendation can be made at this point, as the respective application scenario must be examined more closely:
Storage of data
In each specific application, it must be decided to what extent data may be stored in the cloud and what makes sense from a modeling point of view. SAC does not replace a data warehouse. I do not want to discuss the use and security of cloud services at this point, but merely provide a suggestion. Different technologies, which are hosted in the cloud, are often used for the systems used. These technologies can then be used for the transfer of files, whereby the (intermediate) storage also takes place in the cloud. Ultimately, it is an interpretation of the strategy. However, critical data should still be considered separately. On the other hand, data in the cloud can be available faster and perform better.
Timeliness of the data
If you need real-time data, a live data connection makes sense. However, if it is sufficient for data to be updated on a regular (e.g. weekly) basis, you can use a data import connection that schedules an automatic update.
With the live data connection, the authorizations can be validated very finely granularly by the SAP system. When using models or dashboards in the cloud, SAC's authorization concept is inevitably used. In connection with a live connection, users do not have the option of displaying blocked content.
However, if a data import connection is used for modeling reasons, uniform authorization concepts must be worked out. One solution could be for the IT department to create and release models centrally. However, I have so far hoped that SAP will add to the data import connections and integrate a server-side check. This would largely eliminate the need for authorization checks for data in the cloud.
I consider the authorization concept for imported data (in this case related to local files) to be useful. This means that an authorization check is also added for local data and not every person in the company can automatically access this data as long as the data and evaluation are not yet to be communicated.
With the live data connection, no filtering options are available during model creation. It is only possible to filter the query by selecting variables.
If the query performance plays a greater role, this can be improved by an import connection. To do this, selected filters/variables, key figures, and dimensions can restrict the query. It is also possible to outsource calculations and transformations to the cloud, which further reduces the query. At this point, however, I would like to refer to the point where the data is up to date.