DOCUMENTACIÓN OXIPRO
Manual de instrucciones - Base de Datos
 
×
Menú
Índice
 

3.43. ba_oportunidadencuestas

 
Nombre de la tabla en Redash:

ba_oportunidadencuestas

Nombre de la tabla en BD:

ba_oportunidadencuestas

Descripción del objetivo de la Tabla:
 
Tipo de tabla:
Maestra
Fecha versión actual:
14-Marzo-2023
Declaración SQL:
SELECT
   vtiger_accountgrouprelation.groupname AS Regional,
   vtiger_encuestavisita.entidadname,
   vtiger_crmentity.createdtime,
   vtiger_encuestavisita.fechadiligencia,
   vtiger_encuestavisita.intentos,
   vtiger_encuestavisita.estadoencuesta,
   1 AS cantidad,
   vtiger_encuestavisita.encuestavisitaid AS 'ID_Encuesta',
   vtiger_encuestavisita.consecutivo AS 'Consecutivo_Encuesta',
   vtiger_encuestavisita.identificadorencuesta AS 'Encuesta',
   vtiger_encuestavisita.tipoencuesta AS 'Tipo_Encuesta',
   vtiger_encuestavisita.paciente AS 'ID_Paciente',
   AVG(DATEDIFF(vtiger_encuestavisita.fechadiligencia, vtiger_crmentity.createdtime)) as PromedioTiempoEjecucion,
   count(*) as conteoCumplimiento,
   #01 (
      SELECT
         vtiger_pacientesii.identificador_paciente
      FROM
         vtiger_pacientesii
      WHERE
         vtiger_pacientesii.pacientesiiid = vtiger_encuestavisita.paciente
   )
   AS 'Nombre_Paciente',
   vtiger_encuestavisita.encuestador AS 'ID_Encuestador',
   CONCAT(vtiger_users.first_name, ' ', vtiger_users.last_name) AS 'Encuestador',
   a.oportunidad AS 'Oportunidad',
   DATEDIFF(vtiger_encuestavisita.fechadiligencia, vtiger_crmentity.createdtime) AS 'Tiempo_Ejecucion',
 #02  (
      CASE
         WHEN
            DATEDIFF(vtiger_encuestavisita.fechadiligencia, vtiger_crmentity.createdtime) <= a.oportunidad
         THEN
            "SI"
         ELSE
            "NO"
      END
   )
   AS Cumplimiento
