SQL Server - Problemas consultas, conteos, porcentajes

 
Vista:
sin imagen de perfil

Problemas consultas, conteos, porcentajes

Publicado por Esteban (4 intervenciones) el 08/09/2014 23:23:46
Hola Comunidad, gracias de antemano por su interés en la pregunta.

Tengo que realizar un proceso y no tengo idea de como hacerlo. Tengo una base de datos que tiene la identificación del consultor, la identificación del comprador, radicado de consulta y fecha de la consulta

La idea de la empresa es dar solución a preguntas de los compradores de seguros.

Si el comprador llama su primer vez, el consultor A, le brinda una solución, hasta ahí bien, luego el mismo comprador llama por segunda vez en menos de 1 mes, ya el Consultor A tiene esa consulta mala (Debió solucionar las inquietudes en la primera consultoria). entonces suponiendo que el consultor A realiza 100 Consultorias en un mes, y de esas 100, 30 vuelven a consultar, tengo una efectividad para el consultor del 70%. La empresa tiene 600 Consultores como genero estos dos reportes.

1- El listado de efectividad de todos los consultores.
2- El listado de cada consultoria que se repitió en la identificación del comprador.

De antemano mil gracias.

PD: Acudo a ustedes ya que he aprendido mucho y son colaborades con todos los que tenemos dudas. Gracias infinitas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 268
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problemas consultas, conteos, porcentajes

Publicado por Wilfredo Patricio Castillo (189 intervenciones) el 09/09/2014 18:25:57
Eso es muy simple, solo contar cuantas hizo al mes y cuantas se repitieron por cliente y listo, totalconsultas menos consultas malas y ya está.

para la 2
un simple select de todas las consultas hechas según el id del comprador dentro del rango de un determinado mes y ya.

Algo mas simple que eso?, no veo lo complicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Problemas consultas, conteos, porcentajes

Publicado por Andres (4 intervenciones) el 09/09/2014 21:40:12
No entiendo porque dices que es muy simple, si fuera solo conteos yo lo haría el problema es que el me debe validar primero si el cliente ha consultado mas de una vez, y si lo ha hecho verificar si es en el ultimo mes, y si es en el ultimo mes, marcar la consulta como mala al primer consultor y buena al ultimo consultor.

Que me puedes decir al respecto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problemas consultas, conteos, porcentajes

Publicado por Isaias (4558 intervenciones) el 12/09/2014 04:42:18
¿Cómo sabes que una consulta ha llegado a SOLUCIONARSE?

Entiendo que un COMPRADOR puede llamar "n" veces y que el CONSULTOR (no dices, si siempre lo atiende el mismo, supongo que si), llega un momento en que SOLUCIONA la CONSULTA, ¿Cómo lo sabes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas consultas, conteos, porcentajes

Publicado por Andres (4 intervenciones) el 12/09/2014 06:00:11
Hola a todos, cuando consultan, puede ser atendido por cualquier Consultor. Y se que soluciona, porque no se vuelve a consultar en el mes. Adjunto la respuesta a la solución para los que tengan algún problema parecido.

WITH Ta AS
(SELECT ROW_NUMBER() OVER(Partition BY Comprador ORDER BY Fecha) N,
*
FROM #T),
Tb AS
(SELECT T1.Consultor,
T1.Comprador,
T1.Fecha Fecha1,
T2.Fecha Fecha2,
CASE WHEN T2.Fecha IS NULL THEN 'Buena'
WHEN DateDiff(DAY,T1.Fecha,T2.Fecha)>=31 THEN 'Buena'
ELSE 'Mala'
END Calificacion
FROM Ta T1
LEFT JOIN Ta T2
ON T1.Comprador=T2.Comprador
AND T2.N=T1.N-1)
SELECT Consultor,
SUM(CASE WHEN Calificacion='Buena' THEN 1 ELSE 0 END) Buenas,
SUM(CASE WHEN Calificacion='Mala' THEN 1 ELSE 0 END) Malas,
COUNT(*) Total
FROM Tb
GROUP BY Consultor;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problemas consultas, conteos, porcentajes

Publicado por Isaias (4558 intervenciones) el 12/09/2014 17:58:06
Andres

Pues la forma de "cerrar" una consulta, no es la optima, imagina que un COMPRADOR llama el 28 o 29 del mes, ¿Qué pasa si vuelve a llamar el 2 o 3 del siguiente mes?

Eso no significa que en el mes anterior "se cerro"

Pero bueno, si a ti te sirve así, adelante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas consultas, conteos, porcentajes

Publicado por Andres (4 intervenciones) el 12/09/2014 19:20:39
Hola Isaias si te das cuenta en la consulta SQL, yo en nigun momento valido fechas por mes, sino que la diferencia es menor a 31 dias.
....

CASE WHEN T2.Fecha IS NULL THEN 'Buena'
WHEN DateDiff(DAY,T1.Fecha,T2.Fecha)>=31 THEN 'Buena'
ELSE 'Mala'

Y efectivamente esa es la idea, cuando me refiero en el mismo mes, no es en el nombre del mes sino en los próximos 30 dias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Problemas consultas, conteos, porcentajes

Publicado por Isaias (4558 intervenciones) el 15/09/2014 17:35:14
Entonces debo asumir que una LLAMADA, siempre debe ser cerrada en menos de 31 días????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar