-2
我有一个表,当前拥有基于区域>区域>群集>区域>段的销售数据。我需要的是基本上得到的结果可以显示在每个级别上的汇总。在TSQL中创建类似Pivot的Excel
select
TS.Cycle,
Segment,
Region,
Cluster,
Area,
TS.TargetDesc,
Sum(TS.Target) as TGT,
sum(A.Achivement) as ACH,
0 as [lvl]
from MST_TargetSetup TS
join MST_AchivementSetup A on
TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and
A.AchivementType='T' and
(cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by TS.TargetDesc, Area, Cluster, Region, Segment, TS.Cycle
上面的查询给我下面的输出:base output
现在作为输出什么,我需要的是在每个级别汇总该
- 段
- 地区
- 集群
- 区域
- TargetDesc
我尝试过使用下面的不同分组联盟,但它在顶部而不是每个级别的底部创建汇总。
select
TS.Cycle,Segment,Region,Cluster,Area,TS.TargetDesc, Sum(TS.Target) as TGT,sum(A.Achivement) as ACH from MST_TargetSetup TS
join MST_AchivementSetup A on TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and A.AchivementType='T' and (cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by TS.TargetDesc,Area,Cluster,Region,Segment,TS.Cycle
union
select
TS.Cycle,Segment,'' as Region,'' as Cluster,'' as Area,'' as TargetDesc, Sum(TS.Target) as TGT,sum(A.Achivement) as ACH from MST_TargetSetup TS
join MST_AchivementSetup A on TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and A.AchivementType='T' and (cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by Segment,TS.Cycle
union
select
TS.Cycle,Segment,Region,'' as Cluster,'' as Area,'' as TargetDesc, Sum(TS.Target) as TGT,sum(A.Achivement) as ACH from MST_TargetSetup TS
join MST_AchivementSetup A on TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and A.AchivementType='T' and (cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by Segment,Region,TS.Cycle
union
select
TS.Cycle,Segment,Region,cluster,'' as Area,'' as TargetDesc, Sum(TS.Target) as TGT,sum(A.Achivement) as ACH from MST_TargetSetup TS
join MST_AchivementSetup A on TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and A.AchivementType='T' and (cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by Segment,Region,cluster,TS.Cycle
union
select
TS.Cycle,Segment,Region,Cluster,Area,'' as TargetDesc, Sum(TS.Target) as TGT,sum(A.Achivement) as ACH from MST_TargetSetup TS
join MST_AchivementSetup A on TS.TargetDesc = A.AchivementDesc and Ts.TargetType='T' and A.AchivementType='T' and (cast(Ts.Month as varchar(5))+'-'+cast(Ts.Year as varchar(5)))=(cast(A.Month as varchar(5))+'-'+cast(A.Year as varchar(5)))
join MST_EmployeeMaster E on TS.TargetDesc=E.Terriory
Group by Segment,Region,Cluster,Area,TS.Cycle
如果看到上面的输出被汇总但工作作为期望它们示出在每个详细程度的顶部,而不是底部。
需要帮助做底部汇总。