Consultas de Escenarios de negocio

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Automation - ambientes de pruebas y producción > ODS Operational Data Store > Navegar y extraer información de ODS >

Consultas de Escenarios de negocio

Introducción

Este documento proporciona ejemplos de consultas construidas a partir de Vistas predeterminadas (vwBA_ODS_*) y tablas para extraer información valiosa para escenarios de negocio comunes.

 

Aunque asisten en la construcción de consultas, no reemplazan la necesidad de que usted desarrolle sus propias consultas debido a incertidumbres en definiciones específicas. Estas incertidumbres pueden requerir aclaración de su parte con respecto a aspectos como la inclusión de Casos cerrados/abiertos, tipos de Tareas o el orden deseado. A pesar de estas incertidumbres, las consultas explicadas en el documento deberían ser relativamente fáciles de abordar.

 

Consultas

Antes de presentar las consultas, es importante explicar brevemente el esquema del proceso de construcción de consultas.

 

Cada consulta de escenario de negocio presenta una lista de atributos requeridos, junto con la definición de cada atributo. Por ejemplo, si la consulta necesita extraer el identificador del Workitem, el atributo a considerar es idWorkItem, y la descripción (que también puede encontrar en la sección de entidades correspondientes de la documentación del ODS) es El identificador del Workitem.

 

Además, la consulta construida se proporciona para su uso, y también se presenta el resultado de la extracción de información.

 

Tareas Abiertas (Workitems)

La consulta de Tareas Abiertas (Workitems) presenta las tareas pertenecientes a un caso particular que actualmente están abiertas y asignadas a un usuario.

 

Los atributos obtenidos al ejecutar esta consulta incluyen:

 

idWorkItem: El identificador del Workitem.

idCase: El identificador de la instancia del Caso.

idTask: El identificador de la Tarea.

idTaskType: El identificador del tipo de Tarea.

idWorkItemState: El identificador del estado del Workitem.

idWorkflow: El identificador del Flujo de trabajo del Proceso.

idWFClass: El identificador del Proceso.

idUser: El identificador único del Usuario.

CaseNumber: El número del Caso.

TaskName: El nombre para mostrar de la Tarea.

ProcessName: El nombre del Proceso.

ProcessVersion: La versión del Proceso.

EntryDate: La fecha y hora en que el Workitem fue creado en el sistema.

EstimatedSolutionDate: La fecha y hora estimadas para resolver el Workitem.

SLA: El Acuerdo de Nivel de Servicio para la Tarea, que representa la duración definida esperada para completar la Tarea.

ElapsedTime: La duración transcurrida de una Tarea abierta hasta el momento actual.

ElapsedTimeWTS: La duración transcurrida hasta ahora para una Tarea abierta, considerando el Esquema de Tiempo de Trabajo.

AssignedUserName: El nombre completo del Usuario asignado al Elemento de trabajo.

 

Ejemplo de resultado

Tras la ejecución, la consulta de Tareas Abiertas produce un resultado en forma de una tabla que se asemeja a lo siguiente:

 

idWorkitem

idCase

idTask

idTaskType

idWorkItemState

idWorkflow

idWfClass

idUser

CaseNumber

TaskName

ProcessName

ProcessVersion

20129298

3792775

11543

2

1

175

131

956964

3

# repeticiones

BizTest

1.0

20142465

3798798

11500

2

3

175

131

956964

6

GetWork

BizTest

1.0

20140506

3798266

5991

21

1

129

96

1038457

CEA23113

Queue: Work

CustomerEngagementAdHoc

1.0

 

EntryDate

EstimatedSolutionDate

SLA

ElapsedTime

ElapsedTimeWTS

AssignedUserName

2023-11-13 17:21:56.997

2023-11-13 17:21:56.000

00:00:00.0000000

03:31:00.4233333

0

Jorge Escobar

2023-11-15 11:10:19.863

2023-11-15 11:10:19.000

00:00:00.0000000

09:42:37.5566667

0

Jorge Escobar

2023-11-14 13:54:44.137

2023-11-14 13:54:44.000

00:00:00.0000000

06:58:13.2833333

0

System Account - Bizagi Queue

 

Consulta

La consulta se construye utilizando los atributos mencionados anteriormente, junto con la Vista vwBA_ODS_WFE_WORKITEM, que es una de las Vistas de Casos predeterminadas proporcionadas por el servicio ODS. La consulta formulada es la siguiente:

 

select v.idWorkitem
  , v.idCase
  , v.idTask
  , v.idTaskType
  , v.idWorkItemState
  , v.idWorkflow
  , v.idWfClass
  , u.idUser
  , v.radNumber [CaseNumber]
  , v.tskDisplayName [TaskName]
  , v.wfClsName
  , v.wfClsDisplayName [ProcessName]
  , v.wfVersion [ProcessVersion]
  , v.wiEntryDate [EntryDate]
  , v.wiEstimatedSolutionDate [EstimatedSolutionDate]
  , convert(time, dateadd(minute, t.tskDuration, 0)) [SLA]
  , convert(time, getdate() - v.wiEntryDate) [ElapsedTime]
  --, 0 [ElapsedTimeWTS]
  , u.fullName [AssignedUserName]
from vwBA_ODS_WFE_WORKITEM v
join TASK t on t.idTask = v.idTask
join CURRENTASSIGNEE ca on ca.idWorkItem = v.idWorkitem
join WFUSER u on u.idUser = ca.idUser
where v.idTaskType in (2, 12, 21, 39, 43)
and v.wiClosed = 0
and ca.Deleted = 0
order by [ProcessName], [ProcessVersion], [TaskName], [CaseNumber]

 

Actividades

La consulta de Actividades enumera las Actividades que pertenecen a un caso específico y asignadas a un Usuario específico, indicando el estado de cada Actividad (por ejemplo, Completada, Inactiva, etc.).

 

Activity ID: El identificador único para la Actividad.

Case ID: El identificador para el Caso al cual pertenece la Actividad.

Case Number: El número del Caso.

Task Name: El nombre para mostrar de la Tarea (Actividad).

Task Type: Nombre del tipo de Tarea (Actividad).

Activity Status: El estado actual de la Actividad.

Closed: Booleano que identifica si el Workitem está abierto o cerrado, donde 1 representa Cerrado y 0 representa Abierto.

Process Name: El nombre del Proceso.

Process Version: La versión del Proceso.

Entry Date: La fecha y hora en que el Workitem fue creado en el sistema.

Estimated Solution Date: La fecha y hora estimadas para resolver el Workitem.

Solution Date: Fecha y hora que indican cuando el Workitem fue efectivamente cerrado.

SLA: El Acuerdo de Nivel de Servicio para la Tarea, que representa la duración definida esperada para completar la Tarea.

Duration: El tiempo transcurrido entre la Fecha de Entrada y la Fecha de Solución.

AssignedUserName: El nombre completo del Usuario asignado al Workitem.

 

Ejemplo de resultado

Tras la ejecución, la consulta de Actividades produce un resultado en forma de una tabla que se asemeja a lo siguiente:

 

Activity ID

Case ID

Case Number

Task Name

Task Type

Activity Status

Closed

Process Name

Process Version

Entry Date

Estimated Solution Date

Solution Date

SLA

20166833

3816275

CEB23111

Intervene: Cancel Abort Get 360 Timer

Event

Completed

1

Get 360 View

1.0

2023-11-30 09:28:44.380

9999-12-31 23:59:59.997

2023-11-30 09:28:49.493

00:00:00.0000000

20166865

3816276

CEB23111

Intervene: Cancel Timer Abort Suppl Serv

Event

Completed

1

Supplementary Services CE

1.0

2023-11-30 09:28:50.963

9999-12-31 23:59:59.997

2023-11-30 09:28:59.773

00:00:00.0000000

20166889

3817276

CEB23111

Start work on case

ManualState

Completed

1

Customer Engagement Branch

1.0

2023-11-30 09:29:01.307

2023-11-30 19:29:01.000

2023-11-30 09:33:31.377

10:00:00.0000000

20166941

3816277

CET23121

Intervene: Cancel Timer Abort Suppl Serv

Event

Completed

1

Supplementary Services CE

1.0

2023-12-04 12:30:18.417

9999-12-31 23:59:59.997

2023-12-04 12:30:24.380

00:00:00.0000000

20166989

3816278

CET23121

Integration: SP. Transaction Closed

Event

Inactive

0

Service Package

1.0

2023-12-04 12:42:53.037

