SAP BW - Infoset



In this chapter, we will discuss all about what an Infoset is, how to create and edit them, and what are its different types.

Infoset in SAP BI

Infosets are defined as a special type of InfoProviders where the data sources contain a join rule on the DataStore objects, standard InfoCubes or InfoObject with master data characteristics. Infosets are used to join data and that data is used in the BI system.

When an InfoObject contains time dependent characteristics, then that type of a join between data sources is called as a temporal join.

These temporal Joins are used to map a period of time. At the time of reporting, other InfoProviders handle time-dependent master data in such a way that the record that is valid for a pre-defined unique key date is used each time. You can define a Temporal join as a join that contains at least one time-dependent characteristic or a pseudo time-dependent InfoProvider.

An InfoSet can also be defined as a semantic layer over the data sources.

Uses of an Infoset

Infosets are used to analyze the data in multiple InfoProviders by combining master data characteristics, DataStore Objects, and InfoCubes.

You can use the temporal join with InfoSet to specify at a particular point of time when you want to evaluate the data.

You can use reporting using the Business Explorer BEx on DSO’s without enabling the BEx indicator.

Types of Infoset Joins

As Infoset is defined where data sources contain the join rule on DataStore objects, standard InfoCubes or InfoObject with the master data characteristics. The data joined using Infosets are available to use in BEx queries for reporting. The joins can be divided into the following queries −

Inner Join

This join returns rows when there is a complete match in both the tables.

Table - 1

OrderID CustomerID OrderDate
1308 2 18-09-16
1009 17 19-09-16
1310 27 20-09-16

Table - 2

CustomerID CustomerName ContactName Country
1 Andy Maria Germany
2 Ana Ana T Canada
3 Jason Jason Mexico

The Inner join result on Table 1 and Table 2 on the CustomerID column will produce the following result −

OrderID CustomerName OrderDate
1308 Ana 09-18-16

Left Outer Join

A left outer join, or left join, results in a set where all of the rows from the first, or left hand side, table are preserved. The rows from the second, or right hand side table only show up if they have a match with the rows from the first table.

Table – 1

gid first_name last_name birthday favorite_tool
1 Albert Einstein 1879-03-14 mind
2 Albert Slater 1973-10-10 singlet
3 Christian Slater 1969-08-18 spade
4 Christian Bale 1974-01-30 videotapes
5 Bruce Wayne 1939-02-19 shovel
6 Wayne Knight 1955-08-07 spade

Table – 2

pid gardener_id plant_name fertilizer planting_date
1 3 rose yes 2001-01-15
2 5 daisy yes 2020-05-16
3 8 rose no 2005-08-10
4 9 violet yes 2010-01-18
5 12 rose no 1991-01-05
6 1 sunflower yes 2015-08-20
7 6 violet yes 1997-01-17
8 15 rose no 2007-07-22

Now, if you apply Left Outer Join on gid = gardener_id, the result will be the following table −

gid first_name last_name pid gardener_id plant_name
1 Albert Einstein 6 1 sunflower
2 Albert Slater null null null
3 Christian Slater 1 3 rose
4 Christian Bale null null null
5 Bruce Wayne 2 5 daisy
6 Wayne Knight 7 6 violet

In the same way, you can use the right outer join where all the rows from the right tables are preserved as common rows.

Temporal Join

Temporal Joins are used to map a period of time. At the time of reporting, other InfoProviders handle time-dependent master data in such a way that the record that is valid for a pre-defined unique key date is used each time. You can define Temporal join that contains at least one time-dependent characteristic or a pseudo time-dependent InfoProvider.

Self Join

When a table is joined to itself, which is like you are joining a table twice.

Creating an InfoSet

Go to RSA Workbench and use the Transaction Code: RSA1

RSA1 Workbench

Under Modeling → Go to InfoProvider tab → Right click → Create InfoSet.

Create InfoSet

In next window that comes up, you can fill in the following fields −

  • Enter the Technical Name.
  • Enter the long name and short name.

Start with the InfoProvider section − Here you can define the object that you want to use while defining an InfoSet. You can select from following object types −

  • DataStore Object
  • Info Object
  • InfoCube
InfoProvider Section

In the next window, change how the InfoSet screen appears. Click on Select InfoProvider option. This will allow you to select the InfoProvider to which data is joined.

InfoSet Screen

Insert InfoObject

The following screen will appear with two InfoProviders selected.

Two InfoProviders

To activate this InfoSet, click on the Activate button.

Change Infoset Test

Editing an Infoset

To edit an Infoset, please use T-Code: RSISET

RSISET

The Edit InfoSet: Initial Screen appears as shown in the following screenshot −

Edit Infoset

Make the changes to the InfoSet. Select Join type, etc. and then Click on the Activate icon as shown in the following screenshot.

Change Infoset
Advertisements