介绍 SAP Signavio Process Intelligence 中的 SiGNAL

Objectives

After completing this lesson, you will be able to:
  • 了解 SiGNAL 的基础知识
  • 了解 SiGNAL 和 SQL 之间的差异

介绍 SAP Signavio Process Intelligence 中的 SiGNAL

SiGNAL:Signavio 分析语言。

SiGNAL - SAP Signavio Process Intelligence 的查询语言

SiGNAL(SAP Signavio 分析语言)是 SAP Signavio 用于流程分析的专用查询语言。它通过运行自定义查询帮助您分析、可视化和优化流程。借助 SiGNAL,您可以通过交互式图表和 KPI 将原始数据转化为有意义的洞察。

SiGNAL 如何工作?

SiGNAL 基于 SQL,这意味着您使用查询来检索和分析数据。但是,存在主要差异:

  • 只读数据访问 — 您可以检索和计算数据,但不能修改或删除流程数据。
  • 简化数据模型 – 与查询多个表的 SQL 不同,SiGNAL 使用包含嵌套事件的单个表。
  • 内置功能 - SiGNAL 包括专为流程挖掘定制的自定义功能,从而更轻松地分析工作流。

为什么使用 SiGNAL?

  • 灵活、可扩展 - 使用多个数据源

  • 与 SAP Signavio 集成:访问模型、工作流和中心使用数据

  • 支持外部系统 - 连接到外部数据库和工具

  • 机器学习和模拟就绪 – 利用由人工智能驱动的洞察,提高决策能力

借助 SiGNAL,你可以发现隐藏的低效环节,优化流程,制定更明智的决策。

观看以下视频,了解有关 SiGNAL 的功能以及如何通过 SAP Signavio Process Intelligence 对其进行访问的详细信息。

SiGNAL 支持各种聚合函数。

  • AVG()- 返回平均值
  • COUNT() - 返回行数
  • SUM()- 返回所有值的总和
  • MIN()- 返回最小值
  • MAX()- 返回最大值
  • COUNT (Distinct)- 返回唯一行数(无重复项/无 NULL 值)
  • FIRST()- 返回列表/数组的第一个元素
  • LAST()- 返回列表/数组的最后一个元素
  • BOOL_OR- 如果 ANY 条件为真,则返回 TRUE
  • BOOL_AND- 如果 ALL 条件为真,则返回 TRUE

SiGNAL 与 SQL:主要差异

SiGNAL 和 SQL(结构化查询语言)之间的区别在于数据模型。使用 SQL 可以查询多个表中的数据。但是,SiGNAL 仅从包含嵌套事件的一个表中查询数据。此外,SiGNAL 还提供自定义功能以更有效地使用此数据结构。

功能SiGNALSQL
目的专用于 SAP Signavio Process Intelligence 中的流程挖掘和分析数据库管理的通用查询语言
数据结构

处理包含嵌套事件数据的单个表。

使用关系(例如连接)查询多个表
数据修改

只读 – 无法修改、插入或删除数据

可以插入、更新、删除和修改数据库数据
查询语法类似 SQL,但具有用于流程分析的自定义功能具有广泛关系数据库支持的标准 SQL 语法
主要功能已针对流程分析进行优化 

SiGNAL 语法

SiGNAL 的语法建立在 SQL 之上,并增强了用于执行深入流程分析查询的专用功能。SiGNAL 中的所有查询都遵循以下基本结构:

  • SELECT 表达式
  • FROM 表或进程
  • WHERE 条件

SELECT 语句用于从进程中选择数据。返回的数据是结果集。FROM 子句生成表格结构 – 开始执行 SELECT 语句中所有其它操作的数据集。WHERE 语句用于过滤记录和设置条件。

了解查询和查询语言

查询是信息请求。在计算机编程中,查询也是信息请求,但请求的信息来自数据库。您可以通过查询操作数据,因此可以添加、删除或更改数据库表中的数据。

编写查询并不容易。为此,您需要了解数据库理解的预定义代码,以便操作数据。此代码称为查询语言。

对于数据库管理,标准查询语言为结构化查询语言 (SQL)。为了与数据库交互,程序员使用查询语言。使用最广泛的查询语言是结构化查询语言 (SQL)。但是,还存在其他查询语言,例如 AQL(Ariane 查询语言)- 用于专用数据库和 DMX(数据挖掘扩展)- 用于预测分析。

如何有效地编写查询

以下是创建清晰有效的查询的一些关键指导原则:

  • 使用简单易读的语法 – 保持查询结构化,避免不必要的复杂性。

  • 正确过滤数据 - 使用 WHERE 等条件仅检索相关数据。

  • 优化性能 – 避免冗余连接或不必要的计算。

  • 测试和验证 – 先对小数据集运行查询,然后再将其应用于大型数据库。

通过遵循这些最佳实践,您可以编写更快、更有效的查询,并从数据中获取有价值的洞察!

查询中的数据模型

在处理数据挖掘中,从包含案例属性及其相关嵌套事件和事件属性的单个表中提取信息。下表说明了此结构,可帮助您了解如何组织数据进行分析。

具有嵌套表的表(如上所述)。主要列包括:case_ID、客户标识、状态、城市和事件。嵌套表可在 events 列中找到。此嵌套表由 event_name、end_time、付款方式和取消原因组成。

case_idevent_nameend_time 列始终存在。案例属性(如客户标识、状态和城市)在整个案例中具有相同的值。每个事件的附加事件属性(例如付款方式)可以具有不同的值。

有两种方法可以使用此数据:

  • 每个病例:每个病例均视为一行。嵌套事件和事件属性表示为嵌套表。
  • 每个事件:每个事件都视为一行。为每个事件重复案例标识和案例属性。

数据类型

在 SiGNAL 中,数据类型定义列可以容纳的值类型。这些数据类型可用于案例级别和事件级别(嵌套)。

SiGNAL 支持以下数据类型:

  • 字符串 - 基于文本的值。
  • 数字 – 存储为双精度浮点值。
  • 时间戳 – 以毫秒精度存储,不含时区信息。
  • 持续时间 – 以毫秒精度表示。
  • 布尔值 - True 或 false 值。

这些数据类型可以同时存在于源文件和查询结果中。

案例属性和事件属性都可以具有空值。Null 值表示没有可用于该字段的数据,或者该值未知。