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 Analytics Language) は、プロセス分析用の SAP Signavio 専用のクエリ言語です。これは、カスタムクエリを実行することで、プロセスの分析、視覚化、および最適化に役立ちます。SiGNAL を使用すると、インタラクティブなチャートと KPI を使用して、ローデータを意味のあるインサイトに変換することができます。

SiGNAL の仕組み

SiGNAL は SQL に基づいています。つまり、クエリを使用してデータを取得および分析します。ただし、主な違いがあります。

  • 読込専用データアクセス - データを取得および計算することはできますが、プロセスデータを変更または削除することはできません。
  • シンプル化されたデータモデル - 複数のテーブルをクエリする SQL とは異なり、SiGNAL はネストされたイベントを含む 1 つのテーブルで動作します。
  • 組み込み関数 – SiGNAL には、プロセスマイニング用に調整されたカスタム関数が含まれており、ワークフローの分析が容易になります。

SiGNAL を使用する理由

  • 柔軟で拡張可能 - 複数のデータソースに対応

  • SAP Signavio との統合:アクセスモデル、ワークフロー、ハブ利用データ

  • 外部システムのサポート - 外部データベースおよびツールへの接続

  • 機械学習とシミュレーションが準備完了 – AI 主導のインサイトで意思決定を強化

SiGNAL を使用すると、隠れた非効率性を明らかにし、プロセスを最適化し、よりスマートな意思決定を促進することができます。

SiGNAL の機能と、SAP Signavio Process Intelligence からアクセスする方法の詳細については、以下のビデオを視聴してください。

SiGNAL では、さまざまな集計関数がサポートされています。

  • AVG()- 平均値を返します
  • COUNT() - 行数を返します
  • SUM()- すべての値の合計を返します
  • MIN()- 最小値を返します
  • MAX()- 最大値を返します
  • COUNT (Distinct)- ユニークなローの数を返します (重複なし/NULL 値なし)。
  • FIRST()- 一覧/配列の最初の要素を返します
  • LAST()- 一覧/配列の最後の要素を返します
  • BOOL_OR - ANY 条件が true の場合は TRUE を返します。
  • BOOL_AND - すべての条件が真の場合、TRUE を返します。

SiGNAL と SQL: 主な違い

SiGNAL と SQL (Structured Query Language) の違いは、データモデルです。SQL では、複数のテーブルからデータをクエリします。ただし、SiGNAL では、ネストされたイベントを含む 1 つのテーブルからのみデータがクエリされます。さらに、SiGNAL は、このデータ構造をより効果的に操作するためのカスタム関数を提供します。

機能SiGNALSQL
目的SAP Signavio Process Intelligence でのプロセスマイニングと分析に特化データベース管理のための汎用クエリ言語
データ構造

ネストされたイベントデータを含む 1 つのテーブルで動作

関係 (結合など) を使用して複数のテーブルをクエリします。
データ変更

読み取り専用 - データの変更、挿入、または削除はできません。

データベースデータの挿入、更新、削除、修正が可能
クエリ構文SQL に似ていますが、プロセス分析用のカスタム関数を使用します。幅広いリレーショナルデータベースをサポートする標準 SQL 構文
主な機能プロセス分析用に最適化 

SiGNAL 構文

SiGNAL の構文は SQL に基づいて構築され、詳細なプロセス分析クエリを実行するための特殊な関数で拡張されています。SiGNAL のすべてのクエリは、以下の基本構造に従います。

  • SELECT
  • FROM テーブルまたはプロセス
  • WHERE 条件

SELECT 文は、プロセスからデータを選択するために使用されます。返されるデータは結果セットです。FROM 句によって、テーブル構造が生成されます。これは、SELECT 文の他のすべての操作が実行される開始データセットです。WHERE 命令は、レコードのフィルタリングと条件の設定に使用されます。

クエリとクエリ言語の理解

クエリは情報の要求です。コンピュータプログラミングでは、クエリは情報の要求でもあります。ただし、要求された情報はデータベースから要求されます。クエリを使用してデータを操作できるため、データベーステーブルからデータを追加、削除、または変更することができます。

クエリを記述することは容易ではありません。これを行うには、データを操作するためにデータベースで認識される事前定義コードを把握しておく必要があります。このコードはクエリ言語と呼ばれます。

データベース管理の場合、標準のクエリ言語は SQL (Structured Query Language) です。データベースと対話するために、プログラマはクエリ言語を使用します。最も広く使用されているのは Structured Query Language (SQL) です。ただし、AQL (Ariane Query Language) - 特殊なデータベースに使用、DMX (データマイニング拡張) - 予測分析に使用されるなど、他のクエリ言語も存在します。

クエリを効果的に記述する方法

明確で効果的なクエリを作成するための重要なガイドラインをいくつか示します。

  • 簡単で判読可能な構文を使用 - クエリの構造を維持し、不要な複雑さを回避します。

  • データを適切にフィルタリング - WHERE などの条件を使用して、関連データのみを取得します。

  • パフォーマンスの最適化:冗長な結合や不要な計算を回避します。

  • テストと検証 - 小さなデータセットを大きなデータベースに適用する前に、小さなデータセットに対してクエリを実行します。

これらのベストプラクティスに従うことで、より迅速かつ効果的なクエリを作成し、データから貴重なインサイトを得ることができます。

クエリ内のデータモデル

プロセスデータマイニングでは、ケース属性と、関連するネストされたイベントおよびイベント属性を含む単一テーブルから情報を抽出します。以下の表はこの構造を示しており、分析のためにデータがどのように編成されているかを理解するのに役立ちます。

上記のように、ネストされたテーブルを含むテーブル。主要列は、case_ID、顧客 ID、ステータス、市区町村、およびイベントです。ネスト化されたテーブルは、events 列にあります。このネストされたテーブルは、event_name、end_time、支払方法、およびキャンセル理由で構成されます。

case_idevent_name、および end_time の各カラムは常に存在します。顧客 ID、ステータス、市区町村などのケース属性の値は、ケース全体で同じになります。支払方法などの追加イベント属性には、イベントごとに異なる値を設定することができます。

このデータを使用するには、以下の 2 つの方法があります。

  • ケースごと: 各ケースは 1 つの行として処理されます。ネストされたイベントおよびイベント属性は、ネストされたテーブルとして表されます。
  • イベントごと: 各イベントは 1 行として処理されます。ケース ID およびケース属性がイベントごとに繰り返されます。

データ型

SiGNAL では、データ型によって列が保持できる値の種類が定義されます。これらのデータ型は、ケースレベルとイベントレベル (ネスト) の両方で使用できます。

SiGNAL では、以下のデータ型がサポートされています。

  • 文字列 - テキストベースの値。
  • 数値 - 倍精度浮動小数点値として格納されます。
  • タイムスタンプ - タイムゾーン情報なしで、ミリ秒の精度で保存されます。
  • Durations - ミリ秒単位の精度で表されます。
  • ブール値 - True または False の値。

これらのデータ型は、ソースファイルとクエリ結果の両方に存在できます。

ケース属性とイベント属性の両方に Null 値を含めることができます。Null 値は、そのフィールドに使用できるデータがないか、値が不明であることを意味します。