在 SAP Signavio Process Intelligence 中创建查询

Objective

After completing this lesson, you will be able to 创建个性化分析

创建基本查询

现在,我们已经了解了 SiGNAL 语法,我们希望了解如何在 SAP Signavio Process Intelligence 中进行编码。

观看以下视频,了解如何使用 SiGNAL 通过基本查询创建微件。

现在,我们来谈谈我们的问题。我们希望使用 SiGNAL 获取订单和客户的结果。继续下面的问题。

  1. 所有案例的总订单金额是多少?
  2. 标准客户的平均订单金额是多少?屏幕截图一侧显示指标,另一侧显示结果平均订单金额,
  3. 哪个城市的订单最多,按货物类型拆分?在堆积条形图中显示。屏幕截图显示一侧的指标,另一侧显示按类型链拆分的每个城市的订单。

SiGNAL 表达式

表达式定义示例
算术使用算术运算符,您可以使用数值执行数学运算。加、减、乘、除、模
  • SELECT 折扣/价格 * 100
  • FROM THIS_PROCESS
比较比较运算符可用于过滤器以确定要选择的记录。小于、大于、小于或等于、大于或等于、等于、不等于
逻辑逻辑表达式使用逻辑运算符连接布尔表达式,可以求值结果以返回 true 或 false 值。
  • AND:TRUE 如果两个条件都为真
  • IN:TRUE 右侧的列表包含左侧的值。
  • NOT: 否定布尔表达式
  • OR:TRUE 如果两个条件中至少有一个为真
条件条件表达式根据布尔值条件的评估返回值。SELECT IF(condition, then, else) 或 SELECT IF(country='DE', 1.19, 1.0) * 价格
文字文字是特定类型的固定值。SIGNAL 支持多种不同类型的文字。
  • 布尔文字
  • 日期和时戳文字
  • 持续时间文字
  • 数字文字
  • 字符串文字

注意

有关 SAP Signavio 用户指南上表达式的详细信息:

SiGNAL - Order By 和 Limit 条款

排序依据功能可帮助您根据特定条件对结果集进行排序,从而使您能够以有意义的方式组织数据。限制 功能使您能够控制结果集中显示的记录数,确保仅关注最相关的数据。

显示排序方式和限制功能示例的屏幕截图。

SiGNAL - 别名

别名有助于为结果集中的列分配临时名称,使其更易于读取和理解。在查询中应用集合函数时,这一点特别有用。

如果没有别名,系统将根据列和表达式中使用的操作自动生成名称。通过使用别名,可以创建清晰且有意义的列标题,从而提高查询结果的可读性。

显示示例别名“客户标识符”和“订单金额”的屏幕截图

子查询

子查询是嵌套在 SELECT 语句内或另一个子查询中的查询。您可以在允许表达式在事件级别检索数据的任何位置使用子查询。

它们的操作级别不同,提供的数据类型也不同。

  • 常规子查询在案例级别操作和返回表。
  • 事件级子查询在事件级操作并返回标量值。

在表中,案例属性显示在以下标题下:case_id、订单金额和城市。事件属性显示在以下标题下:event_name、end_time、系统用户。

注意

要了解有关子查询的详细信息,请访问 SAP Signavio 用户指南

DATE_TRUNC

DATE_TRUNC 可用于通过移除详细信息将时戳限制为特定时间单位。这简化了到更广泛的时间单位的时戳,例如:年、季度、月、工作日、小时、分钟、秒或毫秒。

Date_Trunc

NOW()

NOW() 有助于计算当前时间和给定时戳之间的持续时间。

NOW ()

持续时间

DUATION 可用于评估持续时间是否达到或超过指定阈值。支持基于时间的字符串格式,例如:'3weeks'、'4days'、'3hours'、'5minutes'、'6seconds' 和 '7milliseconds'。

持续时间

创建高级查询

是时候基于对基本查询的理解进行构建,并使用高级查询将其提升到下一级别。我们将探索新类型的条款和运算符,最后,您将通过实际练习应用所学的内容。

SiGNAL: FILTER 子句

FILTER (WHERE) 可用于过滤聚合函数的输入。

用例:过滤案例的子集或与总计进行比较的值。

SELECT 表达式、FILTER(WHERE 条件)、FROM 表/进程。

SiGNAL:匹配运算符

匹配允许您根据特定任务序列(由术语 MATCHES 指示)过滤案例。SiGNAL 支持以下匹配运算符:

匹配运算符描述
A → B"A" 紧后跟 "B"(可以省略)
A ~ B"A" 间接或直接后跟 "B"
^ A在任何特定情况下,序列都以 "A" 开头
空值"A"值为 NULL
并非 A不是 "A" 的所有值
A 非 B"A" 后面紧跟一个不是 "B" 的值
A NOT (B|C)"A" 后跟不是 "B" 或 "C" 的值
(A|B)"A" 或 "B"
B 美元在任何特定情况下,序列均以 "B" 结尾
任意"A" 出现在案例中的任何位置

示例

SiGNAL: BEHAVIOR MATCHES 运算符

BEHAVIOUR MATCHES 运算符允许进一步筛选 MATCHES,使用与任务序列无关的表达式。如果只想匹配遵循指定标准销售流程的案例,则只需使用 MATCHES 即可。例如,假设标准销售流程严格按照该顺序包含事件"接收客户订单"、"接收付款"和"装运货物标准",并且没有之前或之后的其他事件。

BEHAVIOR MATCHES 通过允许包含额外的过滤条件来扩展此概念。例如,除了遵循标准流程的匹配案例外,我们还可能只想包括在特定时间后装运订单的情况,即使之前的订单遵循标准流程。BEHAVIOR MATCHES 允许我们这样做。