0% found this document useful (0 votes)
124 views187 pages

IBC Exercises SolutionsDataEngineer

The document provides training on how to connect Celonis' Intelligent Business Cloud to an on-premise SQL database and extract data. It instructs the user to create a data pool and connection in the Event Collection interface, then build an extraction job to pull specific tables from the training database, including transactional data and metadata tables for translation. The extraction job configuration allows filtering columns and rows during the extract.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views187 pages

IBC Exercises SolutionsDataEngineer

The document provides training on how to connect Celonis' Intelligent Business Cloud to an on-premise SQL database and extract data. It instructs the user to create a data pool and connection in the Event Collection interface, then build an extraction job to pull specific tables from the training database, including transactional data and metadata tables for translation. The extraction job configuration allows filtering columns and rows during the extract.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 187

CELONIS

INTELLIGENT
BUSINESS CLOUD

Data Engineer Online Training


IBC Data Engineer Training

1. Infrastructure – Understand the basics of the Event Collection


1. Which systems can be connected to the Intelligent Business Cloud?
• On-premise source systems [true]
• Cloud systems [true]
• On-premise databases [true]

2. Why is a Connector needed to facilitate the connection between an on-premise source system and the Intelligent Business Cloud?
• On-premise systems typically can’t communicate with external applications. [true]
• The Intelligent Business Cloud can’t communicate directly with other systems. [false]
• The Connector allows for a more stable and performant way to extract data. [true]

3. Which of the following statements is/are true?


• The Connector can synchronize data with the Intelligent Business Cloud in an asynchronous way. [true]
• A dedicated Connector server is needed to connect the Intelligent Business Cloud to another Cloud system. [false]
• To connect to an On-premise source system a Connector needs to be set up in the network of the Intelligent Business Cloud. [false]

2
IBC Data Engineer Training

2. Connect to source system (1/2)

1. Access your training team in the Intelligent Business Cloud as described in the video and navigate to Event Collection. The source system
we are using in this training is a MS SQL database. Please follow the instructions below step by step to connect to the training source
system:

• Create a new Data Pool and give it a proper name.


• Enter the newly created Data Pool and click on “Data Connections”
• Create a new Data Connection.
• Choose the on-premise database connector.
• Give your connection a proper name.
• Insert the following Connection Details:
• Connection type: Direct
• Type: Microsoft SQL Server (native)
• Server Name: 3.120.99.40
• Port: 1433
• Database Name: celonis
• Maximum Parallel Table Extractions: 1
• Schema Name: Training
• Username: Training_CelonisDataEngineer
• PW: Celonis123!
• Click on “Save”.

3
IBC Data Engineer Training

1
Access the Event
Collection…

2
… and create a
new Data Pool.
IBC Data Engineer Training

1
Name it
accordingly…
2
… and click on
“Save”.
IBC Data Engineer Training

Go to the data
connections.
IBC Data Engineer Training

Click on “New
Data Connection”.
IBC Data Engineer Training

Create the connection to


the training database.
IBC Data Engineer Training

1
Give the data
connection a
unique name…

2
… and choose “Microsoft
SQL Server (native)”.
IBC Data Engineer Training

Enter all given


information…

2
… and click on
“Save”.
IBC Data Engineer Training

C
The connection has
been set up properly.
IBC Data Engineer Training

2. Connect to source system (2/2)


2. Which of the following statements is/are true?

• Connections are always secured via HTTPS. [true]


• Celonis always performs read-only operations on other systems. [true]
• Data Connections are the main structural element in the Event Collection which structure all other elements like Data Pools. [false]

12
IBC Data Engineer Training

3. Get to know the training data (1/2)


For a great overview of all SAP tables, visit the following websites: http://leanx.eu/en/sap/table/search or http://www.sapdatasheet.org/abap/tabl/

1. Which information does the table EKKO contain?


• Purchase Requisition Items: Shows what (material, quantity,…) has been requested. [false]
• Purchasing Document Header: Shows which purchase orders have been created. [true]
• Purchasing Document Item: Shows which purchase order items have been created. [false]
• Vendor Master: Shows which suppliers are being used. [false]

2. Which information does the table EBAN contain?


• Purchase Requisition Items: Shows what (material, quantity,…) has been requested. [true]
• Purchasing Document Header: Shows which purchase orders have been created. [false]
• Purchasing Document Item: Shows which purchase order items have been created. [false]
• Vendor Master: Shows which suppliers are being used. [false]

3. Which table contains information about the vendors?


• EKKO [false]
• LFA1 [true]
• EBAN [false]
• EKPO [false]

4. What is the purpose of a primary key?


• The primary key is a field that uniquely identifies each record in a database table. [true]
• The primary key connects different tables in a database. [false] 13
IBC Data Engineer Training

3. Get to know the training data (2/2)


5. Which fields are the primary keys of table EKKO?
• MANDT (Client) [true]
• LIFNR (Vendor Account Number) [false]
• BUKRS (Company Code) [false]
• EBELN (Purchasing Document Number) [true]

6. Which tables can be used for translating the technical table and column names?
• CDPOS [false]
• CDHDR [false]
• DD02T [true]
• DD03M [true]

7. When changing both the quantity and the price of a purchase order item and saving the changes with one click, how many rows are
created in CDPOS and CDHDR?
• One in CDPOS, one in CDHDR [false]
• Two in CDPOS, one in CDHDR [true]
• One in CDPOS, two in CDHDR [false]
• Two in CDPOS, two in CDHDR [false]

14
IBC Data Engineer Training

4. Extract data – Understand Event Collection Structure


1. Which of the following statements is/are true?
• Inside a single Data Job you can create multiple execution and transformation tasks. [true]
• One Data Job can host multiple Data Connections. [false]
• The main structural element of the Event Collection is the Data Pool. [true]

2. Which of the following statements is true?


• The general methodology of connecting a process differs considerably for different processes and source systems. [false]
• The general methodology of connecting a process is applicable to any process and source systems. [true]

15
IBC Data Engineer Training

5. Extract data – Create Extractions (1/5)


Enter the data pool you created in the Event Collection and follow the instructions to create your first data job:
• Navigate to “Data Jobs” and click on “New Data Job”.
• Give the job a proper name and select the Data Connection you set up previously.
• Click on “New Extraction” and give your extraction a proper name.
• Add the following tables to your extraction and click on “Save”:
• EKKO
• EKPO
• EBAN
• LFA1
• CDHDR
• CDPOS
• DD02T
• DD03M

1. Which of the options are available to configure the extraction for each table?
• Option to only extract specific columns [true]
• Option the pseudonymize specific columns [true]
• Option to change the data type during the extraction [true]
• Option to set a filter statement to restrict the data extract [true]

16
IBC Data Engineer Training

1
Navigate to
“Data Jobs”…

2
… and click on
“New Data Job”.
IBC Data Engineer Training

1
Give it a proper
name …

2
… and select the Data
Connection you set up
previously.
IBC Data Engineer Training

Let’s create a new


extraction task.
IBC Data Engineer Training

Name the extraction


task accordingly and
click on “Save”.
IBC Data Engineer Training

Click on “Add Tables” to choose


the tables from the connection
that you want to extract.
IBC Data Engineer Training

1
Choose the
tables listed in
the exercise… 2
… and click on “Save”.
IBC Data Engineer Training

C
On the left you can see
all the tables you
selected before. Let’s
move on and define the
filters for the extraction!
IBC Data Engineer Training

5. Extract data – Create Extractions (2/5)


Specify the “Filter Statements” for each of the tables as described below:

• EKKO
• Filter Statement:
AEDAT >= 01.06.2014 00:00
• EKPO
• Join table EKKO
• Custom join condition:
EKPO.MANDT = EKKO.MANDT AND
EKPO.EBELN = EKKO.EBELN
• Filter on joined table:
EKKO.AEDAT >= ‘01.06.2014’

2. Why does it make sense to join table EKKO in the extraction of table EKPO?
• If we do not join the tables, they can’t be connected in our data model later on. [false]
• Because we only want to extract Purchase order items for which we also extracted the corresponding purchase order. [true]

24
IBC Data Engineer Training

2
… and open the
time filter.
1
The first table we
want to adjust is
EKKO. Click on it …
IBC Data Engineer Training

1
Activate the creation
date filter …

2
… and choose
the field AEDAT.
IBC Data Engineer Training

Enter the date that is


given in the exercise.
IBC Data Engineer Training

Make sure to save these


settings before going to
the next table!
IBC Data Engineer Training

2
... and tick the box
to join this table
with EKKO.

1
Choose table
EKPO …
IBC Data Engineer Training

Click on “Add Join”.


IBC Data Engineer Training

1
Enter the table
EKKO…
2
… specify the
join condition…

3
… enter the same
time filter as before…

4
… and click on
“Save”.
IBC Data Engineer Training

5. Extract data – Create Extractions (3/5)


Specify the “Filter Statements” for each of the tables as described below:

• EBAN
• Filter Statement:
BADAT >= 01.04.2014
• LFA1
• No configuration needed → Extract full table

3. Why do we use a different date for the Filter Statement of table EBAN compared to the Filter Statement of table EKKO?

• Purchase Orders which were created on the 01.06.2014 most likely have a purchase requisition which was created on an earlier point
in time. This is why we extract all Purchase Requisitions which were created two months in advance of our first Purchase Order as
well. [true]
• It is always better to extract as much data as possible to keep the load times at a minimum. [false]

4. Why don’t we apply a Filter Statement for table LFA1?

• LFA1 doesn’t contain a date on which the table records were created. [false]
• LFA1 is the Vendor Master table and it doesn’t make sense to filter on the creation date of the table records. [true]

32
IBC Data Engineer Training

2
We can use the creation
date filter again …

1
The next table we
configure is EBAN.

3
… and choose
the field BADAT.
IBC Data Engineer Training

1
Enter the
correct date …

1
… and click on
“Save”.
IBC Data Engineer Training

C
We can leave the
settings for LFA1 as they
are as we want to
extract the whole master
data table.
IBC Data Engineer Training

5. Extract data – Create Extractions (4/5)


