`
javayestome
  • 浏览: 1007095 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

逐月对比的交叉表处理

阅读更多

/*--原帖地址:
http://community.csdn.net/Expert/topic/3841/3841808.xml?temp=.4308588
--*/

--测试数据
create table tb(year int,month int,No varchar(10),Name varchar(10),部门 varchar(10),工资 int)
insert tb select 2004,10,'A001','AAA','DDD',1000
union all select 2004,10,'B001','BBB','DDD',800
union all select 2004,11,'A001','AAA','DDD',1100
union all select 2004,11,'B001','BBB','DDD',1000
union all select 2004,12,'A001','AAA','DDD',1200
union all select 2004,12,'B001','BBB','DDD',1050

/*--处理要求

将月份做为字段,并且反应逐月的工资增幅,例如上面的数据要求结果如下,注意最小的年月是没有增幅的

No Name 部门 2004_10 2004_11 2004_11增幅 2004_12 2004_12增幅
------ ------ ------ --------- -------- ----------- --------- ------------
A001 AAA DDD 1000 1100 10.00% 1200 9.09%
B001 BBB DDD 800 1000 25.00% 1050 5.00%
--*/

go

--查询处理
declare @s nvarchar(4000),@i int
select @s='',@i=0
select @s=@s+','+quotename(fd)
+'=sum(case when a.year='+year
+' and a.month='+month
+' then a.工资 end)'
+case @i when 0 then ''
else ','+quotename(fd+'增幅')
+'=cast(cast(sum(case when a.year='+year
+' and a.month='+month
+' then a.工资-b.工资 end)*100.'
+'/sum(case when a.year='+year
+' and a.month='+month
+' then b.工资 end)'
+' as decimal(10,2)) as varchar)+''%'''
end,@i=@i+1
from(
select year=rtrim(year),month=rtrim(month),
fd=rtrim(year)+'_'+rtrim(month)
from tb group by year,month)a
exec('select a.No,a.Name,a.部门'+@s+'
from tb a
left join tb b on a.No=b.No and a.Name=b.Name and a.部门=b.部门
and a.year=b.year+(b.month)/12
and a.month=b.month%12+1
group by a.No,a.Name,a.部门')
go

--删除测试
drop table tb

分享到:
评论

相关推荐

    逐月代码,逐月代码,逐月代码

    逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码逐月代码,逐月代码,逐月代码

    逐日数据转逐月

    使用MATLAB实现日数据转化成月数据,MATLAB源代码。数据格式mat或者Excel读取到MATLAB的。

    2019年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2019年逐月 ...

    2016年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2016年逐月 ...

    2021年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2021年逐月 ...

    中国NPPVIIRS夜间灯光数据(2012-2021逐月)网盘获取.txt

    名称:中国NPP/VIIRS夜间灯光数据(2012-2021逐月) 区域范围:全国 时间范围:2012.1-2021.7逐月 ...中国区域NPP_VIIRS年度夜间灯光数据的合成方法与对比验证.pdf NPP_VIIRS年度夜间灯光数据的合成方法与验证.pdf

    榆林站2017逐月降水量.png

    榆林站2017逐月降水量,榆林站2017逐月降水量,榆林站2017逐月降水量,榆林站2017逐月降水量,榆林站2017逐月降水量,榆林站2017逐月降水量

    chuli_逐月读取秒级数据_

    matlab上一个小程序,可以逐月读取秒级数据,然后分月保存

    全国357个城市空气质量逐月.rar

    全国357个城市历年的空气质量数据(逐月),每一个城市有一个excel文件,一个是逐月(月均值)数据,数据起始时间为2015年01月01日,截止时间为2021年11月30日。 本人已经对数据校核过,保证真实准确,可直接使用。 ...

    精彩编程与编程技巧-VB编程逐月通...

    精彩编程与编程技巧-VB编程逐月通 ...

    MODIS 2020年逐月中国1km植被指数(NDVI)空间分布数据集

    经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到逐月1km的NDVI数据。 地区:中国 时间分辨率:逐月 空间分辨率:1km 投影坐标系:Albers conical equal area 椭球:WGS84 变形比例:1.0 中央经线:105 标准...

    全年逐月驾驶员安全学习记录文稿.doc

    全年逐月驾驶员安全学习记录文稿.doc

    MODIS 2022年逐月中国1km植被指数(NDVI)空间分布数据集.zip

    该植被指数数据来源于美国NASA定期发布的MODIS数据系列,原始数据集为MOD13A3。MOD13A3的空间分辨率为1km,时间分辨率为monthly。...下载数据版权归原作者所有,基于开放数据二次处理加工得到,仅供学习使用

    2017年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2017年逐月 ...

    2018年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2018年逐月 ...

    2020年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2020年逐月 ...

    2015年逐月天津250mNDVI栅格数据

    该逐月250m NDVI数据基于MOD13Q1产品利用最大合成法处理得到。原始数据产品经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到16d 250m的NDVI数据后,再利用最大合成法得到逐月的NDVI数据。 时间:2015年逐月 ...

    蒸散发数据的处理及空间分析建模的学习

    1.将蒸散发数据Ea_1982_2017_CR.nc导出为逐月的TIFF数据(共432个月) 2.将导出的逐月TIFF数据进行逐年求和,然后重采样为空间分辨率1km的栅格,裁剪出需要的区域,输出为逐年的TIFF数据。 3、空间分析建模的学习、...

    MODIS 2005年逐月中国1km植被指数(NDVI)空间分布数据集

    经过提取子数据集、拼接、投影栅格、换算单位、裁剪得到逐月1km的NDVI数据。 地区:中国 时间分辨率:逐月 空间分辨率:1km 投影坐标系:Albers conical equal area 椭球:WGS84 变形比例:1.0 中央经线:105 标准...

Global site tag (gtag.js) - Google Analytics