Using SiGNAL in SAP Signavio Process Intelligence
Business Case
Our lesson will start by looking at a business case process that we can use as our example throughout the lesson. This process is based on a simplified Order to Cash scenario at an international company that sells high quality, fair-trade T-shirts with prints on it. The customer can either order a pre-printed shirt from the online shop or can choose a custom print. In both cases, a prepayment is required before the order gets shipped.
The image shows the BPMN diagram of the Order to Cash process.
Dataset
- The dataset consists of events and attributes.
- Events in our dataset represent the activities that are executed in our Order to Cash process. The event log therefore shows the individual activities such as Receive Payment, Print T-shirt, etc. The attributes dataset contains additional information such as order status, customer type, type of goods, etc.
- The dataset is needed to analyze the process with the events and the attributes.
- In the hands-on exercise, we will use the dataset to analyze SiGNAL data such as number of orders of T-shirts, payment type and many other data.
Note
Let's look at the events and attributes in our Order to Cash process. Select each card for more information.Dataset
Access to SiGNAL
Make sure you have access to SAP Signavio Process Intelligence!
If you do not have an SAP Signavio Process Intelligence license you can register for a free 30-days-trial: Register
After you got access to the trial, you need to request activation of SAP Signavio Process Intelligence via a support ticket.
Note
This eLearning can also be accomplished without conducting the case study.
Download Exercise Worksheet (Optional)
Download the Exercise Worksheet to solve the tasks after the course. After completing the chapters in the course, you will be able to solve the exercises on your own.
Click here to download the exercise sheet.Download Data Set (Optional)
Download your data set for completing the exercises. First upload the event log to SAP Signavio Process Intelligence. Download the EVENT LOG under the following link.
Event logNow go ahead with the Attribute Log. How external data is manually uploaded to the system is explained in the eLearning course "SAP Signavio Process Intelligence for Analysts". Download the ATTIRUBTE LOG under the following link.
Attribute logAs already mentioned, the training can also be successfully accomplished without the data set and the completed Case Study.
Next, we're going to look at the basics of SiGNAL.
SIGN (SIGNAVIO) A (Analytics) L (Language)
SiGNAL is SAP Signavio's dedicated query language for process analytics. It provides an editable backend to:
- Create more in-depth process queries
- Retrieve data and perform calculations
- Visualize your results in detailed charts
SiGNAL Benefits
The advantage of SiGNAL is its flexibility and extensibility. You can use the data from:
- SAP Signavio Suite (models and dictionary content, hub usage, workflows, etc.)
- External systems
- Machine learning models
- Simulation scenarios
With SiGNAL it's possible to get data visualizations of your results. Queries can be run for process-related behavior and KPI computation. SiGNAL is a SQL-oriented language, which makes it more familiar and easier to learn.
When using SiGNAL, reference the user guide found here. This guide provides additional information about functions and queries to help you run your analysis.
The SiGNAL Mining Engine is a cloud-based in-memory query engine that can process large event logs in real-time.
Note
Select each tab to learn more about the benefits of SiGNAL.Mining at Scale
How does SiGNAL work?
The interaction below shows all the functions offered for SiGNAL. Don't get overwhelmed by the amount of functions! Once you begin using it, you will see which ones are commonly used for your organization.
With SiGNAL, simple as well as complex queries can be created. Let's have a look on a more complex one, to show you what functions SiGNAL supports.
Note
Select each option on the left-hand side to highlight the code associated with that function.Breakdown Widget
VP Commentary on SiGNAL
To see what our Product VP for Process Intelligence has to say about SiGNAL, watch the video.
In the next lesson, we'll compare SiGNAL to SQL.
How is SiGNAL different from SQL?
The difference between SiGNAL and SQL is the data model. With SQL, you query the data from multiple tables. However, SiGNAL queries the data from only one table, which contains nested events. Additionally, SiGNAL provides custom functions to work more effectively with this data structure.
SiGNAL vs SQL
- SiGNAL is not able to create inner joins like SQL.
- SiGNAL is not in data table format! This means that no data records can be deleted, written, moved, or changed.
- SiGNAL is used to start queries, we only use the data from the tables, we do not change them, we retrieve the data to perform analysis.
Great! So far, so good! In the next section, we will learn the basics of creating simple queries.
What is a Query?
Queries
A query is a request for information. In computer programming, a query is also a request for information, except the information that is requested comes from a database. You can manipulate data with queries, so you can add, delete, or change data from database tables.
It's not easy to write a query. In order to do this, you need to know a predefined code that the database understands in order to manipulate the data. This code is called the query language.
For database management, the standard query language is the Structured Query Language (SQL). Of course there are different languages, such as AQL and DMX, but SQL is the most popular.
The following hints may help you create queries faster and keep them comprehensible.
Note
Select each hint for more information.Helpful Hints for Creating Queries
Next, let's take a deeper look at the data models for queries.
Cases, Attributes, Events
The columns case_id, event_name, and end_time are always present. Case attributes like Customer ID, Status, and City have the same value throughout the case. An additional event attribute, such as Payment method, can have different values for each event.
There are two ways to use this data:
- Per case: Each case is treated as one row. The nested events and event attributes are represented as a nested table.
- Per event: Each event is treated as one row. The case ID and case attributes are repeated for each event.
Data Types
The Data Type column defines which value the column can hold. All data types can occur on both case level and event level (nested).
SiGNAL supports the data types shown.
All of these data types can appear in the source file and in the query result.
Both case and event attributes can be Null, indicating the absence of a value or an unknown value.
SiGNAL Syntax
The Syntax of SiGNAL is SQL oriented but includes extensions:
- SELECT expressions
- FROM table or process
- WHERE conditions
The SELECT statement is used to select data from a process. The data returned is the result set. The FROM clause produces the tabular structure – the starting set of data on which all other operations in a SELECT statement are performed. The WHERE statement is used to filter the records and to set conditions.
Let's look at an example. The image below shows a query for the number of canceled orders by Premium Customers. This is the type of query you can type in SiGNAL to obtain your data results and visualizations.
How can we use the data model for creating queries to analyze our processes?
When mining the data of a process, you retrieve the data of a single table. This table contains the case attributes and their events.
The following table shows this structure:
Using the Data Model to Create Queries - Example 1
Using the Data Model to Create Queries - Example 2
SiGNAL - Functions
SiGNAL supports a variety of aggregation functions.
Note
Select each card for more information on the aggregation functions.SiGNAL: Functions
Now that you also know the operators and functions for SiGNAL, you will learn in the next lesson, how to use these to solve the questions from the exercise sheet.