Hola GeriReshef, gracias por tu respuesta.
Lo he ensayado y no funciona pero se que la respuesta está cerca te explico:
la tabla puede contener los siguientes datos de ejemplo:
Código SQL:
Ver originalCREATE TABLE #T(Consultor CHAR(1),
Comprador CHAR(3),
Fecha DateTime);
CREATE Clustered INDEX Idx_#T ON #T(Consultor,Comprador,Fecha);
GO
INSERT
INTO #T
VALUES ('A','A1','20140101'), --buena
('A','A1','20140215'),
('A','A2','20140101'), --mala
('A','A2','20140115'),
('A','A3','20140101'), --buena
('B','B1','20140101'), --mala
('B','B1','20140110'),
('B','B2','20140101'), --mala
('B','A2','20140103'), -- Este muestra que el usuario A2 preguntó a un asesor distinto antes le habia consultado a A y esta vez le consulta a B, por ende está mala
('C','C1','20140101'), --buena
('C','A2','20140125'), --Este muestra nuevamente al usuario consultando por Tercera Vez a un consultor distinto. Es buena para el ultimo consultor, pero es mala para los otros dos consultores dentro del mes (30 días) ya que el cliente vuelve a llamar
('C','C1','20140401');
Un ejemplo claro como se realiza al dia de hoy en excel es:
Se ordena la BD por Cliente luego por Fecha. Se valida si el cliente es igual al del registro superior, si es correcto, se valida la fecha del registro actual con el registro anterior y si el resultado es menor a 30 dias, entonces es mala de lo contrario es buena. En excel se hace esta validación en una columna nueva. luego en una tabla dinamica se muestra el resultado del consultor, cuantas buenas y cuantas malas tiene. No se si me hago entender, de todos modos agradezco su ayuda.