FROM
   (
      SELECT
         vtiger_encuestavisita.encuestavisitaid AS 'ID_Encuesta_visita',
         (
            CASE
               WHEN
                  (
                     ROUND((LENGTH(vtiger_encuestavisita.tipoencuesta) - LENGTH(REPLACE(vtiger_encuestavisita.tipoencuesta, ", ", ""))) / LENGTH(", "))
                  )
                  = 0
               THEN
(
                  SELECT
                     vtiger_configencuestas.tiempolimite
                  FROM
                     vtiger_configencuestas
                  WHERE
                     vtiger_configencuestas.tipoencuesta = vtiger_encuestavisita.tipoencuesta)
                  WHEN
                     (
                        ROUND((LENGTH(vtiger_encuestavisita.tipoencuesta) - LENGTH(REPLACE(vtiger_encuestavisita.tipoencuesta, ", ", ""))) / LENGTH(", "))
                     )
                     = 1
                  THEN
(
                     SELECT
                        vtiger_configencuestas.tiempolimite
                     FROM
                        vtiger_configencuestas
                     WHERE
                        vtiger_configencuestas.tipoencuesta IN
                        (
(SUBSTRING_INDEX(vtiger_encuestavisita.tipoencuesta, ',', 1)),
                           (
                              SUBSTRING_INDEX(vtiger_encuestavisita.tipoencuesta, ',', - 1)
                           )
                        )
                     ORDER BY
                        vtiger_configencuestas.tiempolimite DESC LIMIT 1)
                     WHEN
                        (
                           ROUND((LENGTH(vtiger_encuestavisita.tipoencuesta) - LENGTH(REPLACE(vtiger_encuestavisita.tipoencuesta, ", ", ""))) / LENGTH(", "))
                        )
                        = 2
                     THEN
(
                        SELECT
                           vtiger_configencuestas.tiempolimite
                        FROM
                           vtiger_configencuestas
                        WHERE
                           vtiger_configencuestas.tipoencuesta IN
                           (
(SUBSTRING_INDEX(vtiger_encuestavisita.tipoencuesta, ',', 1)),
                              (
                                 SUBSTRING_INDEX(SUBSTRING_INDEX(vtiger_encuestavisita.ti poencuesta, ',', 2), ',', - 1)
                              )
,
                              (
                                 SUBSTRING_INDEX(vtiger_encuestavisita.tipoencuesta, ',', - 1)
                              )
                           )
                        ORDER BY
                           vtiger_configencuestas.tiempolimite DESC LIMIT 1)
                        ELSE
                           5
            END
         )
         AS 'oportunidad'
      FROM
         vtiger_encuestavisita
   )
   a,
   (
      vtiger_encuestavisita
      INNER JOIN
         vtiger_crmentity
         ON (vtiger_encuestavisita.encuestavisitaid = vtiger_crmentity.crmid)
      INNER JOIN
         ON (vtiger_encuestavisita.entidad = vtiger_accountgrouprelation.accountid)
      LEFT JOIN
         vtiger_users
         ON (vtiger_users.id = vtiger_encuestavisita.encuestador)
   )
WHERE
   a.ID_Encuesta_visita = vtiger_encuestavisita.encuestavisitaid
   AND
   (
      vtiger_crmentity.createdtime >= '2020-01-01'
   )
   AND
   (
      vtiger_encuestavisita.estadoencuesta = 'Realizada'
   )
GROUP BY
   Cumplimiento
Tablas involucradas:
  •  vtiger_encuestavisita (Encuestas).
  •  vtiger_crmentity (Datos de creación).
  •  vtiger_users (Usuarios).
  •  vtiger_accountgrouprelation (Grupos).
Columnas involucradas:
  •  vtiger_accountgrouprelation.groupname AS Regional.
  •   vtiger_encuestavisita.entidadname.
  •   vtiger_crmentity.createdtime.
  •   vtiger_encuestavisita.fechadiligencia.
  •   vtiger_encuestavisita.intentos.
  •   vtiger_encuestavisita.estadoencuesta.
  •   1 AS cantidad.
  •   vtiger_encuestavisita.encuestavisitaid AS 'ID_Encuesta'.
  •   vtiger_encuestavisita.consecutivo AS 'Consecutivo_Encuesta'.
  •   vtiger_encuestavisita.identificadorencuesta AS 'Encuesta'.
  •   vtiger_encuestavisita.tipoencuesta AS 'Tipo_Encuesta'.
  •   vtiger_encuestavisita.paciente AS 'ID_Paciente'.
  •   AVG(DATEDIFF(vtiger_encuestavisita.fechadiligencia, vtiger_crmentity.createdtime)) as PromedioTiempoEjecucion.
  •  count(*) as conteoCumplimiento.
  •  vtiger_encuestavisita.encuestador AS 'ID_Encuestador'.
  •  CONCAT(vtiger_users.first_name, ' ', vtiger_users.last_name) AS 'Encuestador'.
  •  a.oportunidad AS 'Oportunidad'.
  •  DATEDIFF(vtiger_encuestavisita.fechadiligencia, vtiger_crmentity.createdtime) AS 'Tiempo_Ejecucion'.
  •  #02 (Cumplimiento)
Ubicación (URL) en Redash:
Ubicación (RUTA) en base de datos:
206.189.187.192/CRM/Tables/

ba_oportunidadencuestas

Especificaciones técnicas de los campos involucrados:
Tiempo de ejecución CRON:
Cada dia, a las 23:55 horas.