Modelo de Datos — Citas Médicas INCS 2026
Referencia única con tablas, columnas, relaciones y las 58 medidas DAX. Orientada a analistas, desarrolladores y usuarios clave del reporte de contact center.
El modelo tiene 3 tablas de hechos independientes conectadas a dimensiones compartidas. Los datos provienen de archivos CSV de BrightPattern almacenados en SharePoint.
Gestiones — Tipificaciones y facturación
Fac_Conexion — Sesiones de login
Dim_Intervalo — Franjas de 30 min
FestivosCO — Festivos Colombia
Dim_Actividad, Dim_Detalle
Dim_DisposicionAgente, Dim_Disposition
RangoCostos — Tarifas por grupo
MestraTipificacion — Catálogo oficial
Medidas — Contenedor de 55 medidas
| Tabla | Tipo | Cols | Medidas | Fuente |
|---|---|---|---|---|
| Fac_CallDetail | 🔵 Hechos | 26 | 0 | CSV SharePoint · BP call_detail |
| Fac_AgentActivity | 🔵 Hechos | 12 | 0 | CSV SharePoint · BP agent_activity |
| Fac_Conexion | 🔵 Hechos | 9 | 0 | CSV SharePoint · BP |
| Gestiones | 🔵 Hechos | 16 | 1 | CSV + Parser Power Query |
| Dim_Tiempo | 🟢 Dimensión | 17 | 0 | Generada con List.Dates |
| Dim_Agentes | 🟢 Dimensión | 5 | 0 | CSV SharePoint · AgentActivity |
| Dim_Intervalo / Servicios / Equipos / Actividad / Detalle / DisposicionAgente / Disposition | 🟢 Dimensiones | 2-5 c/u | 0 | Derivadas de hechos |
| FestivosCO · Parametros · RangoCostos · MestraTipificacion | 🟡 Referencia | 2-8 c/u | 2 | Manual / Negocio |
| Medidas | ⚪ Contenedor | 2 | 55 | Tabla virtual |
Sin resultados
| Columna | Tipo | Fuente BP | Descripción |
|---|---|---|---|
| 🔑 callId | Texto | callId | Identificador único de la interacción generado por BrightPattern. Clave primaria. Clave foránea en Gestiones y correlacionador con Fac_AgentActivity. |
| start_time | Fecha | start_time | Fecha de inicio de la interacción (zona COT, reformateada de MM/DD/YYYY a DD/MM/YYYY). Convertida a tipo Date para relacionarse con Dim_Tiempo. Fuente del Cod_Intervalo. |
| ivr_time | Entero | ivr_time | Segundos que la llamada estuvo en el IVR antes de ser encolada o transferida. No incluye tiempo de cola. |
| queue_time | Entero | queue_time | Segundos de espera en la cola del servicio antes de ser atendida. Base del ASA (Average Speed of Answer). |
| pending_time | Entero | pending_time | Segundos de timbrado en el escritorio del agente una vez enrutada (antes de que el agente contestara). |
| talk_time | Entero | talk_time | Segundos de conversación efectiva entre agente y cliente. Componente principal del AHT. Base de la clasificación de duración y facturación en Gestiones. |
| hold_time | Entero | hold_time | Segundos que la llamada estuvo en espera (hold). El cliente no habla durante este período. Componente del AHT. |
| acw_time | Entero | acw_time | After Call Work: segundos de trabajo post-llamada (tipificación, notas). El agente no puede recibir otra llamada durante ACW. Componente del AHT. |
| duration | Entero | duration | Duración total de la interacción: IVR + Cola + Pending + Talk + Hold + ACW. Tiempo desde que entró al sistema hasta que finalizó. |
| 🔗 login_id | Texto | callee_login_id | ID de login del agente que atendió la llamada (renombrado de callee_login_id). Clave foránea → Dim_Agentes[login_id]. Vacío si la llamada fue abandonada. |
| 🔗 service_name | Texto | service_name | Nombre del servicio/cola al que fue enrutada la llamada. Clave foránea → Dim_Servicios[service_name]. |
| scenario_name | Texto | scenario_name | Nombre del escenario/flujo de IVR ejecutado. Identifica qué árbol de decisión procesó la llamada. |
| 🔗 disposition | Texto | disposition | Disposición técnica del sistema al finalizar: CALLEE_TERMINATED, CALLER_TERMINATED, ABANDONED, BUSY. Clave foránea → Dim_Disposition[disposition]. Base de filtros de facturación en Gestiones. |
| 🔗 agent_disposition_name | Texto | agent_disposition_name | Tipificación del agente al finalizar (ej: "Paciente Agendado"). Clave foránea → Dim_DisposicionAgente. Base del parser de Gestiones. |
| in_service_level | Texto | in_service_level | Si la llamada se contestó dentro del umbral de nivel de servicio (true/false). Base del KPI Nivel Servicio. |
| short_abandoned | Texto | short_abandoned | Si fue un abandono corto (antes del umbral, true/false). Los abandonos cortos se excluyen del %Abandonadas. |
| caller_phone_type | Texto | caller_phone_type | Tipo del llamante: EXTERNAL (cliente) o INTERNAL (agente). Gestiones solo incluye llamadas donde este campo = "EXTERNAL". |
| callee_phone_type | Texto | callee_phone_type | Tipo del receptor: INTERNAL (agente) o EXTERNAL. Gestiones solo incluye llamadas donde este = "INTERNAL". |
| 🔗 Cod_Intervalo | Texto | Calculado PQ | Franja horaria de 30 min calculada en Power Query: "HH:MM A HH:MM". Clave foránea → Dim_Intervalo[Cod_Intervalo]. |
| ewt | Entero | ewt | Estimated Wait Time: tiempo estimado de espera en segundos comunicado al cliente al entrar a la cola. |
| from_phone | Texto | from_phone | Número de teléfono del cliente llamante. |
| ArchivoCallDetail | Texto | Metadata SP | Nombre del archivo CSV fuente en SharePoint. Útil para trazabilidad y auditoría. |
| Actualizado | Fecha/Hora | Metadata SP | Fecha de última modificación del archivo CSV en SharePoint. |
| 🔗 Grupo | Texto | Calculado PQ | Grupo de clasificación traído de Gestiones. Replica el campo para contextos de filtro bidireccional. |
| Costo | Moneda | JOIN RangoCostos | Costo monetario de la interacción según el grupo y RangoCostos. Solo mayor a cero si es facturable. |
| Columna | Tipo | Fuente BP | Descripción |
|---|---|---|---|
| 🔗 login_id | Texto | login_id | ID de login del agente. Clave foránea → Dim_Agentes[login_id]. |
| 🔗 team_name | Texto | team_name | Equipo del agente. Clave foránea → Dim_Equipos[team_name]. |
| start_time | Fecha | start_time | Fecha de inicio del evento de actividad. Relacionada con Dim_Tiempo[Date]. |
| 🔗 activity | Texto | activity | Tipo de estado/actividad: InboundCall, Ready, NotReady, ACW, OutboundCall… Clave foránea → Dim_Actividad[activity]. |
| duration | Entero | duration | Duración en segundos del estado/actividad registrado. Campo fundamental para todos los KPIs de tiempo del agente: Disponible, AUX, Productivo, Utilización. |
| 🔗 detail | Texto | detail | Sub-razón del estado: cuando activity = "NotReady" indica el motivo de pausa (Descanso, Capacitación, Reunión…). Clave foránea → Dim_Detalle[detail]. |
| talk_time | Entero | talk_time | Segundos de conversación para eventos de llamada. Complementa el talk_time de Fac_CallDetail. |
| hold_time | Entero | hold_time | Segundos en espera (hold) para eventos de llamada. |
| 🔗 Cod_Intervalo | Texto | Calculado PQ | Franja de 30 min calculada igual que en Fac_CallDetail. Clave foránea → Dim_Intervalo[Cod_Intervalo]. |
| ArchivoAgentActivity | Texto | Metadata SP | Nombre del archivo CSV fuente en SharePoint para trazabilidad. |
| FechaActualizadoAcrhivo | Fecha/Hora | Metadata SP | Fecha de última modificación del archivo CSV fuente. (Nota: "Acrhivo" conserva el typo del nombre original del modelo). |
| Columna | Tipo | Origen | Descripción |
|---|---|---|---|
| 🔑 callId | Texto | CSV Gestiones | Identificador único de la interacción. Clave primaria (DISTINCT). Clave foránea en relación bidireccional → Fac_CallDetail[callId]. |
| 🔗 login_id | Texto | JOIN Fac_CallDetail | ID del agente. Excluye agentes de prueba: 29182739, 31888719, 1144199508 y vc_agarcia. |
| agent_disposition_name | Texto | Fac_CallDetail | Código de resultado del agente (ej: "Paciente Agendado"). Base del proceso de clasificación de grupo y facturación. |
| agent_disposition_notes | Texto | CSV Gestiones | Texto libre de notas del agente en BrightPattern. Puede tener formato "Clave:Valor|Clave:Valor" o posicional separado por "|". El parser Power Query extrae de aquí Categoría, Motivo, Detalle y Grupo. |
| talk_time | Entero | Fac_CallDetail | Segundos de conversación. Determina si la gestión es facturable: talk_time ≥ 10 seg es condición necesaria. |
| Cód. resultado | Texto | Parser notas | Código de resultado extraído de las notas. Si no existe en las notas, fallback = agent_disposition_name. |
| Código | Texto | Parser notas | Código numérico de tipificación extraído (ej: "1.2.3"). Identificado en el parser por ser un valor numérico separado por puntos. |
| Categoría | Texto | Parser notas | Categoría de primer nivel de la tipificación. El parser normaliza: elimina HTML, espacios dobles y extrae el texto antes del primer " - ". |
| Motivo | Texto | Parser notas | Motivo de segundo nivel de la jerarquía de tipificación. Extraído por clave "Motivo:" o posicionalmente desde las notas. |
| Detalle | Texto | Parser notas | Detalle de tercer nivel. Nivel más granular de la jerarquía disponible en las notas del agente. |
| 🔗 Grupo | Texto | Lógica clasificación | Grupo de facturación final. Prioridad: 1) Mapa = "Sin interacción" → forzado. 2) Grupo de notas. 3) Mapa disposiciones. 4) MestraTipificacion. 5) "Sin tipificación". Clave foránea → RangoCostos[Grupo]. |
| Clasificacion Duracion | Texto | Calculado PQ | Rango de duración: "= 0 seg", "menor a 10 seg", "de 10 a 29 seg", "de 30 a 600 seg", "mayor a 600 seg". |
| Estado Facturacion | Texto | Calculado PQ | "Sí" / "No". Una gestión es facturable si: Grupo válido, talk_time ≥ 10 seg. Los grupos "Sin interacción" y "Sin tipificación" nunca son facturables. |
| Motivo Facturacion | Texto | Calculado PQ | Explicación textual del motivo de facturabilidad o no. Permite auditar la lógica fila por fila. |
| Costo | Moneda | JOIN RangoCostos | Valor monetario de la gestión según el Grupo y la tabla RangoCostos. Cero si Estado Facturacion = "No". |
| Columna | Tipo | Fuente | Descripción |
|---|---|---|---|
| ArchivoAgentConection | Texto | Metadata SP | Nombre del archivo CSV fuente en SharePoint. |
| FechaActualizadoAcrhivo | Fecha/Hora | Metadata SP | Fecha de última modificación del archivo CSV fuente. |
| 🔗 login_id | Texto | BP conexión | ID de login del agente. Clave foránea → Dim_Agentes[login_id]. |
| tipo_desconexion | Texto | BP conexión | Tipo de desconexión registrada por el sistema (ej. logout, timeout). |
| LoginTime | Entero | BP conexión | Tiempo total conectado en segundos según el evento. |
| tiempo_trabajo_seg | Entero | BP conexión | Duración total de la sesión de trabajo efectiva en segundos. Base de las medidas Tiempo conexión y Horas de conexión. |
| 🔗 inicio_sesion | Fecha | BP conexión | Fecha de inicio de sesión. Clave foránea → Dim_Tiempo[Date]. |
| 🔗 Cod_Intervalo | Texto | Calculado | Franja horaria de 30 min del inicio de sesión. Clave foránea → Dim_Intervalo[Cod_Intervalo]. |
| Columna | Tipo | Fuente | Descripción |
|---|---|---|---|
| 🔑 Date | Fecha | List.Dates | Fecha única del calendario. Clave primaria. Relacionada con start_time de los 3 hechos y con Fecha de FestivosCO. |
| Año | Entero | Date.Year | Año (ej: 2024, 2025, 2026). Filtro principal en segmentadores anuales. |
| Mes | Entero | Date.Month | Número de mes (1-12). Campo de ordenamiento del Nombre del mes. |
| Nombre del mes | Texto | Date.MonthName | Nombre del mes en español. Usado en ejes de gráficos y segmentadores. |
| Fin de mes | Fecha | Date.EndOfMonth | Último día del mes. Útil para acumulados MTD y períodos hasta fin de mes. |
| Inicio del mes | Fecha | Date.StartOfMonth | Primer día del mes. Para comparativos mes contra mes. |
| Días del mes | Entero | Date.DaysInMonth | Total de días del mes (28-31). Normaliza métricas por días del período. |
| Trimestre | Entero | Date.QuarterOfYear | Trimestre del año (1-4). |
| Semana del año | Entero | Date.WeekOfYear | Semana del año (1-53). |
| Semana del mes | Entero | Date.WeekOfMonth | Semana dentro del mes (1-5). Análisis intramensual. |
| Día | Entero | Date.Day | Día del mes (1-31). |
| Día de la semana | Entero | Date.DayOfWeek | Número del día de la semana (0=domingo). Campo de ordenamiento del Nombre del día. |
| Nombre del día | Texto | Date.DayOfWeekName | Nombre del día en español (Lunes, Martes…). Análisis de demanda por día. |
| Antigüedad | Duración | LocalNow - Date | Tiempo transcurrido hasta hoy. Campo intermedio para calcular Total de años. |
| Total de años | Entero | TotalDays / 365 | Antigüedad en años completos. |
| Dias Laborales | Decimal | Calculado | 1 = día laboral, 0.5 = sábado, 0 = domingo/festivo. Considera fines de semana y festivos colombianos (FestivosCO). |
| Columna | Tipo | Fuente | Descripción |
|---|---|---|---|
| 🔑 login_id | Texto | agent_activity | ID de login único del agente en BrightPattern. Clave primaria. Referenciada desde Fac_CallDetail, Fac_AgentActivity, Fac_Conexion y Gestiones. |
| first_name | Texto | agent_activity | Nombre del agente con formato Title Case. |
| last_name | Texto | agent_activity | Apellido del agente con formato Title Case. |
| nombre_completo | Texto | Calculado PQ | Nombre completo (first_name & " " & last_name). Campo recomendado para etiquetas en visuales del reporte. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 Cod_Intervalo | Texto | Código único de la franja: "HH:MM A HH:MM" (ej: "08:00 A 08:29"). Clave primaria. |
| Hora_Inicio | Entero | Hora de inicio del intervalo (0-23). Para ordenamiento cronológico. |
| Minuto_Inicio | Entero | Minuto de inicio (0 o 30). |
| Orden | Entero | Número de orden (1-48). Campo de ordenamiento para ejes de gráficos. |
| Etiqueta | Texto | Etiqueta legible del intervalo para presentación en visuales. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 service_name | Texto | Nombre del servicio/cola de BrightPattern. Clave primaria. |
| service_id | Texto | ID interno del servicio en BrightPattern. |
| service_type | Texto | Tipo de servicio (inbound, outbound, etc.). |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 team_name | Texto | Nombre del equipo. Clave primaria. |
| team_id | Texto | ID interno del equipo en BrightPattern. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 activity | Texto | Tipo de actividad: InboundCall, Ready, NotReady, ACW, OutboundCall… Clave primaria. |
| activity_label | Texto | Etiqueta en español: InboundCall → "Llamada Entrante", Ready → "Disponible", NotReady → "No Disponible". |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 detail | Texto | Sub-razón del estado (Descanso, Capacitación, Reunión…). Clave primaria. |
| detail_label | Texto | Etiqueta legible del detalle en español. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 agent_disposition_name | Texto | Nombre de la disposición del agente (ej: "Paciente Agendado"). Clave primaria. |
| disposition_label | Texto | Categoría de la disposición para uso en filtros. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 disposition | Texto | Disposición técnica única: CALLEE_TERMINATED, CALLER_TERMINATED, ABANDONED, BUSY… Clave primaria. |
| disposition_group | Texto | Agrupación: "Contestada", "Abandonada", "Sin respuesta"… |
| is_handled | Lógico | True si la disposición corresponde a llamada atendida por agente. |
| disposition_label_es | Texto | Traducción al español de la disposición técnica. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 Fecha | Fecha | Fecha del festivo. Clave primaria, relación 1:1 ↔ Dim_Tiempo[Date]. |
| Festivo | Texto | Nombre del festivo colombiano. |
| Tipo | Texto | Tipo de festivo (nacional, regional…). |
| Columna | Tipo | Descripción |
|---|---|---|
| Parametro | Texto | Nombre del parámetro: "Meta Nivel Servicio", "Meta TMO Seg", "Meta Ocupacion", "Meta Utilización", "Meta Aux", "Meta Atendidas", "Meta Paciente Agendados"… |
| Valor | Decimal | Valor numérico. Los porcentajes en decimal (0.85 = 85%). Los tiempos en segundos o minutos según el parámetro. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 Grupo | Texto | Nombre del grupo de tipificación ("Grupo 1", "Grupo 2", "Grupo 4"…). Clave primaria. |
| Costo | Moneda | Tarifa por gestión facturable en este grupo. Se aplica a cada fila de Gestiones con Estado Facturacion = "Sí". |
| Descripcion | Texto | Descripción del grupo y qué tipo de gestiones incluye. |
| Orden | Entero | Campo de ordenamiento para presentar grupos en el orden correcto. |
| Columna | Tipo | Descripción |
|---|---|---|
| 🔑 CÓDIGO DE RESULTADO | Texto | Código de resultado único = agent_disposition_name de Fac_CallDetail. Clave primaria. Referenciado en el JOIN de Gestiones. |
| 🔗 GRUPO | Texto | Grupo de facturación. Clave foránea → RangoCostos[Grupo]. Tercer nivel de fallback en Gestiones. |
| CATEGORÍA | Texto | Categoría de primer nivel en el catálogo oficial. |
| MOTIVO | Texto | Motivo de segundo nivel. |
| DETALLE | Texto | Detalle de tercer nivel. |
| CÓDIGO NUMÉRICO | Texto | Código numérico jerárquico (ej: "1.1.1"). Identificable en el parser de notas del agente. |
| DESCRIPCIÓN | Texto | Descripción larga del código de resultado. |
| ACTIVO | Texto | Si el código está actualmente vigente en el sistema. |
Todas son Many-to-One (*:1) excepto FestivosCO↔Dim_Tiempo (1:1). Solo 2 son bidireccionales.
| # | Tabla Muchos | Columna | Tabla Uno | Columna | Dirección | Card. | Propósito | |
|---|---|---|---|---|---|---|---|---|
| 1 | Fac_CallDetail | start_time | → | Dim_Tiempo | Date | → Una | *:1 | Filtrar llamadas por fecha del calendario |
| 2 | Fac_AgentActivity | start_time | → | Dim_Tiempo | Date | → Una | *:1 | Filtrar actividad por fecha del calendario |
| 3 | Fac_Conexion | inicio_sesion | → | Dim_Tiempo | Date | → Una | *:1 | Filtrar conexiones por fecha |
| 4 | FestivosCO | Fecha | ↔ | Dim_Tiempo | Date | ↔ Ambas | 1:1 | Marcar días festivos en el calendario |
| 5 | Fac_CallDetail | login_id | → | Dim_Agentes | login_id | → Una | *:1 | Filtrar llamadas por agente |
| 6 | Fac_AgentActivity | login_id | → | Dim_Agentes | login_id | → Una | *:1 | Filtrar actividad por agente |
| 7 | Fac_Conexion | login_id | → | Dim_Agentes | login_id | → Una | *:1 | Filtrar conexiones por agente |
| 8 | Fac_CallDetail | Cod_Intervalo | → | Dim_Intervalo | Cod_Intervalo | → Una | *:1 | Análisis intradía de llamadas |
| 9 | Fac_AgentActivity | Cod_Intervalo | → | Dim_Intervalo | Cod_Intervalo | → Una | *:1 | Análisis intradía de actividad |
| 10 | Fac_Conexion | Cod_Intervalo | → | Dim_Intervalo | Cod_Intervalo | → Una | *:1 | Análisis intradía de conexiones |
| 11 | Fac_CallDetail | service_name | → | Dim_Servicios | service_name | → Una | *:1 | Filtrar llamadas por servicio/cola |
| 12 | Fac_AgentActivity | team_name | → | Dim_Equipos | team_name | → Una | *:1 | Filtrar actividad por equipo |
| 13 | Fac_AgentActivity | activity | → | Dim_Actividad | activity | → Una | *:1 | Filtrar por tipo de estado del agente |
| 14 | Fac_AgentActivity | detail | → | Dim_Detalle | detail | → Una | *:1 | Filtrar por sub-razón de pausa |
| 15 | Fac_CallDetail | agent_disposition_name | → | Dim_DisposicionAgente | agent_disposition_name | → Una | *:1 | Filtrar por tipificación del agente |
| 16 | Fac_CallDetail | disposition | → | Dim_Disposition | disposition | → Una | *:1 | Filtrar por disposición técnica del sistema |
| 17 | Fac_CallDetail | callId | ↔ | Gestiones | callId | ↔ Ambas | *:1 | Correlacionar llamadas con tipificaciones. Bidireccional para que filtros de Gestiones afecten Fac_CallDetail. |
| 18 | MestraTipificacion | GRUPO | → | RangoCostos | Grupo | → Una | *:1 | Asignar tarifa a cada código de tipificación |
FestivosCO↔Dim_Tiempo (1:1): marca festivos. Fac_CallDetail↔Gestiones: permite que filtros de tipificación afecten métricas de llamadas. Las bidireccionales pueden causar ambigüedad; usar CROSSFILTER en DAX con precaución.
Dim_Agentes tiene 3 relaciones activas simultáneas: desde Fac_CallDetail, Fac_AgentActivity y Fac_Conexion. Un filtro por agente impacta los tres tipos de hechos a la vez.
Ambas dimensiones reciben relaciones de los 3 hechos. Un filtro de fecha o de franja horaria filtra simultáneamente llamadas, actividad de agentes y conexiones.
Gestiones no tiene relación directa con dimensiones de tiempo ni de agente. Hereda los filtros mediante la relación bidireccional con Fac_CallDetail o mediante USERELATIONSHIP en DAX.
Sin resultados
COUNTROWS sobre Fac_CallDetail. Cuenta todas las interacciones registradas en call_detail. Equivale a calls_offered de BrightPattern. Incluye contestadas, abandonadas y desbordadas. Base de cálculo de la mayoría de KPIs.
Fac_CallDetail
Filtra Fac_CallDetail donde la interacción fue encolada (queue_time > 0 o disposición válida). Excluye llamadas rechazadas antes de entrar a la cola. Denominador del indicador %Abandonadas.
Cuenta las interacciones de Fac_CallDetail donde disposition es CALLEE_TERMINATED o CALLER_TERMINATED y login_id no está vacío. Equivale a calls_handled de BrightPattern. Denominador de AHT y ASA, numerador de Nivel de Atención.
Cuenta Fac_CallDetail con disposición ABANDONED, excluyendo short_abandoned = "true" si hay umbral configurado. Corresponde a calls_abandoned de BrightPattern. Numerador de %Abandonadas.
DIVIDE(COUNTROWS donde in_service_level = "true", [Contestadas] + [Abandono sin cortos]). El umbral viene de Parametros. Equivale a calls_answered_in_service_level / calls_offered de BrightPattern. Comparar con Meta nivel de servicio.
DIVIDE(SUM(talk_time) + SUM(hold_time) + SUM(acw_time), [Contestadas]) sobre Fac_CallDetail. Corresponde al Average Handling Time de BrightPattern. Comparar con Meta TMO Seg. Usar TMO IN para la versión formateada.
Convierte [AHT SEG] a texto con formato legible: FORMAT([AHT SEG]/86400,"hh:mm:ss") o equivalente. Usada en tarjetas del reporte para presentación amigable al supervisor.
DIVIDE(SUM(Fac_CallDetail[queue_time]), [Contestadas]). Promedio del tiempo de espera en cola para las llamadas respondidas. Indicador de agilidad del contact center.
Versión formateada de ASA SEG en formato de tiempo legible. Para elementos visuales tipo tarjeta o tabla de supervisión.
DIVIDE([Abandono], [Entrantes a la Cola]). Indica qué proporción de las personas que esperaron en cola desistieron antes de ser atendidas. Un valor alto señala problemas de capacidad o tiempo de espera excesivo.
DIVIDE(SUM(Fac_CallDetail[talk_time]), [Contestadas]). Tiempo de voz activa sin incluir hold ni ACW. Permite identificar eficiencia en la conversación.
DIVIDE(tiempo de manejo total entrante, tiempo total en sesión activa). Calculada desde Fac_AgentActivity. Valores >85% pueden indicar saturación del agente.
SUM o DIVIDE(SUM(hold_time), [Contestadas]) sobre Fac_CallDetail. Un hold elevado puede indicar que el agente necesita consultar información frecuentemente. Componente del AHT.
Basado en acw_time de Fac_CallDetail. El ACW es el período en que el agente no puede recibir otra llamada. Un ACW alto indica tipificaciones complejas o falta de automatización. Componente clave del AHT.
SUM(Fac_AgentActivity[duration]) filtrado por activity = "Ready". Tiempo en que el agente estuvo disponible para el ACD de BrightPattern sin estar en llamada ni en pausa.
SUM(Fac_AgentActivity[duration]) con el contexto de filtro activo sobre Dim_Actividad y/o Dim_Detalle. Permite analizar cuánto tiempo pasó cada agente en cualquier estado específico.
SUM de duration en Fac_AgentActivity donde el estado es cualquier tipo de pausa (Not Ready y sus sub-razones). Complementario al Tiempo Disponible para calcular Utilización.
COUNTROWS(Fac_AgentActivity) filtrado por estados AUX. Cada fila representa un evento de cambio de estado. Un número alto puede indicar fragmentación excesiva de pausas.
DIVIDE(SUM pausas en seg, 60). Complementa Utilización y permite evaluar si el tiempo de pausa está dentro de los parámetros operativos. Comparar con Meta Aux.
DIVIDE([Tiempo Productivo], [Tiempo Productivo] + [Tiempo Disponible]). Mide la eficiencia del agente. Valores >90% pueden generar desgaste. Basado en Fac_AgentActivity. Comparar con Meta Utilización.
SUM(talk_time) + SUM(hold_time) + SUM(acw_time) a nivel de agente desde Fac_CallDetail. Representa el esfuerzo directo del agente en atención al cliente.
Extrae el valor meta del nivel de servicio desde Parametros. Permite que el reporte sea dinámico sin modificar DAX directamente. Valor en porcentaje (ej: 0.85 = 85%). Se usa como línea de referencia y en el semáforo de CRC_Ribbon_Metas.
DIVIDE([Contestadas], [Meta Atendidas]). >100% = supera la meta; <100% = incumplimiento. Permite evaluar si el equipo logró atender el volumen mínimo esperado.
Valor de Parametros para la meta de atención. Define el mínimo de llamadas esperadas en el período.
DIVIDE([Utilización], [Meta Utilización]). Evalúa si el aprovechamiento del agente alcanza el objetivo configurado.
DIVIDE([Ocupación in], [Meta Ocupacion]).
Porcentaje de tiempo en llamada activa esperado durante la jornada del agente.
DIVIDE([Paciente Agendado], [Meta Paciente Agendados]). KPI estratégico del negocio INCS: mide si el call center cumple su objetivo principal de agendar citas médicas.
Valor de Parametros para el objetivo de agendamiento de citas médicas en el período.
DIVIDE([Meta TMO Seg], [AHT SEG]). Cuando el AHT real es menor a la meta, el cumplimiento >100% (favorable). Indica eficiencia en el tiempo de manejo.
DIVIDE([Total Minutos Aux], [Meta Aux]). Un cumplimiento >100% indica que el agente excedió su cuota de pausas.
Valor de Parametros para el máximo de minutos de pausas permitidas por agente.
Misma lógica que Meta Aux, puede representar granularidad o formato diferente (ej: segundos vs. minutos). Nota: "Auxliar" conserva el nombre original del modelo.
Máximo tiempo de manejo aceptable en segundos. Denominador de %Cumplimiento TMO y referencia para semáforos de KPI.
Versión legible de Meta TMO Seg convertida a formato de tiempo. Para mostrar junto al TMO IN real en tarjetas del dashboard.
Porcentaje mínimo de aprovechamiento esperado del agente. Denominador de % Cumple Utilización.
COUNTROWS(FILTER(Gestiones, [Estado Facturacion] = "Sí")). Cuenta las llamadas tipificadas con grupo válido, talk_time ≥ 10s, flujo EXTERNAL→INTERNAL y disposición terminal. Base de la facturación al cliente.
COUNTROWS(Gestiones) con filtros del contexto. Diferente a Contestadas porque no todas las llamadas contestadas tienen notas, y no todas las notas son facturables. El parser Power Query extrae campos como Categoría, Motivo, Detalle y Grupo del campo libre agent_disposition_notes.
DIVIDE([Contestadas], [Entrantes a la Cola]). Complementario a %Abandonadas. A diferencia del Nivel de Servicio no tiene en cuenta el umbral de tiempo.
Filtra Gestiones donde Grupo = "Grupo 1" o agent_disposition_name contiene "paciente agendado". Refleja el volumen de citas gestionadas. Numerador de %Cumplimiento Paciente Agendado.
Promedio de las calificaciones registradas de monitoreo de calidad o encuesta de satisfacción (CSAT). Permite identificar asesores con bajo desempeño para planes de mejora.
Medida dinámica que retorna el nombre o indicador del agente con mejor desempeño global: combina calidad, productividad y cumplimiento de metas.
SUM(Gestiones[Costo]). El campo Costo se calcula en Power Query con JOIN a RangoCostos según el Grupo. Solo las filas con Estado Facturacion = "Sí" tienen costo > 0. Permite calcular la facturación total al cliente.
Retorna siempre 1 (100%) sin importar el contexto de filtro. Se usa como porción base en barras 100% apiladas y medidores, mostrando el gap hasta el 100% como segunda capa visual.
MAX(Fac_CallDetail[start_time]) formateado. Indica hasta qué fecha están disponibles los datos. Permite al usuario saber si los datos están actualizados respecto a la fecha actual.
FORMAT(NOW(), "DD/MM/YYYY HH:MM") o similar. Indica cuándo se ejecutó el último proceso ETL, diferente a "Última Actualización BD" que cubre la cobertura temporal de los datos.
Genera código HTML dinámico con los KPIs principales del contact center. Requiere visual HTML Viewer (PowerHTML) en el reporte. Usa la paleta de colores INCS con tarjetas, iconos y formato premium.
Segunda cinta HTML enfocada en desempeño del agente individual. Misma tecnología que CRC_Ribbon_KPIs pero con otro conjunto de métricas operativas.
Tercera cinta HTML con los KPIs de resultado de negocio. Complementa las dos cintas anteriores mostrando agendamiento y facturación.
Genera HTML con indicadores de semáforo (verde/amarillo/rojo) para cada meta comparada contra el objetivo de Parametros. El color se determina comparando real vs. objetivo. Lectura ejecutiva del estado de la operación.
Barras de progreso HTML mostrando % de cada estado del equipo completo. Ideal para pantallas de monitoreo en tiempo real o dashboards ejecutivos del supervisor.
Versión individual de Ocupacion_General_HTML filtrada por el agente seleccionado. Para revisiones 1:1 de desempeño con el supervisor.
Igual lógica que Ocupacion_General_HTML pero con diseño condensado: texto más pequeño, sin márgenes amplios. Para páginas del reporte con múltiples visuales compitiendo por espacio.
DIVIDE(valor en seg, 3600). Transforma acumulados de tiempo a horas. Más intuitivo para supervisores al analizar jornadas completas.
DIVIDE(valor en seg, 60). Para tablas de detalle donde la granularidad de minutos es más apropiada.
SUM de la columna de tiempo relevante en segundos. Unidad nativa de BrightPattern. Base para conversiones a Horas y Minutos.
SUM(Fac_Conexion[duracion_sesion]). Suma de todas las sesiones de login del agente en el período. Diferente al tiempo en llamada: incluye todo el tiempo conectado al sistema (incluyendo tiempo disponible y pausas).
DIVIDE([Tiempo conexión], 3600). Para comparar con jornada estándar (8h) y calcular costo por hora de agente activo.
Retorna siempre 1 sin importar el contexto de filtro. Se emplea como porción base en barras 100% apiladas.