9999-12-31 23:59:59.997

NULL

00:00:00.0000000

 

Duration

AssignedUserName

00:00:05.1133333

Bizagi Admon account

00:00:08.8100000

Bizagi Admon account

00:04:30.0700000

Jorge Escobar

00:00:05.9633333

Bizagi Admon account

NULL

System account - CARMA

 

Consulta

La consulta se construye utilizando los atributos mencionados anteriormente, junto con la Vista vwBA_ODS_WFE_WORKITEM, de la siguiente manera:

 

select v.idWorkitem [Activity ID]

 , v.idCase [Case ID]

 , v.radNumber [Case Number]

 , v.tskDisplayName [Task Name]

 , v.tskTpName [Task Type]

 , v.wiName [Activity Status]

 , v.wiClosed [Closed]

 , v.wfClsDisplayName [Process Name]

 , v.wfVersion [Process Version]

 , v.wiEntryDate [Entry Date]

 , v.wiEstimatedSolutionDate [Estimated Solution Date]

 , v.wiSolutionDate [Solution Date]

 , convert(time, dateadd(minute, v.tskDuration, 0)) [SLA]

 , convert(time, v.wiSolutionDate - v.wiEntryDate) [Duration]

 , u.fullName [AssignedUserName]

from vwBA_ODS_WFE_WORKITEM v

join WISTATELOG al on al.idWorkItem = v.idWorkitem

join WFUSER u on u.idUser = al.idUser

where v.idTaskType in (2, 12, 21, 39, 43)

and al.idState = 4

and v.wiClosed = 1

union

select v.idWorkitem [Activity ID]

 , v.idCase [Case ID]

 , v.radNumber [Case Number]

 , v.tskDisplayName [Task Name]

 , v.tskTpName [Task Type]

 , v.wiName [Activity Status]

 , v.wiClosed [Closed]

 , v.wfClsDisplayName [Process Name]

 , v.wfVersion [Process Version]

 , v.wiEntryDate [Entry Date]

 , v.wiEstimatedSolutionDate [Estimated Solution Date]

 , v.wiSolutionDate [Solution Date]

 , convert(time, dateadd(minute, v.tskDuration, 0)) [SLA]

 , convert(time, v.wiSolutionDate - v.wiEntryDate) [Duration]

 , u.fullName [AssignedUserName]

from vwBA_ODS_WFE_WORKITEM v

join CURRENTASSIGNEE ca on ca.idWorkItem = v.idWorkitem

join WFUSER u on u.idUser = ca.idUser

where v.idTaskType in (2, 12, 21, 39, 43)

and ca.Deleted = 0

and v.wiClosed = 0

 

Casos

La consulta de Casos recupera Casos asignados a un Usuario específico dentro de un Proceso particular. Incluye el estado del Caso (Iniciado, En ejecución, Abortado, Completado) junto con sus fechas de creación y solución.

 

Los atributos obtenidos al ejecutar esta consulta incluyen:

 

Case ID: El identificador para el Caso.

Case Number: El número del Caso.

idWorkflow: El identificador del Flujo de trabajo al que está asociado el Workitem.

Creator User: El nombre completo del Usuario que creó el Caso.

Parent Case ID: Identificador para el Caso Padre, que permite la identificación de si un Proceso es Padre y los Subprocesos que incluye.

Creation Date: La fecha y hora exactas de creación del Caso, guardadas en el formato de fecha y hora del servidor.

Solution Date: La fecha y hora exactas de solución del Caso, guardadas en el formato de fecha y hora del servidor.

Estimated Solution Date: La fecha de solución del Caso calculada por Bizagi cuando se creó el Caso.

SLA: La duración esperada para completar la Tarea.

Process Name: El nombre para mostrar del Proceso.

Process Version: La versión del Proceso.

Case status: El estado actual del Caso.

 

Ejemplo de resultado

Tras la ejecución, la consulta de Casos produce un resultado en forma de una tabla que se asemeja a lo siguiente:

 

Case ID

Case Number

Workflow ID

Creator User

Parent Case ID

Creation Date

Solution Date

Estimated Solution Date

Duration

SLA

Process Name

Process Version

Case Status

3819822

CEW231226

74

Bizagi Admon account

3819342

2023-12-07 11:53:40.447

2023-12-07 11:53:40.000

