Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:dashboard:analyses:variable_analyses_oracle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:dashboard:analyses:variable_analyses_oracle [2015/05/20 10:27]
manuel.kindler angelegt
software:dashboard:analyses:variable_analyses_oracle [2021/07/01 09:52] (aktuell)
Zeile 4: Zeile 4:
 Variablen in 3-er-Blöcken einbinden ist performanter. Besser mehrere 3-er-Blöcke benutzen als ein riesiges Join. Noch besser wenn die //values// (Indices) aus der view_instance benutzt werden können. ​ Variablen in 3-er-Blöcken einbinden ist performanter. Besser mehrere 3-er-Blöcke benutzen als ein riesiges Join. Noch besser wenn die //values// (Indices) aus der view_instance benutzt werden können. ​
 <code sql> <code sql>
-SELECT ​"1" as Requester"​2"​ as Email"3" as Phone FROM+SELECT ​Variablen1.1,Variablen1.3,Variablen1.3 
 +FROM
 ( (
 SELECT var1.stringvalue AS "​1",​ var2.stringvalue AS "​2",​ var3.stringvalue AS "​3",​ inst.ID ​ SELECT var1.stringvalue AS "​1",​ var2.stringvalue AS "​2",​ var3.stringvalue AS "​3",​ inst.ID ​
 FROM view_instance inst FROM view_instance inst
-LEFT JOIN view_variable var1 ON inst.ID = var1.instanceID AND var1."​name"​ = 'text_requester' ​          +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"​ = 'text_requester-email' ​          +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"​ = 'text_requester-phone' ​          +LEFT JOIN view_variable var3 ON inst.ID = var3.instanceID AND var3."​name"​ = '' ​          
-WHERE inst.definitionname ​= 'S-AP-G' ​AND inst.archiv ​AND inst."​END"​ IS NOT NULL +)​ as Variablen1 
-)+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 Variablen2 
 +ON Variablen1.ID = Variablen2.ID 
 +</​code>​ 
 + 
 +==== Prozessinstanzen inklusive beliebig vielen Prozessvariablen auflisten ==== 
 +Mit folgendem Statement kann eine Auflistung von Prozessinstanzen inklusive Darstellung von Indexvariablen sowie beliebigen Prozessvariablen erstellt werden. 
 + 
 +//Hinweis: Zur Vorsortierung der Ergebnisliste muss die komplette SQL-Anweisung als INNER-SELECT geschachtelt und anschließend sortiert werden. // 
 +<code sql> 
 +SELECT DISTINCT 
 +  pi."​name",​ 
 +  /* 
 +    Auslesen der Indexvariablen 1 bis 10 bei Bedarf: 
 +  */ 
 +  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", 
 +  /* 
 +    Auslesen der gewünschten Prozessvariablen:​ 
 +    - Für jede Variable muss eine processVariables.- Zeile eingefügt werden 
 +  */ 
 +  processVariables.VARIABLE_1_OHNE_LEERZEICHEN AS "​Header Variable 1", 
 +  processVariables.VARIABLE_2_OHNE_LEERZEICHEN AS "​Header Variable 2", 
 +  processVariables.VARIABLE_3_OHNE_LEERZEICHEN AS "​Header Variable 3", 
 +  identP.name AS "​StarterID",​ 
 +  pi.definitionName AS "​Prozessdefinition",​ 
 +  pi.id AS "​ProzessID"​ 
 +      FROM view_instance pi 
 +        LEFT JOIN view_identity identP ON pi.creationUserId = identP.id 
 +        LEFT JOIN ( 
 +          SELECT piInner.id,​ 
 +            /* 
 +              Erstellen einer MAX(...Zeile für jede gewünschte Variable 
 +            */ 
 +            MAX( CASE WHEN var.name = '​PROZESSVARIABLE 1' THEN var.stringvalue ELSE '​-'​ END ) as VARIABLE_1_OHNE_LEERZEICHEN,​ 
 +            MAX( CASE WHEN var.name = '​PROZESSVARIABLE 2' THEN var.stringvalue ELSE '​-'​ END ) as VARIABLE_2_OHNE_LEERZEICHEN,​ 
 +            MAX( CASE WHEN var.name = '​PROZESSVARIABLE 3' THEN var.stringvalue ELSE '​-'​ END ) as VARIABLE_3_OHNE_LEERZEICHEN 
 +          FROM view_instance piInner 
 +            /* 
 +              Im folgenden IN (...) Statement müssen alle Variablennamen aufgelistet werden, die selektiert werden sollen: 
 +            */ 
 +            LEFT JOIN view_variable var ON var.instanceId = piInner.id AND var.name IN ('​PROZESSVARIABLE 1', '​PROZESSVARIABLE 2', '​PROZESSVARIABLE 3') 
 +            GROUP BY piInner.id 
 +        ) processVariables ON pi.id = processVariables.id
 </​code>​ </​code>​
 +
software/dashboard/analyses/variable_analyses_oracle.1432110455.txt.gz · Zuletzt geändert: 2021/07/01 10:00 (Externe Bearbeitung)