Please enable JavaScript to view this site.

 

Navigation: Deutsch > Data Engineer Guide > Erstellen eines Event Logs aus Ihren Datenquellen > Event Generation Phase

Erstellen neuer Events durch Erstellen von Event Sources für traditionelles Mining

Scroll Previous Topic Top Next Topic More

 

Das Hauptkonzept der Erstellung eines Events besteht darin, eine Tabelle zu erstellen und dann eine "where"-Anweisung auf diese Tabelle anzuwenden, um die spezifischen Bedingungen jedes Events zu erfüllen. Diese Tabelle wird als "eventSourceTable" bezeichnet und kann die direkte Ausgabetabelle der Transform-Phase oder die Kombination mehrerer Tabellen aus der Transform-Phase sein. Um diesen Teil zu erläutern, werden die Schritte der Ereigniserzeugung aufgelistet und anschließend wird zu jedem Schritt ein Beispiel mit dem Event "Bestellung erstellen" beschrieben.

 

Die Schritte zur Erstellung eines Events sind:

1.Überprüfen Sie, ob die erste Skript-Registerkarte "Main" ist, erstellen Sie eine neue Skript-Registerkarte und geben Sie ihr einen Namen.

 

Example

 

Checking order

 

2.Kopieren Sie den Inhalt der Skript-Registerkarte "template_eventSource" und fügen Sie ihn in die neu erstellte Registerkarte ein.

3.Geben Sie der Event Source einen verständlichen Namen in der Variablen "eventSourceName" (Zeile 5).

 

Beispiel

 

let eventSourceName = 'ChangeLog_RSEG';

 

 

4.Füllen Sie die Inline-Tabelle "activityScenarioFieldsTable" aus. Diese Tabelle enthält die Felder:

process

Setzen Sie ihn auf "y", um die Aktivität zu laden. Setzen Sie ihn auf "n", um sie nicht zu laden. Dies ist nützlich für die einmalige Fehlersuche in einer Aktivität.

ActivityTypeID

Eindeutige ID-Nummer der Aktivität.

ActivityType

Name der Aktivitätsart.

ActivityTypeDescription_EN

Beschreibung/Name der Aktivität. Dies sind die Aktivitätsnamen, die im ProcessAnalyzer angezeigt werden.

Durch Änderung des Feldnamens (z.B. in ActivityTypeDescription_DE für deutsche Sprache) können verschiedene Sprachen eingestellt werden. Dazu müssen Sie die Aktivitätsnamen in der entsprechenden Sprache einfügen.

QlikSourceWhereFilter

Dies ist eine Where-Anweisung, die auf die Event Source-Tabelle angewendet wird, um das gewünschte Event zu erhalten.

 

Example

 

process

Setzen Sie ihn auf "y", denn die Aktivität soll belastet werden.

ActivityTypeID

Es kann eine beliebige Nummer gewählt werden. Für dieses Beispiel wurde die ID 300 gewählt.

ActivityType

Create Purchase Order

ActivityTypeDescription_DE

Lege Bestellung an

QlikSourceWhereFilter

Wie bereits erläutert:

CDHDR_OBJECTCLAS = 'EINKBELEG' AND CDPOS_TABNAME = 'EKKO' AND CDPOS_FNAME = 'KEY' AND CDPOS_CHNGIND = 'I'

 

 

NoConcatenate

activityScenarioFieldsTable:

LOAD * Inline [        

process,

ActivityTypeID,

ActivityType,

ActivityTypeDescription_EN,

QlikSourceWhereFilter

y,

300,

CreatePurchaseOrder,

Create order,

CDHDR_OBJECTCLAS = 'EINKBELEG' AND CDPOS_TABNAME = 'EKKO' AND CDPOS_FNAME = 'KEY' AND CDPOS_CHNGIND = 'I'

];

 

 

5.Erstellen Sie Ihre eventSourceTable so, dass Sie die benötigten Events erhalten.

Info

Vergessen Sie nicht, die für die Prozessanalyse erforderlichen Felder aufzunehmen: CaseID, ActivityStartTimestamp und ActivityEndTimestamp, ActivityUserName und ActivityOriginID (ProcessAnalyzer-Felder) in diesen Prozess.

 

Beispiel

 

eventSourceTable:

LOAD

[CDPOS_MANDANT] & '_' & [CDPOS_OBJECTCLAS] & '_' & [CDPOS_OBJECTID] & '_' & [CDPOS_CHANGENR] & '_' & [CDPOS_TABNAME] & '_' & [CDPOS_TABKEY] & '_' & [CDPOS_FNAME] & '_' & [CDPOS_CHNGIND] as [%CDPOS_PKEY],

       '030_' & mid(CDPOS_TABKEY410as %EKKO_PKEY,

       CDPOS_TABNAME,

       CDPOS_FNAME,

       CDPOS_CHNGIND,

       CDHDR_AETST,

       CDHDR_OBJECTCLAS,

       CDHDR_USERNAME

FROM [$(DataConnection)/ProcessAnalyzer_$(mvProcessDescription)/02_Transform/views/CDHDR_CDPOS_EINKBELEG.qvd] (qvd);

inner join (eventSourceTable)

Load

       RSEG_BELNR & '_' & RSEG_MANDT & '_' & RSEG_BUKRS & '_' & RSEG_GJAHR as CaseID_RSEG,

       RSEG_MANDT & '_' & RSEG_EBELN as %EKKO_PKEY

FROM [$(DataConnection)/ProcessAnalyzer_$(mvProcessDescription)/01_Extract/transformed/RSEG.qvd] (qvd);

 

 

6.Schließlich werden die Felder des Process Mining in die finalEventSourceTable aufgenommen.

 

Beispiel

 

NoConcatenate

finalEventSourceTable:

Load *,

CaseID_RSEG as CaseID,

CDHDR_AETST as ActivityStartTimestamp,

CDHDR_AETST as ActivityEndTimestamp,

CDHDR_USERNAME as ActivityUserName,

%CDPOS_PKEY as ActivityOriginID

Resident eventSourceTable

 

 

Info

Nicht obligatorische Felder werden nicht in der eventSource gespeichert, es sei denn, Sie führen sie in der Variablen mvEventFieldsToKeep.

 

7.Sobald die Event Source definiert ist, setzen Sie mvExecuteEventsSourceMining auf 1 und ziehen diese neu erstellte Script-Reiter unter den Reiter "Main".

8.Wir empfehlen, jede Ereignisquelle einzeln zu laden, um Fehler zu vermeiden. Ziehen Sie daher eine Reiter "exit script" nach der erstellten Skript-Reiter, die nur eine Anweisung "exit script;" enthält.

 

Beispiel

 

LET mvExecuteEventSourceMining = 1;

 

Checking order

 

© by MEHRWERK GmbH