NULL

23:59:59.5533333

00:00:00.0000000

Service Package

1.0

Initiated

3819823

CEW231227

74

Bizagi Admon account

3819344

2023-12-07 12:05:47.050

2023-12-07 12:05:47.000

NULL

23:59:59.9500000

00:00:00.0000000

Service Package

1.0

Initiated

3817826

22

175

Jorge Escobar

NULL

2023-12-05 12:16:33.513

2023-12-05 12:16:33.000

NULL

23:59:59.4866667

00:00:00.0000000

BizTest

1.0

Running

3817837

23

175

Luis Camargo

NULL

2023-12-05 15:44:57.820

2023-12-05 15:44:57.000

NULL

23:59:59.1800000

00:00:00.0000000

BizTest

1.0

Running

3817277

CEB23111

4

Jorge Escobar

3817276

2023-11-30 09:33:31.437

2023-12-10 20:00:20.943

2023-11-30 09:43:31.000

10:26:49.5066667

10:27:00.0000000

Authenticate

1.0

Aborted

3817830

CET23122

86

Paul Meeser

NULL

2023-12-05 13:30:14.663

2023-12-07 14:20:42.043

2023-12-05 13:30:14.000

00:50:27.3800000

00:50:00.0000000

Customer Engagement Telephony

1.0

Aborted

3817279

1

175

Jorge Escobar

NULL

2023-11-30 12:54:47.607

2023-12-14 11:11:48.240

2023-11-30 12:54:47.000

22:17:00.6333333

22:17:00.0000000

BizTest

1.0

Completed

3817280

CEW23111

147

IBC Wealth Development

NULL

2023-11-30 13:12:47.210

2023-12-07 13:12:52.250

2023-11-30 13:12:47.000

00:00:05.0400000

00:00:00.0000000

Customer Engagement WRM

1.0

Completed

 

Consulta

La consulta se construye utilizando los atributos mencionados anteriormente, junto con la Vista vwBA_ODS_WFE_CASE, que es una de las Vistas de Casos predeterminadas proporcionadas por el servicio ODS. La consulta formulada es la siguiente:

 

select v.idCase

 , v.radNumber

 , v.idWorkflow

 , u.fullName

 , v.idParentCase

 , v.casCreationDate

 , v.casSolutionDate

 , v.casEstimatedSolutionDate

 , convert(time, v.casSolutionDate - v.casCreationDate) [Duration]

 , convert(time, dateadd(minute, v.caseDuration, 0)) [SLA]

 , v.wfClsDisplayName

 , v.wfVersion

 , v.csName

from vwBA_ODS_WFE_CASE v

join WFUSER u on u.idUser = v.idCreatorUser

 

Usuarios

La consulta de Usuarios obtiene la lista de Usuarios de su proyecto de automatización, incluyendo su información personal de trabajo como el correo electrónico, ubicación, número de celular y área de trabajo. Además, recupera información a nivel organizacional como el jefe del Usuario, habilidades, roles y si están configurados como una Persona dentro del proyecto.

 

Los atributos obtenidos al ejecutar esta consulta incluyen:

 

User: El Usuario asignado al Workitem.

Username: Nombre de usuario interno.

Full Name: El nombre completo del Usuario asignado al Workitem.

Email: Correo electrónico del usuario

Location: El nombre de la ubicación del usuario.

Phone: El número de celular del usuario.

Area: El área de trabajo del usuario.

Boss User: El nombre completo del jefe del usuario.

Roles: Nombre para mostrar de los múltiples roles asociados con el usuario.

Skills: Nombre para mostrar de las múltiples habilidades asociadas con el usuario.

Personas: Nombre para mostrar de las múltiples Personas asociadas con el usuario.

 

Ejemplo de resultado

Tras la ejecución, la consulta de Usuario produce un resultado en forma de una tabla que se asemeja a lo siguiente:

 

User ID

Username

Full Name

Email

Location

Phone

Area

Boss User

Roles

Skills

Persona

7

X702360

Paul Meeser

PMe111eser@bizagi.com

East London

112345

OM-Hub

NULL

