SAP Signavio Analytics Language

SAP Signavio Analytics Language, SIGNAL is a specialized query language for process analysis.

The language is based on SQL. Like SQL, you use queries to retrieve data and perform calculations on the data. However, it is not possible to change or delete process data.

The difference to SQL is the data model. While you usually query data from multiple tables with SQL, SIGNAL queries the data from only one table, which contains nested events. In addition, SIGNAL provides numerous custom functions to work more effectively with this data structure.

SIGNAL is optimized for process mining, for example to determine conformance, cycle times, and rework, and it supports exploration at scale by all kind of SAP Signavio Process Intelligence users.

With SIGNAL, you can only retrieve data from processes to which you have access.

Data model

When mining the data of a process, you retrieve the data of a single table. This table contains the case attributes and their nested events and event attributes. The following table shows this nested structure.

case_ID Customer ID Status City events
1001 2001 delivered Berlin
event_name end_time Payment method Cancellation reason
Receive customer order 2020-07-01T09:00:00    
Receive payment 2020-07-02T10:00:00 Bank transfer  
Ship goods 2020-07-03T11:00:00    
1002 2002 canceled  
event_name end_time Payment method Cancellation reason
Receive customer order 2020-07-04T13:00:00    
Cancel order 2020-07-04T14:00:00   Wrong size

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. Additional event attributes, in this example Payment method and Cancellation reason can have different values for each event.

There are two ways to iterate over 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 of a column defines which value the column can hold. All data types can occur on case level as well as on event level (nested).

SIGNAL supports the following data types:

  • Strings

  • Numbers stored as double precision floating point

  • Timestamps stored with millisecond precision, without time zone information.

  • Durations stored with millisecond precision

  • Booleans

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.

Process mining

SIGNAL queries are used in the widgets of an investigation.

When configuring widgets, you have the following options:

  • Create you own queries

  • Use the default queries in the widgets and customize them if necessary

  • Use the predefined queries from the metrics library and customize them if necessary

  • Add your own queries to the metrics library for reuse

Read more on the widgets in section Available widgets.