Specify the “Filter Statements” for each of the tables as described below:

• CDHDR
• Filter Statement:
UDATE >= 01.06.2014
• CDPOS
• Custom join condition:
CDPOS.MANDANT = CDHDR.MANDANT AND
CDPOS.OBJECTCLAS = CDHDR.OBJECTCLAS AND
CDPOS.OBJECTID = CDHDR.OBJECTID AND
CDPOS.CHANGENR = CDHDR.CHANGENR
• Filter on joined table:
• CDHDR.UDATE >= ‘01.06.2014’

5. Why do we set up the Filter Statement CDHDR.UDATE >= ‘01.06.2014’?

• Because we only want to extract Changes which occurred after or on the 01.06.2014. [true]
• Because we only want to extract Purchase Orders which went through at least one change. [false]

36
IBC Data Engineer Training

1
Click on CDHDR …

2
… enable the
creation date filter …

3
… and choose
UDATE.
IBC Data Engineer Training

Always make sure


to click on “Save”.
IBC Data Engineer Training

1
Open the configuration 2
of CDPOS … … tick the box …

3
… and add the
join.
IBC Data Engineer Training

Enter the name of


the joined table, the
join condition and
the date filter
statement as before.
IBC Data Engineer Training

Don’t forget to
click on “Save”.
IBC Data Engineer Training

5. Extract data – Create Extractions (5/5)


Specify the “Filter Statements” for each of the tables as described below:

• DD02T
• No configuration needed → Extract full table
• DD03M
• No configuration needed → Extract full table

6. Which of the following statements is/are true?

• Name Mapping tables like DD02T and DD03M are one of the larger tables in a source system and typically take a long time to extract. [false]
• Name Mapping tables like DD02T and DD03M are one of the smallest tables in a source system and typically take only a few seconds to
extract. [true]

7. Exit the extraction task and execute the entire Data Job! Which information can you derive from the logs?

• Execution Date [true]


• Load time [false]
• Schedule Name [true]
• User [false]
• Status [true]

42
IBC Data Engineer Training

2
… so let’s go back to the
data job overview.

1
For both DD02T and
DD03M we don’t have
to set any filters …
IBC Data Engineer Training

Click on “Execute
Data Job”.
IBC Data Engineer Training

1 2
Make sure to … and press the
reload all data … execution button.
IBC Data Engineer Training

C
In the logs you can
monitor the execution of
every task.
IBC Data Engineer Training

6. Extract data – Extraction Logic


1. Which of the following statements is/are true for the communication between the Intelligent Business Cloud and an on-premise source
system?
• Every source system uses the same export mechanism. [false]
• The on-premise connector transforms all files into parquet files before it sends the files to the Intelligent Business Cloud. [true]
• The communication between the systems always starts with the on-premise connector establishing a connection to the Intelligent
Business Cloud. [true]
• The Intelligent Business Cloud can directly communicate with an on-premise source system. [false]

2. Which of the following statements is/are true for the communication between the Intelligent Business Cloud and another cloud system?
• The Cloud Connector of the Intelligent Business Cloud establishes a connection to the other Cloud System via public API endpoints of
the Cloud Service. [true]
• The Data Engineer defines which tables to extract in the Cloud Connector interface. [false]
• The Celonis data storage transforms all files to parquet files. [false]

47
IBC Data Engineer Training

7. Understand the concept of the Activity table


1. Is the Activity Table mandatory for process mining?
• Yes [true]
• No [false]

2. Which columns could reasonably be added to the Activity Table?


• Sorting [true]
• User type [true]
• Purchase quantity [false]
• Vendor information [false]
• General arbitrary activity-specific attributes [true]

3. Which component(s) does the Celonis data model consist of?


• Only the Activity table [false]
• Multiple Activity tables from different source systems [false]
• Only master tables [false]
• One Activity and arbitrarily many master data tables [true]
IBC Data Engineer Training

8. Validate the data extract


Before we continue with creating the activity table, we quickly want to validate the data you extracted earlier. Create a new transformation task
and get familiar with the SQL workbench. To validate the data, please count the records of every of your extracted tables.

Hint: You can use the SQL statement “SELECT COUNT (*) FROM TABLENAME”;

1. How many table records does the table EKKO contain?


• 28500 [false]
• 14067 [true]
• None of the numbers above [false]

2. How many table records does the table EKPO contain?


• 35820 [false]
• 28360 [true]
• None of the numbers above [false]

3. How many table records does the table EBAN contain?


• 137 [true]
• 679 [false]
• None of the numbers above [false]

49
IBC Data Engineer Training

Click on “New
Transformation”.
IBC Data Engineer Training

1
Give the task a
proper name …

2
… and click on
“Save”.
IBC Data Engineer Training

Insert the SELECT COUNT(*) FROM


statement to count the entries in
the respective table.
IBC Data Engineer Training

Select the line and


click on “Execute”.
IBC Data Engineer Training

The exact number


is displayed here.
IBC Data Engineer Training

C
Adjust the statement for
EKPO and execute it again.
IBC Data Engineer Training

C
Adjust the statement for
EBAN and execute it again.
IBC Data Engineer Training