Bizagi System Administrators, OM-Case Creator CEBranch, OM-Team Leader, OM-Case Creator CEEmail, OM-CE Quality Assessor, OM-Case Creator CEOMIA, OM-Case Creator CEFacilitation, OM-Case Creator Sales Fulfilment, OM-Case Creator CESRM, OM-Case Creator Report Fraud, OM-Case Creator CE Ad hoc, OM-Case Creator ManageParty, OM-Case Creator Medical Coding, OM-Case Creator FEN, OM-BizagiDeveloper, OM-Case Creator CEDigital, OM-Case Creator CEWRM

OM-Intervene, OM-ReassignCases, OM-AbortCases, OM-Escalate, CCTier1Concierge, UWOMPMCOHIVAdmin, Digi. Robot. Money Out. NGP

NULL

 

Consulta

La consulta se elabora utilizando los atributos previamente mencionados, en conjunto con las Vistas de Usuarios (vwBA_ODS_USER) y Personas (vwBA_ODS_PERSONA). La consulta resultante se presenta a continuación:

 

select v.idUser [User ID]

 , v.userName [Username]

 , v.fullName [Full Name]

 , v.contactEmail [Email]

 , v.locDisplayName [Location]

 , v.contactCell [Phone]

 , v.areaDisplayName [Area]

 , vb.fullName [Boss User]

 , stuff(

           (   select ', ' + r.roleDisplayName

               from USERROLE ur

                         left outer join ROLE r on r.idRole = ur.idRole

               where ur.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Roles]

 , stuff(

           (   select ', ' + s.skillDisplayName

               from USERSKILL us

                         left outer join SKILL s on s.idSkill = us.idSkill

               where us.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Skills]

 , stuff(

           (   select ', ' + vp.entDisplayName

               from vwBA_ODS_PERSONA vp

                         where vp.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Persona]

from vwBA_ODS_USER v

left outer join vwBA_ODS_USER vb on vb.idUser = v.idBossUser

 

note_pin

Es posible que la Vista vwBA_ODS_PERSONA no exista si no ha configurado Personas en su proyecto. Esta Vista es dinámica y su disponibilidad depende de la presencia de Personas configuradas. Por lo tanto, si la Vista no está disponible, debería usar la siguiente consulta en su lugar:

 

Declare @CRLF varchar(4) = char(13)+char(10);

declare @sSql nvarchar(max) = N'';

declare @tPersona table

(        idEnt integer

 , entName varchar(50)

 , entDisplayName nvarchar(50)

 , entSrc varchar(26)

 , SurrogateKey bigint

 , disabled bit

 , idUser int

);

select @sSql = @sSql + N'union all select e.idEnt, e.entName, e.entDisplayName, e.entSrc, t.id' + e.entSrc + ' [SurrogateKey], su.disabled, u.idUser

from BASTAKEHOLDERUSER su (nolock)

join WFUSER u (nolock) on u.idUser = su.idUser

join ENTITY e (nolock) on e.idEnt = su.idEnt

join ' + quotename(e.entSrc) + ' t (nolock) on t.' + quotename(e.entSurrogateKey) + ' = su.idStakeholder ' + @CRLF

from ENTITY e  

where e.entType = 4; -- Personas

 

if (@sSql <> N'')

begin

 select @sSql = stuff(@sSql, 1, 10, '')

 select @sSql = N' exec (''insert into @tPersona ' + @sSql  + ' '')';

 exec (@sSql);

end;

 

select v.idUser [User ID]

 , v.userName [Username]

 , v.fullName [Full Name]

 , v.contactEmail [Email]

 , v.locDisplayName [Location]

 , v.contactCell [Phone]

 , v.areaDisplayName [Area]

 , vb.fullName [Boss User]

 , stuff(

           (   select ', ' + r.roleDisplayName

               from USERROLE ur

                         left outer join ROLE r on r.idRole = ur.idRole

               where ur.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Roles]

 , stuff(

           (   select ', ' + s.skillDisplayName

               from USERSKILL us

                         left outer join SKILL s on s.idSkill = us.idSkill

               where us.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Skills]

 , stuff(

           (   select ', ' + tp.entDisplayName

               from @tPersona tp

                         where tp.idUser = v.idUser

               for xml path('')

           )

           , 1, 2, ''

       ) AS [Persona]

from vwBA_ODS_USER v

left outer join vwBA_ODS_USER vb on vb.idUser = v.idBossUser


Last Updated 7/2/2024 8:28:33 AM