MySQL Analyses related to tasks and activities


Aufgaben- und aktivitätsbezogen

Dieser Artikel bietet Beispiele für die aufgaben- und aktivitätsbezogenen Analysen mit dem Dashboard.


Aufgabenbezogen

Alle offenen Aufgaben für einen bestimmten Benutzer

SELECT ident.LASTNAME AS "Lastname", ident.FIRSTNAME AS "Firstsname", ident.IDENTITYNAME AS "Username", task.TASKNAME AS "Task", inst.INSTANCENAME AS "Instance name", inst.DEFINITIONNAME AS "Processname" FROM view_activity act, view_task task, view_identity ident, view_instance inst WHERE act.ID = task.ACTIVITYID AND task.ACTORID = ident.ID AND act.ACTIVITYEND IS NULL AND task.TASKEND IS NULL AND inst.ID = act.INSTANCEID AND inst.ISARCHIV = '0' AND inst.INSTANCEEND IS NULL AND ident.FIRSTNAME = '<specific_user_firstname>' AND ident.LASTNAME = '<specific_user_lastname>'

 

Anzahl der erstellten, abgeschlossenen und offenen Aufgaben für jede Prozessdefinition

SELECT ident.lastName AS "Lastname", ident.firstName AS "Firstsname", ident.identityName AS "Username", task.taskName AS "Task", inst.instanceName AS "Instance name", inst.definitionName AS "Processname" FROM view_activity act, view_task task, view_identity ident, view_instance inst WHERE act.id = task.activityId AND task.actorId = ident.ID AND act.activityEnd IS NULL AND task.taskEnd IS NULL AND inst.id = act.instanceId AND inst.isArchiv = '0' AND inst.instanceEnd IS NULL AND ident.firstName = '<specific_user_firstname>' AND ident.lastName = '<specific_user_lastname>'

 


Aktivitätsbezogen

Durchschnittliche, minimale und maximale Zykluszeit aller Aktivitäten einer bestimmten Prozessdefinition (in h) pro Monat

SELECT CONCAT(DATE_FORMAT(inst.creationTime, '%Y'), '-', DATE_FORMAT(inst.creationTime, '%m')) AS Month, act.activityName AS "Activity", IF((UNIX_TIMESTAMP(act.activityEnd ) - UNIX_TIMESTAMP(act.activityStart))>0, ROUND((AVG(UNIX_TIMESTAMP(act.activityEnd) - UNIX_TIMESTAMP(act.activityStart)))/3600), '0') AS "Average cycle time", IF((UNIX_TIMESTAMP(act.activityEnd ) - UNIX_TIMESTAMP(act.activityStart))>0, ROUND((MIN(UNIX_TIMESTAMP(act.activityEnd) - UNIX_TIMESTAMP(act.activityStart)))/3600), '0') AS "Min cycle time", IF((UNIX_TIMESTAMP(act.activityEnd ) - UNIX_TIMESTAMP(act.activityStart))>0, ROUND((MAX(UNIX_TIMESTAMP(act.activityEnd) - UNIX_TIMESTAMP(act.activityStart)))/3600), '0') AS "Max cycle time" FROM view_activity act LEFT JOIN view_instance inst ON act.instanceId=inst.id WHERE act.activityEnd IS NOT NULL AND act.activityStart IS NOT NULL AND act.activityType IN ('K','S') AND inst.definitionName = '<name_of_process_definition>' GROUP BY CONCAT(DATE_FORMAT(inst.creationTime, '%Y'), '-', DATE_FORMAT(inst.creationTime, '%m')), act.activityName ORDER BY CONCAT(DATE_FORMAT(inst.creationTime, '%Y'), '-', DATE_FORMAT(inst.creationTime, '%m')) DESC;