2014-11-24 2 views
-1

담당자가 주당하는 아웃 바운드 전화 통화를 롤업하는 스크립트를 작성하려고합니다. 나는이 글에서 설명 된 스크립트를 따르고 있지만, 나는 이것에 대한 수많은 시도에 성공하지 못했다. SQL에서 주간 데이터를 롤업하는 방법

Dynamically create columns sql

나는 현재이 스크립트는 나에게 대표로 페이지를 추락 담당자의 목록을 제공

과 날짜를 weekending하여

그러나 내가 좋아하는 것이 무엇 위의 링크에로 (동적으로 weekending 열을 밖으로 성장하는 것입니다)를 입력하십시오. 내 스크립트입니다 : 조 11/15/14 21

존 통화

이름 Weekending 백작이에서

SELECT \t su.firstname, 
 
\t \t convert(date,DATEADD(dd, 7-(DATEPART(dw,min(fpc.actualend))), min(fpc.actualend)),101) 
 
\t \t \t as [Week Ending], 
 
\t \t count(*) as RowsPerWeek 
 
FROM dbo.FilteredPhoneCall fpc WITH (nolock) 
 
join dbo.FilteredSystemUser su 
 
\t on fpc.ownerid = systemuserid 
 
where actualend >= '2014-11-16' 
 
\t and fpc.directioncode = 1 
 
\t and su.parentsystemuseridname = 'Mark' 
 
GROUP BY su.firstname, datepart(week,fpc.actualend)

데이터로 반환됩니다 11/15/14 40

브렛 11/15/14 15

조 11/22/14 21

존 11/22/14 10

브렛 11/22/14 22

그러나 내가 찾고 있어요 이

이름 주 1 주 2 총

조 (21) (21) (42)

같은 결과

존 40 10 50

브레 15 22 37

일체의 도움을 크게 받고있다.

답변

0

이 시도 :

DECLARE @REPORTDATE DATE = '2014-11-16' 

SELECT 
firstname, 
ISNULL([0],0) AS WK00, 
ISNULL([1],0) AS WK01, 
ISNULL([2],0) AS WK02, 
ISNULL([3],0) AS WK03, 
ISNULL([4],0) AS WK04, 
ISNULL([0],0)+ISNULL([1],0)+ISNULL([2],0)+ISNULL([3],0)+ISNULL([4],0) AS TOTAL 
FROM 
(
SELECT 
    su.firstname, 
    DATEDIFF(WK,@REPORTDATE,fpc.actualend) AS WKS, 
    count(*) as RowsPerWeek 
FROM 
    dbo.FilteredPhoneCall fpc WITH (nolock) 
    join dbo.FilteredSystemUser su on fpc.ownerid = systemuserid 
where 
    actualend >= @REPORTDATE 
    and fpc.directioncode = 1 
    and su.parentsystemuseridname = 'Mark' 
GROUP BY 
    su.firstname, 
    DATEDIFF(WK,@REPORTDATE,fpc.actualend) 
) P PIVOT 
(
SUM(RowsPerWeek) FOR WKS IN ([0],[1],[2],[3],[4])) AS DATA 

보고서 기간이 지났 주 수 주위에 데이터를 보고서 일에서 주로 데이터를 변환 한 후 돌리십시오.

+0

이것은 실행되었지만 첫 주를 무시하는 것처럼 보입니다. 주 끝나는 주 11/22/14. 오늘 작성된 통화에 대해 WK01 열에 데이터가 있으며 지난 주에 작성된 통화는이 보고서에 표시되지 않습니다. 이에 대한 귀하의 빠른 답변에 감사드립니다. –

+0

내 나쁜, 시작 [0], [1] .... 그럼 트릭을해야합니다 –

+0

시작 데이터에서 불과 2 주간의 데이터가 필요한 경우 [2] ... [4] 질의의 상단과 하단 모두에 –

관련 문제