Introducing to SiGNAL in SAP Signavio Process Intelligence

Objectives

After completing this lesson, you will be able to:
  • Understand the basics of SiGNAL
  • Understand the difference between SiGNAL and SQL

Introducing to SiGNAL in SAP Signavio Process Intelligence

SiGNAL: Signavio Analytics Language.

SiGNAL – The Query Language for SAP Signavio Process Intelligence

SiGNAL (SAP Signavio Analytics Language) is SAP Signavio’s dedicated query language for process analytics. It helps you analyze, visualize, and optimize your processes by running custom queries. With SiGNAL, you can turn raw data into meaningful insights through interactive charts and KPIs.

How does SiGNAL Work?

SiGNAL is based on SQL, meaning you use queries to retrieve and analyze data. However, there are key differences:

  • Read-Only Data Access – You can retrieve and calculate data but cannot modify or delete process data.
  • Simplified Data Model – Unlike SQL, which queries multiple tables, SiGNAL works with a single table containing nested events.
  • Built-In Functions – SiGNAL includes custom functions tailored for process mining, making it easier to analyze workflows.

Why use SiGNAL?

  • Flexible & Extensible – Works with multiple data sources

  • Integrated with SAP Signavio – Access models, workflows, and hub usage data

  • Supports External Systems – Connect to external databases and tools

  • Machine Learning & Simulation Ready – Enhance decision-making with AI-driven insights

With SiGNAL, you can uncover hidden inefficiencies, optimize processes, and drive smarter decisions.

Watch the following video to learn more about SiGNAL's capabilities and how to access it through SAP Signavio Process Intelligence.

SiGNAL supports a variety of aggregation functions.

  • AVG()- returns an average value
  • COUNT() - returns the number of rows
  • SUM()- returns the sum of all values
  • MIN()- returns the minimum value
  • MAX()- returns the maximum value
  • COUNT (Distinct)- returns the number of unique rows (no duplicates/no NULL values)
  • FIRST()- returns the first element of a list/array
  • LAST()- returns last element of a list/array
  • BOOL_OR- returns TRUE if ANY condition is true
  • BOOL_AND- returns TRUE if ALL conditions are true

SiGNAL vs. SQL: Key Differences

The difference between SiGNAL and SQL (Structured Query Language) 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.

FeatureSiGNALSQL
PurposeSpecialized for process mining and analytics in SAP Signavio Process IntelligenceGeneral-purpose query language for database management
Data Structure

Works with a single table that contains nested event data

Queries multiple tables using relationships (e.g., joins)
Data Modification

Read-only – Cannot modify, insert, or delete data

Can insert, update, delete, and modify database data
Query SyntaxSQL-like, but with custom functions for process analyticsStandard SQL syntax with broad relational database support
Key FeaturesOptimized for process analysis 

SiGNAL Syntax

The syntax of SiGNAL is built on SQL and enhanced with specialized functions for performing in-depth process analysis queries. All queries in SiGNAL follow this fundamental structure:

  • 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.

Understanding Queries and Query Languages

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). To interact with databases, programmers use query languages. The most widely used one is Structured Query Language (SQL). However, other query languages also exist, such as AQL (Ariane Query Language) – Used for specialized databases and DMX (Data Mining Extensions) – Used for predictive analytics.

How to write Queries Effectively

Here are some key guidelines to create clear and effective queries:

  • Use simple and readable syntax – Keep queries structured and avoid unnecessary complexity.

  • Filter your data properly – Use conditions like WHERE to retrieve only relevant data.

  • Optimize performance – Avoid redundant joins or unnecessary computations.

  • Test and validate – Run queries on small data sets before applying them to large databases.

By following these best practices, you can write faster, more effective queries and gain valuable insights from your data!

Data Model within Queries

In process data mining, you extract information from a single table that contains case attributes along with their related nested events and event attributes. The table below illustrates this structure, helping you understand how data is organized for analysis.

Table with a nested table as explained above. Main columns are: case_ID, customer ID, status, city, and events. The nested table can be found in the events column. This nested table consists of event_name, end_time, Payment method, and cancellation reason.

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

In SiGNAL, data types define what kind of values a column can hold. These data types can be used at both the case level and the event level (nested).

SiGNAL supports the following data types:

  • Strings – Text-based values.
  • Numbers – Stored as double-precision floating-point values.
  • Timestamps – Stored with millisecond precision, without time zone information.
  • Durations – Represented with millisecond precision.
  • Booleans – True or false values.

These data types can be present in both source files and query results.

Both case attributes and event attributes can have Null values. A Null value means that either no data is available for that field, or the value is unknown.

Log in to track your progress & complete quizzes