2014-12-02 1 views
0

이 간단한 작업을 정렬하는 데 어려움이있었습니다. 나는 내가하고 싶은 것을 보여 줄 것이다. 보고서 작성기 매트릭스에서 상위 5 개 목록을 만들고 나머지는 "나머지"값을 집계하여 다른 이름으로 지정하려고합니다.매트릭스 보고서 집계에서 집계 된 나머지가있는 최상위 목록

지금까지 그룹 내 상위 5 개 목록을 작성하고 새 행을 추가하고 기타 값의 맨 아래 목록을 작성했습니다. 다른 값을 한 행에 집계 할 수 없습니다. 이것이 제가 도움이되고 싶습니다.

목록은 다음과 같을 수 있습니다 :

나라 값

USA_____10

Canada__9

Mexico___8

Spain____7

France___6

Germany__5

Italy______4

Greece___3

Norway___2

Total_____54

그리고이 같은 목록을 제시 하 고 싶습니다 :

나라 값

USA____10

Canada_9

Mexico__8

Spain___7

France__6

Other___14 *

Total____54

답변

0

확인이 SQL을 Statemen t : 검색어 사용자 정의

select ROW_NUMBER()over(order by Points desc)ID,* into #Tmp from 
(select 'USA'Country,10 Points 
union all 
select 'Canada',9 
union all 
select 'Mexico',8 
union all 
select 'Spain',7 
union all 
select 'France',6 
union all 
select 'Germany',5 
union all 
select 'Italy',4 
union all 
select 'Greece',3 
union all 
select 'Norway',2)P 

declare @min int=(select min(ID) from #Tmp), 
@max int=(select min(ID)+4 from #Tmp) 

--select * from #Tmp 
select 
     Case when ID between @min and @max then Cast(ID as varchar)+' '+Country else 'Others' end Sort, 
     Case when ID between @min and @max then Country else 'Others' end Country, 
     Sum(Cast(Points as numeric(18,2)))Points 
from #Tmp 
group by Case when ID between @min and @max then Cast(ID as varchar)+' '+Country else 'Others' end, 
     Case when ID between @min and @max then Country else 'Others' end 
order by Sort 

drop table #Tmp 
+0

안녕하세요 Manoj, 답장을 보내 주셔서 감사합니다. 훌륭한 해결책 이었지만, 불행히도 제가 찾고 있었던 것이 아닙니다. 내가 Tabular Cube를 쓰고 있다는 것을 잊어 버렸습니다. 필자는 Tablix에서 여러 가지 방법을 사용하고 그 중 하나를 기반으로 최상위 목록을 만든 다음 범주 필드에 Left 값을 Others로 그룹화하려고합니다. 나는 그것이 더 명확하고 또한 그것이 합리적이라는 것을 희망한다. 시간 내 줘서 고마워. Br – DJ8

관련 문제