Oracle Analyses related to variables


Variablenbezogen

Dieser Artikel bietet Beispiele für eine variablenbezogene Analyse mit dem Dashboard.


Vorlage für Prozessvariablen

Variablen, die in Dreiergruppen gebündelt sind, schneiden besser ab. Es ist besser, mehrere Gruppen von drei als eine riesige Gruppe zu verwenden. Noch besser ist es, wenn die Werte (Indizes) aus dem view_instance verwendet werden können.

SELECT Variable1.1,Variable1.3,Variable1.3 FROM ( SELECT var1.stringvalue AS "1", var2.stringvalue AS "2", var3.stringvalue AS "3", inst.ID FROM view_instance inst LEFT JOIN view_variable var1 ON inst.ID = var1.instanceID AND var1."name" = '' LEFT JOIN view_variable var2 ON inst.ID = var2.instanceID AND var2."name" = '' LEFT JOIN view_variable var3 ON inst.ID = var3.instanceID AND var3."name" = '' )​ AS Variable1 INNER JOIN ( SELECT var1.stringvalue AS "1", var2.stringvalue AS "2", var3.stringvalue AS "3", inst.ID FROM view_instance inst LEFT JOIN view_variable var1 ON inst.ID = var1.instanceID AND var1."name" = '' LEFT JOIN view_variable var2 ON inst.ID = var2.instanceID AND var2."name" = '' LEFT JOIN view_variable var3 ON inst.ID = var3.instanceID AND var3."name" = '' )​ AS Variable2 ON Variable1.ID = Variable2.ID;

Auflisten von Prozessinstanzen sowie einer beliebigen Anzahl von Prozessvariablen

Mit der folgenden Anweisung kann eine Liste mit Prozessintanzen sowie eine Darstellung von Indexvariablen und beliebigen Prozessvariablen erstellt werden.

Hinweis: Um die resultierende Liste vorzusortieren, muss die gesamte SQL-Abfrage als INNER-SELECT basiert und dann sortiert werden.

SELECT DISTINCT pi."name", /* Selecting the indexvariables from 1 to 10, if desired: */ CASE WHEN pi.value1 IS NOT NULL THEN pi.value1 ELSE '-' END AS "Index 1", CASE WHEN pi.value2 IS NOT NULL THEN pi.value2 ELSE '-' END AS "Index 2", CASE WHEN pi.value3 IS NOT NULL THEN pi.value3 ELSE '-' END AS "Index 3", /* Selecting the required processvariables: - A processVariables.- Line has to be added for every variable */ processVariables.VARIABLE_1_WITHOUT_SPACE AS "Header Variable 1", processVariables.VARIABLE_2_WITHOUT_SPACE AS "Header Variable 2", processVariables.VARIABLE_3_WITHOUT_SPACE AS "Header Variable 3", identP.name AS "StarterID", pi.definitionName AS "Processdefinition", pi.id AS "ProcessID" FROM view_instance pi LEFT JOIN view_identity identP ON pi.creationUserId = identP.id LEFT JOIN ( SELECT piInner.id, /* Creating a MAX(...) line for every desired variable */ MAX( CASE WHEN var.name = 'PROCESSVARIABLE 1' THEN var.stringvalue ELSE '-' END ) AS VARIABLE_1_WITHOUT_SPACE, MAX( CASE WHEN var.name = 'PROCESSVARIABLE 2' THEN var.stringvalue ELSE '-' END ) AS VARIABLE_2_WITHOUT_SPACE, MAX( CASE WHEN var.name = 'PROCESSVARIABLE 3' THEN var.stringvalue ELSE '-' END ) AS VARIABLE_3_WITHOUT_SPACE FROM view_instance piInner /* In the following IN(...) statement all variablenames have to be listed, that are to be selected: */ LEFT JOIN view_variable var ON var.instanceId = piInner.id AND var.name IN ('PROCESSVARIABLE 1', 'PROCESSVARIABLE 2', 'PROCESSVARIABLE 3') GROUP BY piInner.id ) processVariables ON pi.id = processVariables.id;