Buenas a todos, bueno al fin realice una funcion que dice cuantos numero de 
por ejemplo Lunes hay en un rango de fechas.  
Código:
 
CREATE   FUNCTION [dbo].[FN_DIAS_WK] (@FECHAINI DATETIME,@FECHAFIN DATETIME,@DIAWK INT)
RETURNS INT
AS  
BEGIN  
  DECLARE @DIASWK INT
  DECLARE @FECHAPUNT DATETIME
  DECLARE @BAND TINYINT
  SET @BAND = 0 
  SET @DIASWK = 0	
  SET @FECHAPUNT = @FECHAINI
  WHILE @FECHAPUNT < @FECHAFIN
	BEGIN
     IF DATEPART(DW,@FECHAPUNT) <> @DIAWK AND @BAND = 0        
		SELECT @FECHAPUNT = DATEADD(DD,1,@FECHAPUNT)
	 IF DATEPART(DW,@FECHAPUNT) = @DIAWK AND @BAND = 0
		SET @BAND = 1
	 IF @BAND = 1
		BEGIN
			SELECT @FECHAPUNT = DATEADD(DD,7,@FECHAPUNT)
			SET @DIASWK = @DIASWK + 1
		END			
	 IF @FECHAPUNT > @FECHAFIN
		BREAK
	 ELSE CONTINUE
	END	
  RETURN @DIASWK  
END
  y ya en la consulta original la llamo y calculo el promedio de facturas por hora  
Código:
 
select count(*) facturas,datepart(dw,fechadocumento),datepart(hh,fechadocumento),
count(*)/basura.dbo.FN_DIAS_WK('20110101','20120101',
datepart(dw,fechadocumento))
from fct where idtransaccion = 'fcn'
and idsede = '01' 
and idventa = 'MOSTRADOR' and
fechadocumento > '20110101' and fechadocumento < '20120101' 
group by datepart(dw,fechadocumento),datepart(hh,fechadocumento)
order by 2,3
  Bueno ante todo gracias por la respuestas. 
espero que esto pueda ayudar a alguien mas adelante 