8. Validate the data extract


4. How many table records does the table LFA1 contain?
• 2058 [true]
• 5280 [false]
• None of the numbers above [false]

5. How many table records does the table CDHDR contain?


• 23004 [false]
• 17002 [true]
• None of the numbers above [false]

6. How many table records does the table CDPOS contain?


• 34648 [true]
• 45203 [false]
• None of the numbers above [false]

7. How many table records does the table DD02T contain?


• 18 [true]
• 20 [false]
• None of the numbers above [false]

57
IBC Data Engineer Training

C
Adjust the statement for
LFA1 and execute it again.
C
Adjust the statement for
CDHDR and execute it again.
C
Adjust the statement for
CDPOS and execute it again.
C
Adjust the statement for
DD02T and execute it again.
IBC Data Engineer Training

8. Validate the data extract


8. How many table records does the table DD03M contain?
• 1474 [true]
• 2100 [false]
• None of the numbers above [false]

In case you got one of the questions wrong, please use the solutions in the next section to correct your extraction task and run the extraction
again. When running the extraction again, please make sure to activate the toggle “Reload all data”. By activating this toggle all existing data is
deleted and you won’t receive any duplicates.

62
IBC Data Engineer Training

C
Adjust the statement for
DD03M and execute it again.
IBC Data Engineer Training

9. Transformation - Build up Activity Table (1/4)


Please delete the transformation task you created to validate the data and create a new transformation task called “Create Activity Table”.
Open the attachment SQL code and copy it to your transformation, to create an Activity Table. Run the code.

1. When creating an Activity Table, which fields must always be included?


• Case Key [true]
• Sorting [false]
• Activity name [true]
• Event Time [true]
• Change Information [false]

64
IBC Data Engineer Training

Open the menu for


the validation task.
IBC Data Engineer Training

Click on “Delete”.
IBC Data Engineer Training

Let’s now create a


new transformation.
IBC Data Engineer Training

1
Give it a proper
name …

2
… and click on
“Save”.
IBC Data Engineer Training

Insert the SQL Code


from the attachment.
IBC Data Engineer Training

Select the lines and


click on “Execute”.
IBC Data Engineer Training

You can see that the


Activity Table has been
created successfully.
IBC Data Engineer Training

1
If you click on the
“Refresh” button, …

2
… you can see the table
and all its columns in
your Schema Explorer.
IBC Data Engineer Training

9. Transformation - Build up Activity Table (2/4)


Create a second transformation task and name it “Insert Activity: Create Purchase Requisition Item”. Open the attachment, which contains the
code to create the activity Create Purchase Requisition, and paste it into the transformation. Run the code and have a look at the output.

2. How many activities were added to your activity table?

• 136 [true]
• 2340 [false]
• 417 [false]
• None of the above [false]

3. Now, create a new transformation for the activity Create Purchase Order Item. Use the code for the first activity as guideline. Which tables
do you need for the activity "Create Purchase Order Item"?

• EKPO [true]
• EKKO [true]
• LFA1 [false]
• EBAN [false]

73
IBC Data Engineer Training

Let’s create a new


transformation.
IBC Data Engineer Training

1
Insert a name …

2
… and click on
“Save”.
IBC Data Engineer Training

Insert the SQL Code


from the attachment.
IBC Data Engineer Training

Select the lines and


click on “Execute”.
IBC Data Engineer Training

The code has been executed


successfully and 136 rows have
been added to the Activity Table!
IBC Data Engineer Training

9. Transformation - Build up Activity Table (3/4)


4. Now, we need to join the tables EKKO and EKPO. Which are the foreign keys to join the tables?
• Vendor Number (EKPO.LIFNR = EKKO.LIFNR) [false]
• Client (EKPO.MANDT = EKKO.MANDT) [true]
• Purchase Order Item (EKPO.EBELP = EKKO.EBELP) [false]
• Purchase Order Number (EKPO.EBELN = EKKO.EBELN) [true]

5. Is it necessary to include any restrictions (WHERE clause) when adding the activity "Create Purchase Order Item"?
• Yes. The purchasing document category needs to be a purchase requisition (EKKO.BSTYP='B’) [false]
• Yes. The purchasing document category needs to be a purchase order (EKKO.BSTYP='F’) [true]
• No. No restrictions are needed. [false]

6. Which fields should be selected as Case Key for the activity "Create Purchase Order Item"?
• LIFNR (Vendor Number) [false]
• MANDT (Client) [true]
• EBELN (Purchasing Document Number) [true]
• EBELP (Purchasing Document Item Number) [true]

7. Which field should you select as event time for the activity "Create Purchase Order Item"?
• FRGDT (Purchase Requisition Release Date, table EBAN) [false]
• ERDAT (Date on which vendor record was created, table LFA1) [false]
• AEDAT (Date on which purchase order item record was created, table EKKO) [true]
• BEDAT (Purchasing Document Date, table EKKO) [false]
79
IBC Data Engineer Training

9. Transformation - Build up Activity Table (4/4)

8. Given the current sorting 10 for "Create Purchase Requisition Item", which sorting value is appropriate for the activity "Create Purchase
Order Item"?
• 0 [false]
• 5 [false]
• 10 [false]
• 20 [true]

8. Run the script to insert the activity “Create Purchase Order Item”. How many rows were added to the Activity Table?
• 27,937 [true]
• 3,860 [false]
• 25,390 [false]
• 1,210 [false]

80
IBC Data Engineer Training

1
Create a new
transformation,
insert a meaningful
name …
2
… and click on
“Save”.
IBC Data Engineer Training

Write the correct


SQL script.
IBC Data Engineer Training

Select the code and


click on “Execute”.
IBC Data Engineer Training

27,937 rows have been


added to your Activity Table.
IBC Data Engineer Training

10. Set up Data Model (1/2)


1. Navigate to “Process Data Models” and create a new Data Model. Give it a proper name and click on “Save”. Select the Activity Table you
created previously and click on it, to configure the process. Which column should you select as Case ID? Please click on the column.
• _CASE_KEY [true]
• EVENTTIME [false]
• _ACTIVITY_EN [false]

2. Which columns should you select for the characteristics activity and timestamp, respectively? Please select the right columns. Then skip
the sorting column and click on “Finish”.
• _CASE_KEY [false]
• EVENTTIME [true]
• _ACTIVITY_EN [true]

3. Where can you a posteriori change the specification (case key, activity column etc.) of the Activity Table? Specify the Sorting Column and
click on “Save”.
• By clicking on the three dots on the Activity Table and then clicking on “Edit” [false]
• By clicking on the three dots on the Activity Table and then clicking on “Edit activity columns” [true]
• "Name mapping" tab in the data model editor [false]

4. In which tab(s) in the data model editor can you do a complete reload of the data model? Please do so.
• Permissions [false]
• Calendar [false]
• Data Loads [true]
• Model [false] 85
IBC Data Engineer Training

1
Go to “Process
Data Models” …

2
… and create a
new Data Model.
IBC Data Engineer Training

1
Name the Data
Model reasonably …

2
… and click on
“Save”.
IBC Data Engineer Training

Choose your newly created


Activity Table in order to
add it to your Data Model.
IBC Data Engineer Training

Click on “Next”.
IBC Data Engineer Training

Now you have to


choose the Activity
Table. As you only
selected one table, this
is quite easy.
IBC Data Engineer Training

First, we have to select


the Case ID column.
IBC Data Engineer Training

Click on the left


column to choose
the Case ID.
IBC Data Engineer Training

The Activity Name can be


found in the second column.
IBC Data Engineer Training

1
The third column contains
the timestamp.

2
Skip the other steps
and click on “Finish”.
IBC Data Engineer Training

Later changes can be


made here.
IBC Data Engineer Training

Click on “Edit
activity columns”.
IBC Data Engineer Training

Specify the
sorting column.
IBC Data Engineer Training

Click on “Data Loads” to


force a complete reload.
IBC Data Engineer Training

Let’s do the
complete reload.
IBC Data Engineer Training

C
Wait until the tables
have been loaded
successfully.
IBC Data Engineer Training

10. Set up Data Model (2/2)


Load the data model. Navigate to Process Analytics and create a new workspace. Connect your data model from Event Collection and click on
“finish”. Create a new analysis and add a process explorer to answer the following questions:

5. How many purchase order items were created?


• 27.937 [true]
• 28.073 [false]
• 24.346 [false]
• 23.427 [false]

6. How many cases start with the creation of the purchase requisition item?
• 349 [false]
• 421 [false]
• 136 [true]
• 260 [false]

7. What is the average throughput time between purchase requisition item and purchase order item creation?
• 20 days [false]
• 27 days [false]
• 25 days [true]

101
IBC Data Engineer Training

2
1 … and click on
Switch to “New Workspace”.
“Process Analytics” …
IBC Data Engineer Training

2
... select your Data
Model…
1
Choose the Data Pool
you created earlier…

3
… and click on
“Connect”.
IBC Data Engineer Training

1
Give your Workspace a
proper name… 2
… and click on
“Create”.
IBC Data Engineer Training

Create a new
analysis.
IBC Data Engineer Training

1
Give your analysis a
proper name … 2
… and create it.
IBC Data Engineer Training

Click on the
analysis to open it.
IBC Data Engineer Training

Simply add a full screen Process


Explorer to your analysis.
IBC Data Engineer Training

27,937 purchase order


items were created.
IBC Data Engineer Training

2
… and you can see that for 136
purchase order items the process
starts with the creation of the
purchase requisition item. 1
Move the slider
up …
IBC Data Engineer Training

Change the metric


to average
throughput time…
IBC Data Engineer Training

…and you see that the average throughput time


between purchase requisition item and purchase order
item creation is 25 days.
IBC Data Engineer Training

11. Transformation - Extend Activity Table (1/6)


1. Which SAP table(s) contain(s) information about the change history of many tables?
1. CDPOS (Change Document Items) [true]
2. CDHDR (Change Document Header) [true]
3. EKBE (History per Purchasing Document) [false]
4. EKPO (Purchasing Document Items) [false]

2. Which table stores the name of the table and column that has been changed?
• CDPOS (Change Document Items) [true]
• CDHDR (Change Document Header) [false]

3. Which table stores the username who conducted the change?


• CDPOS (Change Document Items) [false]
• CDHDR (Change Document Header) [true]

113
IBC Data Engineer Training

11. Transformation - Extend Activity Table (2/6)


Create a new transformation task called “Insert Activity: Change Price”. Open the attached code for the activity “Change Price” and paste it in the
transformation task. Run the code.

4. Have a look at the output, how many activities have been added to the activity table?
• 57 [true]
• 602 [false]
• 77 [false]
• 31 [false]

Create another transformation task (“Insert Activity: Change Quantity”) and write the code for the activity "Change Quantity". Answering the
following questions will help you accomplish this:

5. Which tables do you have to join for creating the activity "Change Quantity"?
• EKKO [true]
• CDPOS [true]
• CDHDR [true]
• EKPO [true]
• EKBE [false]
• LFA1 [false]

114
IBC Data Engineer Training

Let’s create a new


transformation.
IBC Data Engineer Training

1
Name it
accordingly …

2
… and click on
“Save”.
IBC Data Engineer Training

Insert the
attached code.
IBC Data Engineer Training

Select the code and


press “Execute”.
IBC Data Engineer Training

57 price changes
have been added to
the Activity Table.
IBC Data Engineer Training

11. Transformation - Extend Activity Table (3/6)


6. Which columns in both tables have to be used for linking the tables CDPOS and CDHDR? Hint: You can get information about the tables
here: https://leanx.eu/en/sap/table/search
• MANDANT [true]
• TABNAME [false]
• CHANGENR [true]
• TCODE [false]

7. You already know how to link the pairs EKPO/EKKO and CDPOS/CDHDR. How can you link the change tables to the purchasing tables?
• Connect CDPOS and EKPO [true]
• Connect CDPOS and EKKO [false]
• Connect CDHDR and EKPO [false]
• Connect CDHDR and EKKO [false]

8. Which CDPOS columns do you have to consider for joining the table to the changed purchase order items in EKPO?
• TABNAME [true]
• CHANGENR [false]
• TABKEY [true]
• VALUE_NEW [false]

120
IBC Data Engineer Training

11. Transformation - Extend Activity Table (4/6)


9. How does the join condition for CDPOS.TABKEY look like?
Hint: After you have joined the change tables with EKPO, don't forget to join table EKKO, just like you did when creating the activity
"Create Purchase Order Item".
• CDPOS.TABKEY = EKPO [false]
• CDPOS.TABKEY = EKPO.EBELP [false]
• CDPOS.TABKEY = EKPO.EBELN [false]
• CDPOS.TABKEY = EKPO.MANDT || EKPO.EBELN || EKPO.EBELP [true]

10. In the WHERE clause of the activity SQL statement, we already restrict the selection to EKKO.BSTYP='F'. Which other columns have to be
restricted when looking at quantity changes?
• EKPO.MENGE [false]
• CDPOS.FNAME [true]
• CDPOS.VALUE_OLD [false]
• EKPO.NETPR [false]

11. Where is the information on the purchase quantity of a given purchase order item stored?
• EKPO.NETPR [false]
• EKPO.MENGE [true]
• EKPO.MEINS [false]
• EKKO.MENGE [false]

121
IBC Data Engineer Training

11. Transformation - Extend Activity Table (5/6)


12. How does the restriction for CDPOS.FNAME look like?
• CDPOS.FNAME = 'MENGE’ [true]
• CDPOS.FNAME = EKPO.MENGE [false]
• CDPOS.FNAME = 'EKPO’ [false]
• CDPOS.FNAME = 'Changes’ [false]

13. Let’s focus on the SELECT part of the statement. What to use as case key?
• CDHDR.CHANGENR [false]
• CDPOS.TABNAME + CDPOS.FNAME [false]
• EKKO.MANDT + EKKO.EBELN [false]
• EKPO.MANDT || EKPO.EBELN || EKPO.EBELP [true]

14. Which value should you use for the activity column?
• 'Change Price’ [false]
• CDPOS.FNAME [false]
• 'Change Quantity’ [true]
• EKPO.MENGE [false]

15. Which time information would you choose for the event time?
• EKKO.AEDAT [false]
• CAST(CDHDR.UDATE AS DATE) + CAST(CDHDR.UTIME AS TIME) [true]
• CDHDR.UDATE [false]
• EKPO.AEDAT [false] 122
IBC Data Engineer Training

11. Transformation - Extend Activity Table (6/6)


16. Last but not least: What is a suitable value for the SORTING column of the Activity Table?
• 10 [false]
• 20 [false]
• A [false]
• 30 [true]

17. Execute your SQL script. How many quantity changes are inserted into the Activity Table?
• 13,423 [false]
• 257 [true]
• 4,352 [false]
• 158 [false]

18. Reload the data model and look at the updated process flow in Process Analytics. What is the average throughput time (in days) between
PO item creation and quantity change?
• 10 [false]
• 5 [false]
• 8 [true]
• 13 [false]

123
IBC Data Engineer Training

1
Create a new
transformation,
name it, …
2
… and click on
“Save”.
IBC Data Engineer Training

Write the correct code


for the activity
“Change Quantity”.
IBC Data Engineer Training

Select the code and


click on “Execute”.
IBC Data Engineer Training

There have been 257


quantity changes.
IBC Data Engineer Training

2
… and access the one
you previously
created.

1
Go to the Data
Models …
IBC Data Engineer Training

1
Open the data
loads tab …
2
… and conduct a
complete reload.
IBC Data Engineer Training

Back in the analysis, you


can see an average
throughput time of 8 days.
IBC Data Engineer Training

12. Extend data model (1/4)


1. What's the purpose of extending the data model?
• Add master data information to the analysis [true]
• Split the activity table [false]
• Add translations to the technical table and column names [false]
• Add activity-specific information [false]

2. Which database objects can be added to the Celonis data model?


• Table [true]
• Stored procedure [false]
• Schema [false]
• View [false]

3. What are possible reasons for limiting the entries in a table (e.g. on the table LFA1) as opposed to embedding all rows of the source table?
• Avoid duplicates [false]
• Consider only vendors with purchase orders [true]
• Consider only top 10 vendors [false]
• There is no reason to do so [false]

131
IBC Data Engineer Training

12. Extend data model (2/4)


Create three transformation tasks to create the tables “P2P_EKPO”, “P2P_EKKO” and “P2P_LFA1”. Open the attachment and paste it in the
transformation for “P2P_EKPO”. Use the code as a guideline to create the transformations for “P2P_EKKO” and “P2P_LFA1”.

4. Create the table “P2P_EKKO”, restricted to purchase orders with at least one position in table “EKPO”. How many rows does the table
contain?
• 24,675 rows [false]
• 9,753 rows [false]
• 13,829 rows [true]
• 267 rows [false]

5. Add the tables “P2P_EKKO” and “P2P_EKPO”to your data model and connect the tables. Which columns do you have to connect?
• EBELN [true]
• EBELP [false]
• MANDT [true]
• AEDAT [false]

6. Connect the two tables to the Activity Table. Which tables(s) do you have to connect?
• EKKO with Activity Table [false]
• EKPO with Activity Table [true]
• EKPO and EKKO with Activity Table [false]

132
IBC Data Engineer Training

1
Create a new
transformation,
name it …

2
… and click on
“Save”.
IBC Data Engineer Training

Insert the code from


the attachment.
IBC Data Engineer Training

Select the code and


press “Execute”.
IBC Data Engineer Training

2
You can also refresh
the browser.

1
The code has been
executed
successfully.
IBC Data Engineer Training

After refreshing, the new table


shows up on the left side.
IBC Data Engineer Training

Repeat the same


steps to create the
table for EKKO.
IBC Data Engineer Training

Adjust the code


accordingly.
IBC Data Engineer Training

Click on
“Execute”.
IBC Data Engineer Training

1
Insert an SELECT COUNT(*) FROM
statement to count the number of
rows in your new table.

2
EKKO consists
of 13, 829 rows.
IBC Data Engineer Training

1
Go back to your
Data Model … 2
… and click on “Add Data”
to add EKPO and EKKO.
IBC Data Engineer Training

1
Select both tables.

2
… and click
on “Finish”.
IBC Data Engineer Training

Click on “New Foreign Key”


to connect EKKO and EKPO.
IBC Data Engineer Training

Choose the
second table.
IBC Data Engineer Training

The columns to
connect are
MANDT and
Click on “New
EBELN. Simply
Data
click on the key
Connection”
and the keyhole
symbol to
connect each line.
IBC Data Engineer Training

As soon as the connection


is set up, you can click on
“Save”.
IBC Data Engineer Training

C
The first two tables
are connected.
IBC Data Engineer Training

12. Extend data model (3/4)


7. Which column in the Activity Table do you have to use to connect to table “EKPO”?
• ACTIVITY_EN [false]
• _CASE_KEY [true]
• EVENTTIME [false]
• SORTING [false]

8. In the same way as before, create the table “P2P_LFA1” for the vendor master data, restricted to relevant vendors (i.e. subject to the
“P2P_EKKO” table created in the last exercise). How many different vendors remain?
• 249 [true]
• 354 [false]
• 645 [false]
• 43 [false]

9. Add the “P2P_LFA1” to your data model. Which existing table(s) in the data model do you have to connect it to?
• _CEL_P2P_ACTIVITIES [false]
• EKPO [false]
• EKKO [true]
• None of the above [false]

149
IBC Data Engineer Training

1
To connect the Activity
Table with EKPO click on
“New Foreign Key” …

2
… and on
“Connect to
Target Table”.
IBC Data Engineer Training

You can use the


search function.
IBC Data Engineer Training

1
The tables are
uniquely connected
via the case key.

2
Simply click on
“Save”.
IBC Data Engineer Training

C
Right now, all three
tables are connected.
Now, go back to the
data jobs.
IBC Data Engineer Training

Create a new
transformation.
IBC Data Engineer Training

Insert the code


for the creation
of table LFA1.
IBC Data Engineer Training

Execute the script.


IBC Data Engineer Training

The creation of the


table was successful.
IBC Data Engineer Training

1
Count the entries of
LFA1 as before.

2
The table
contains 249 rows.
IBC Data Engineer Training

Go back to the data


model and click on
“Add Data”.
IBC Data Engineer Training

Select your new


table.
IBC Data Engineer Training

Confirm your
selection.
IBC Data Engineer Training

LFA1 has to be
connected to EKKO.
IBC Data Engineer Training

Connect
MANDT and
LIFNR with
each other.
IBC Data Engineer Training

If you have
selected both
columns, click on
“Save”.
IBC Data Engineer Training

Finally, all tables are


connected correctly.
IBC Data Engineer Training

12. Extend data model (4/4)


Specify table “P2P_EKPO” as case table, reload your data model and navigate to your Celonis analysis. Add a new sheet and create a table
displaying the number of purchase order items (case count) with respect to the vendor names (LFA1.NAME1).

10. Who is the vendor with most purchase order items?


• PAQ Deutschland GmbH [false]
• Unisono AG [false]
• C.E.B. BERLIN [false]
• GUM Company [true]

166
IBC Data Engineer Training

Click on the
configuration icon
on your Activity
Table and assign
EKPO as your case
table
IBC Data Engineer Training

C
The case table is
always marked
with this icon.
IBC Data Engineer Training

2
Then go back to
“Process Analytics”.

1
Don’t forget to do a
complete reload.
IBC Data Engineer Training

Add a new app to


your analysis.
IBC Data Engineer Training

Add a new OLAP table to


your empty sheet.
IBC Data Engineer Training

Click on “Add” to
define the
dimensions of the
table.
IBC Data Engineer Training

3
… and proceed to
the KPI menu.

1 2
Click on … select
P2P_LFA1, … NAME1, …
IBC Data Engineer Training

1
Add the case
count …

2
… and click on
“Done”.
IBC Data Engineer Training

Make sure to sort


based on the case
count.
IBC Data Engineer Training

13. Finalize data model (1/3)


1. Which difficulty did you observe when adding master data information to your analysis?
• Incomplete tables [false]
• No connection between activity and master data information [false]
• Technical table and column names without translation [true]

2. In SAP, which tables provide information with respect to table and column translations?
• EKPO [false]
• DD02T [true]
• DD03M [true]
• MAKT [false]

3. What is the purpose of table DD02T?


• Column name translations [false]
• Table name translations [true]
• Material Descriptions [false]
• Login Data [false]

4. What is the purpose of table DD03M?


• Column name translations [true]
• Table name translations [false]
• Material Descriptions [false]
• Login Data [false]
176
IBC Data Engineer Training

13. Finalize data model (2/3)


5. Before answering the following questions, please make sure to rename the tables as explained in the video:
P2P_EKKO to EKKO,
P2P_EKPO to EKPO,
P2P_LFA1 to LFA1.
Which tab in the Celonis data model editor can be used to incorporate translations?
• Model [false]
• Data Loads [false]
• Name Mapping [true]
• Data Permissions [false]

6. Configure “Name mappings from pool” for your data model by using the tables DD03M and DD02T. Which columns in DD02T contain the
technical table name, the translation text as well as the language key?
• DDTEXT [true]
• TABNAME [true]
• AS4LOCAL [false]
• DDLANGUAGE [true]

177
IBC Data Engineer Training

Click on the
configuration
icon of LFA1 and
click on “Edit”.
IBC Data Engineer Training

Enter “LFA1” as an
alias for “P2P_LFA1”
to make sure that
the name mapping
can become
effective later on.
IBC Data Engineer Training

2
Then go to “Name
Mapping”.

1
Repeat the
same steps for
EKKO and EKPO.
IBC Data Engineer Training

Start with the table


name mapping and
click on “Select”.
IBC Data Engineer Training

1
Choose DD02T …

2
… and click on
“Done”.
IBC Data Engineer Training

Select the columns


as displayed here.
IBC Data Engineer Training

13. Finalize data model (3/3)


7. Which columns in DD03M contain the technical table name, the technical column name, the translation text as well as the language key?
• SCRTEXT_M [true]
• TABNAME [true]
• AS4LOCAL [false]
• DDLANGUAGE [true]
• FIELDNAME [true]
• COLNAME [false]

8. Click on “Load Mapping From Pool” and reload your data model for the name mapping to become effective. How many columns were
translated for the Language Key “E”?
• 510 [true]
• 3 [false]
• 506 [false]
• 157 [false]

9. What are Data Permissions in a data model used for?


• To grant viewer rights on selected analysis. [false]
• To restrict access to a specific data model with respect the specific column values. [true]
• To grant the rights to create new Data Connections. [false]

184
IBC Data Engineer Training

1
For the column
name mapping
select DD03M …

2
… and click on
“Done”.
IBC Data Engineer Training

1 2
Select all the … and load the
columns … mappings from
pool.
IBC Data Engineer Training

C
You can see that the name
mapping successfully
translated 3 tables (EKKO,
EKPO, LFA1) and 510
columns for the Language
key “E”

You might also like